diff --git a/mobsf/MobSF/init.py b/mobsf/MobSF/init.py index 0d331b83..267162c7 100644 --- a/mobsf/MobSF/init.py +++ b/mobsf/MobSF/init.py @@ -10,7 +10,7 @@ from mobsf.install.windows.setup import windows_config_local logger = logging.getLogger(__name__) -VERSION = '3.9.0' +VERSION = '3.9.1' BANNER = """ __ __ _ ____ _____ _____ ___ | \/ | ___ | |__/ ___|| ___|_ _|___ // _ \ diff --git a/mobsf/MobSF/urls.py b/mobsf/MobSF/urls.py index 87faf164..129f4cbf 100755 --- a/mobsf/MobSF/urls.py +++ b/mobsf/MobSF/urls.py @@ -284,13 +284,13 @@ if settings.API_ONLY == '0': re_path(r'^ios/system_logs/$', instance.system_logs, name='ios_system_logs'), - re_path(r'^ios/download_data/(?P([\w]*\.)+[\w-]{2,155})$', + re_path(r'^ios/download_data/(?P([\w-]*\.)+[\w-]{2,155})$', instance.download_data, name='ios_download_data'), re_path(r'^ios/instrument/$', ios_tests_frida.ios_instrument, name='ios_instrument'), - re_path(r'^ios/view_report/(?P([\w]*\.)+[\w-]{2,155})$', + re_path(r'^ios/view_report/(?P([\w-]*\.)+[\w-]{2,155})$', ios_view_report.ios_view_report, name='ios_view_report'), diff --git a/mobsf/MobSF/utils.py b/mobsf/MobSF/utils.py index 7b4dd8f6..e9bf4ea5 100755 --- a/mobsf/MobSF/utils.py +++ b/mobsf/MobSF/utils.py @@ -635,7 +635,7 @@ def strict_package_check(user_input): For android package and ios bundle id """ - pat = re.compile(r'^([\w]*\.)+[\w-]{2,155}$') + pat = re.compile(r'^([\w-]*\.)+[\w-]{2,155}$') resp = re.match(pat, user_input) if not resp or '..' in user_input: logger.error('Invalid package name/bundle id/class name') diff --git a/mobsf/StaticAnalyzer/views/android/rules/android_permissions.yaml b/mobsf/StaticAnalyzer/views/android/rules/android_permissions.yaml index 8747daa5..5ec0593a 100644 --- a/mobsf/StaticAnalyzer/views/android/rules/android_permissions.yaml +++ b/mobsf/StaticAnalyzer/views/android/rules/android_permissions.yaml @@ -690,6 +690,8 @@ - getLastKnownLocation\( - getBestProvider\( - sendExtraCommand\( + - Manifest\.permission\.ACCESS_FINE_LOCATION + - Context\.LOCATION_SERVICE input_case: exact severity: info - id: android.permission.ACCESS_LOCATION_EXTRA_COMMANDS diff --git a/poetry.lock b/poetry.lock index 6045c2c7..719be62d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -770,13 +770,13 @@ files = [ [[package]] name = "distro" -version = "1.8.0" +version = "1.9.0" description = "Distro - an OS platform information API" optional = false python-versions = ">=3.6" files = [ - {file = "distro-1.8.0-py3-none-any.whl", hash = "sha256:99522ca3e365cac527b44bde033f64c6945d90eb9f769703caaec52b09bbd3ff"}, - {file = "distro-1.8.0.tar.gz", hash = "sha256:02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8"}, + {file = "distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2"}, + {file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"}, ] [[package]] @@ -946,20 +946,20 @@ woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] [[package]] name = "frida" -version = "16.1.8" +version = "16.1.10" description = "Dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers" optional = false python-versions = ">=3.7" files = [ - {file = "frida-16.1.8-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fe063b49bed3dec5471fbecd1e92e9a478eaeb555e174e3ea3bcf28f0264f9bf"}, - {file = "frida-16.1.8-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:34020a4c0f4086cec69f0792bc15e9e5ed22e34069194c26fb3a362244181374"}, - {file = "frida-16.1.8-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6a167e57dc96e967b5b46df07b6ebb9f16ec5d9c72eaefda27f1c124428bb4f"}, - {file = "frida-16.1.8-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7ba40604e2715cb32e0bd902ce557bff54f60d075da5f0ac29d970411a974717"}, - {file = "frida-16.1.8-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e4dfc51d1669821c819f6d7ae661005a52d0848409d40fa70761d85db5fc0695"}, - {file = "frida-16.1.8-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:714747b913dc898927a027115fdcdfae90e868b9167c3b39670eb40595e7d39a"}, - {file = "frida-16.1.8-cp37-abi3-win32.whl", hash = "sha256:be81753b8d74b994f46071173a87f1f5caf1a8313f79da71c887537cc864dccb"}, - {file = "frida-16.1.8-cp37-abi3-win_amd64.whl", hash = "sha256:91b88d46a5c252722cc4db450f9d788a49f83539732a5b14b32749b3df4ad7c3"}, - {file = "frida-16.1.8.tar.gz", hash = "sha256:dc4118f48c5e1b2241eee7d53ab836d42636c511fbf2f8f8b2dcab133421d09d"}, + {file = "frida-16.1.10-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:bb9f4ac84b7e454a0de8ad044ba447f3691c4957886b96af03e72de552c1fa7e"}, + {file = "frida-16.1.10-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:314d5f9e8724a8cf780411aa91307419c7c328dc90e5c15109a9f27479269242"}, + {file = "frida-16.1.10-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd9fdd9cb8ce9f7f525482cdb65aaaeea571650307a606172dfcec2d328dc8f8"}, + {file = "frida-16.1.10-cp37-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:281ac1af6c9e0b24e9ed31afe7cee84f76007c1a6c788f3545548068870a6de5"}, + {file = "frida-16.1.10-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9673f02b74670273443513e4453ed29bfbd979b1a8cb83423730e38d61857b45"}, + {file = "frida-16.1.10-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:b5931bd46236575d7d6e9e3f2c44fa3a839a3be6be69bb3d27b2ae03606fa48c"}, + {file = "frida-16.1.10-cp37-abi3-win32.whl", hash = "sha256:fd6887e7327abaf9a7c4afbfd5c793d429001c2307b6d9179bea7f7414ff6859"}, + {file = "frida-16.1.10-cp37-abi3-win_amd64.whl", hash = "sha256:dd674178d15037af013265cddaed665d1011d0dbb1d5ec2a8b3eebcc796ce6ec"}, + {file = "frida-16.1.10.tar.gz", hash = "sha256:d9715d262791803df4091838b661e0a7c8b63466462eb055ce4f3b2b04df5807"}, ] [package.dependencies] @@ -1117,13 +1117,13 @@ files = [ [[package]] name = "ipython" -version = "8.18.1" +version = "8.19.0" description = "IPython: Productive Interactive Computing" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397"}, - {file = "ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27"}, + {file = "ipython-8.19.0-py3-none-any.whl", hash = "sha256:2f55d59370f59d0d2b2212109fe0e6035cfea436b1c0e6150ad2244746272ec5"}, + {file = "ipython-8.19.0.tar.gz", hash = "sha256:ac4da4ecf0042fb4e0ce57c60430c2db3c719fa8bdf92f8631d6bd8a5785d1f0"}, ] [package.dependencies] @@ -1139,17 +1139,17 @@ stack-data = "*" traitlets = ">=5" [package.extras] -all = ["black", "curio", "docrepr", "exceptiongroup", "ipykernel", "ipyparallel", "ipywidgets", "matplotlib", "matplotlib (!=3.2.0)", "nbconvert", "nbformat", "notebook", "numpy (>=1.22)", "pandas", "pickleshare", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio (<0.22)", "qtconsole", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "trio", "typing-extensions"] +all = ["black", "curio", "docrepr", "exceptiongroup", "ipykernel", "ipyparallel", "ipywidgets", "matplotlib", "matplotlib (!=3.2.0)", "nbconvert", "nbformat", "notebook", "numpy (>=1.23)", "pandas", "pickleshare", "pytest", "pytest-asyncio (<0.22)", "qtconsole", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "trio", "typing-extensions"] black = ["black"] -doc = ["docrepr", "exceptiongroup", "ipykernel", "matplotlib", "pickleshare", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio (<0.22)", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "typing-extensions"] +doc = ["docrepr", "exceptiongroup", "ipykernel", "matplotlib", "pickleshare", "pytest", "pytest-asyncio (<0.22)", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "typing-extensions"] kernel = ["ipykernel"] nbconvert = ["nbconvert"] nbformat = ["nbformat"] notebook = ["ipywidgets", "notebook"] parallel = ["ipyparallel"] qtconsole = ["qtconsole"] -test = ["pickleshare", "pytest (<7.1)", "pytest-asyncio (<0.22)", "testpath"] -test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.22)", "pandas", "pickleshare", "pytest (<7.1)", "pytest-asyncio (<0.22)", "testpath", "trio"] +test = ["pickleshare", "pytest", "pytest-asyncio (<0.22)", "testpath"] +test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.23)", "pandas", "pickleshare", "pytest", "pytest-asyncio (<0.22)", "testpath", "trio"] [[package]] name = "itsdangerous" diff --git a/pyproject.toml b/pyproject.toml index 467a9ae5..ffd1a101 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "mobsf" -version = "3.9.0" +version = "3.9.1" description = "Mobile Security Framework (MobSF) is an automated, all-in-one mobile application (Android/iOS/Windows) pen-testing, malware analysis and security assessment framework capable of performing static and dynamic analysis." keywords = ["mobsf", "mobile security framework", "mobile security", "security tool", "static analysis", "dynamic analysis", "malware analysis"] authors = ["Ajin Abraham "]