From 49108e67e2eaa68c0a2295f993c46b524b579eb5 Mon Sep 17 00:00:00 2001 From: besendorf Date: Wed, 2 Jul 2025 10:11:35 +0200 Subject: [PATCH 01/26] remove deprecated install_non_market_apps permission check --- src/mvt/android/artifacts/settings.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/mvt/android/artifacts/settings.py b/src/mvt/android/artifacts/settings.py index 06a261e..4649666 100644 --- a/src/mvt/android/artifacts/settings.py +++ b/src/mvt/android/artifacts/settings.py @@ -51,11 +51,6 @@ ANDROID_DANGEROUS_SETTINGS = [ "key": "send_action_app_error", "safe_value": "1", }, - { - "description": "enabled installation of non Google Play apps", - "key": "install_non_market_apps", - "safe_value": "0", - }, { "description": "enabled accessibility services", "key": "accessibility_enabled", From a125b20fc5a95cceba5460d668cce64a0a0bbb7a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Jul 2025 20:59:41 +0200 Subject: [PATCH 02/26] Bump pydantic from 2.11.5 to 2.11.7 (#651) Bumps [pydantic](https://github.com/pydantic/pydantic) from 2.11.5 to 2.11.7. - [Release notes](https://github.com/pydantic/pydantic/releases) - [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md) - [Commits](https://github.com/pydantic/pydantic/compare/v2.11.5...v2.11.7) --- updated-dependencies: - dependency-name: pydantic dependency-version: 2.11.7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index fac7311..2410dd1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,7 +33,7 @@ dependencies = [ "PyYAML>=6.0.2", "pyahocorasick==2.2.0", "betterproto==1.2.5", - "pydantic==2.11.5", + "pydantic==2.11.7", "pydantic-settings==2.9.1", "NSKeyedUnArchiver==1.5.2", "python-dateutil==2.9.0.post0", From ffe6ad2014115738316a8374516ca263d94d934b Mon Sep 17 00:00:00 2001 From: besendorf Date: Fri, 4 Jul 2025 15:29:36 +0200 Subject: [PATCH 03/26] initialise message_links in backup parser to fix sms module bug --- src/mvt/android/parsers/backup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mvt/android/parsers/backup.py b/src/mvt/android/parsers/backup.py index 7c49ded..105b4f2 100644 --- a/src/mvt/android/parsers/backup.py +++ b/src/mvt/android/parsers/backup.py @@ -231,6 +231,7 @@ def parse_sms_file(data): entry.pop("mms_body") body = entry.get("body", None) + message_links = None if body: message_links = check_for_links(entry["body"]) From 10915f250c26269ceef76f6f0f2d2d66559e03e9 Mon Sep 17 00:00:00 2001 From: besendorf Date: Fri, 4 Jul 2025 17:46:50 +0200 Subject: [PATCH 04/26] catch tcc error --- src/mvt/ios/modules/mixed/tcc.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/mvt/ios/modules/mixed/tcc.py b/src/mvt/ios/modules/mixed/tcc.py index 461e5b3..73d9aa1 100644 --- a/src/mvt/ios/modules/mixed/tcc.py +++ b/src/mvt/ios/modules/mixed/tcc.py @@ -116,13 +116,16 @@ class TCC(IOSExtraction): ) db_version = "v2" except sqlite3.OperationalError: - cur.execute( - """SELECT - service, client, client_type, allowed, - prompt_count - FROM access;""" - ) - db_version = "v1" + try: + cur.execute( + """SELECT + service, client, client_type, allowed, + prompt_count + FROM access;""" + ) + db_version = "v1" + except sqlite3.OperationalError as e: + self.log.error(f"Error parsing TCC database: {e}") for row in cur: service = row[0] From b691de2cc0307e9854b9689f6cd30832ac8c1c51 Mon Sep 17 00:00:00 2001 From: besendorf Date: Fri, 4 Jul 2025 17:52:05 +0200 Subject: [PATCH 05/26] catch sqlite exception in safari_browserstate.py --- .../ios/modules/mixed/safari_browserstate.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/mvt/ios/modules/mixed/safari_browserstate.py b/src/mvt/ios/modules/mixed/safari_browserstate.py index 616ea20..f97463d 100644 --- a/src/mvt/ios/modules/mixed/safari_browserstate.py +++ b/src/mvt/ios/modules/mixed/safari_browserstate.py @@ -95,14 +95,17 @@ class SafariBrowserState(IOSExtraction): ) except sqlite3.OperationalError: # Old version iOS <12 likely - cur.execute( + try: + cur.execute( + """ + SELECT + title, url, user_visible_url, last_viewed_time, session_data + FROM tabs + ORDER BY last_viewed_time; """ - SELECT - title, url, user_visible_url, last_viewed_time, session_data - FROM tabs - ORDER BY last_viewed_time; - """ - ) + ) + except sqlite3.OperationalError as e: + self.log.error(f"Error executing query: {e}") for row in cur: session_entries = [] From 1df61b5bbf54cb44d6ff156da229924deb836b0b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Jul 2025 21:03:08 +0200 Subject: [PATCH 06/26] Bump cryptography from 45.0.4 to 45.0.5 (#661) Bumps [cryptography](https://github.com/pyca/cryptography) from 45.0.4 to 45.0.5. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/45.0.4...45.0.5) --- updated-dependencies: - dependency-name: cryptography dependency-version: 45.0.5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 2410dd1..e535e6b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ dependencies = [ "iOSbackup==0.9.925", "adb-shell[usb]==0.4.4", "libusb1==3.3.1", - "cryptography==45.0.4", + "cryptography==45.0.5", "PyYAML>=6.0.2", "pyahocorasick==2.2.0", "betterproto==1.2.5", From 87034d2c7a1b877de72070e4e02953b13bda2a5a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 22:29:04 +0200 Subject: [PATCH 07/26] Bump mkdocs-material from 9.6.14 to 9.6.16 (#672) Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.14 to 9.6.16. - [Release notes](https://github.com/squidfunk/mkdocs-material/releases) - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG) - [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.14...9.6.16) --- updated-dependencies: - dependency-name: mkdocs-material dependency-version: 9.6.16 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index e3190d7..d46f0c1 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,5 +1,5 @@ mkdocs==1.6.1 mkdocs-autorefs==1.4.2 -mkdocs-material==9.6.14 +mkdocs-material==9.6.16 mkdocs-material-extensions==1.3.1 mkdocstrings==0.29.1 \ No newline at end of file From 0b003987299677348f34a6884570b09fd3818107 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 22:37:42 +0200 Subject: [PATCH 08/26] Bump rich from 14.0.0 to 14.1.0 (#670) Bumps [rich](https://github.com/Textualize/rich) from 14.0.0 to 14.1.0. - [Release notes](https://github.com/Textualize/rich/releases) - [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md) - [Commits](https://github.com/Textualize/rich/compare/v14.0.0...v14.1.0) --- updated-dependencies: - dependency-name: rich dependency-version: 14.1.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e535e6b..314dda5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,7 @@ classifiers = [ ] dependencies = [ "click==8.2.1", - "rich==14.0.0", + "rich==14.1.0", "tld==0.13.1", "requests==2.32.4", "simplejson==3.20.1", From dbe9e5db9b8b42926abd6c325cd8cab53291df3e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 22:42:37 +0200 Subject: [PATCH 09/26] Bump mkdocstrings from 0.29.1 to 0.30.0 (#671) Bumps [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) from 0.29.1 to 0.30.0. - [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases) - [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md) - [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.29.1...0.30.0) --- updated-dependencies: - dependency-name: mkdocstrings dependency-version: 0.30.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Tek --- docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index d46f0c1..c9fdd41 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -2,4 +2,4 @@ mkdocs==1.6.1 mkdocs-autorefs==1.4.2 mkdocs-material==9.6.16 mkdocs-material-extensions==1.3.1 -mkdocstrings==0.29.1 \ No newline at end of file +mkdocstrings==0.30.0 \ No newline at end of file From 4e120b26407354c2771466dfde3eae39c3b58c56 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 22:58:12 +0200 Subject: [PATCH 10/26] Bump pydantic-settings from 2.9.1 to 2.10.1 (#655) Bumps [pydantic-settings](https://github.com/pydantic/pydantic-settings) from 2.9.1 to 2.10.1. - [Release notes](https://github.com/pydantic/pydantic-settings/releases) - [Commits](https://github.com/pydantic/pydantic-settings/compare/v2.9.1...2.10.1) --- updated-dependencies: - dependency-name: pydantic-settings dependency-version: 2.10.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 314dda5..fd569a4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,7 +34,7 @@ dependencies = [ "pyahocorasick==2.2.0", "betterproto==1.2.5", "pydantic==2.11.7", - "pydantic-settings==2.9.1", + "pydantic-settings==2.10.1", "NSKeyedUnArchiver==1.5.2", "python-dateutil==2.9.0.post0", ] From 7d0be9db4f9d86eb5bf86c5c406806bb9dcd5bc2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 31 Jul 2025 13:20:34 +0200 Subject: [PATCH 11/26] Add new iOS versions and build numbers (#673) Co-authored-by: DonnchaC --- src/mvt/ios/data/ios_versions.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/mvt/ios/data/ios_versions.json b/src/mvt/ios/data/ios_versions.json index a373595..6872911 100644 --- a/src/mvt/ios/data/ios_versions.json +++ b/src/mvt/ios/data/ios_versions.json @@ -1131,5 +1131,9 @@ { "version": "18.5", "build": "22F76" + }, + { + "version": "18.6", + "build": "22G86" } ] \ No newline at end of file From 86a0772eb25a47811f20473e04e44a61a8e63e41 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 10:38:19 +0200 Subject: [PATCH 12/26] Bump cryptography from 45.0.5 to 45.0.6 (#675) Bumps [cryptography](https://github.com/pyca/cryptography) from 45.0.5 to 45.0.6. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/45.0.5...45.0.6) --- updated-dependencies: - dependency-name: cryptography dependency-version: 45.0.6 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index fd569a4..3b3ca76 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ dependencies = [ "iOSbackup==0.9.925", "adb-shell[usb]==0.4.4", "libusb1==3.3.1", - "cryptography==45.0.5", + "cryptography==45.0.6", "PyYAML>=6.0.2", "pyahocorasick==2.2.0", "betterproto==1.2.5", From 847b0e087b54e61801fa0dcbd745f9618cad5f39 Mon Sep 17 00:00:00 2001 From: Tek Date: Wed, 20 Aug 2025 11:10:20 +0200 Subject: [PATCH 13/26] Adds iOS 18.6.1 (#681) --- src/mvt/ios/data/ios_versions.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mvt/ios/data/ios_versions.json b/src/mvt/ios/data/ios_versions.json index 6872911..32b2aae 100644 --- a/src/mvt/ios/data/ios_versions.json +++ b/src/mvt/ios/data/ios_versions.json @@ -1135,5 +1135,9 @@ { "version": "18.6", "build": "22G86" + }, + { + "version": "18.6.1", + "build": "22G90" } -] \ No newline at end of file +] From 616e870212639b8849b5bffbb6561ef2af5c7e9e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Aug 2025 11:13:59 +0200 Subject: [PATCH 14/26] Bump mkdocs-material from 9.6.16 to 9.6.17 (#678) Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.16 to 9.6.17. - [Release notes](https://github.com/squidfunk/mkdocs-material/releases) - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG) - [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.16...9.6.17) --- updated-dependencies: - dependency-name: mkdocs-material dependency-version: 9.6.17 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Tek --- docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index c9fdd41..bffe5ee 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,5 +1,5 @@ mkdocs==1.6.1 mkdocs-autorefs==1.4.2 -mkdocs-material==9.6.16 +mkdocs-material==9.6.17 mkdocs-material-extensions==1.3.1 mkdocstrings==0.30.0 \ No newline at end of file From b723ebf28e08f9e1ba12e378ab91e2bdc07b5add Mon Sep 17 00:00:00 2001 From: besendorf Date: Thu, 21 Aug 2025 16:10:03 +0200 Subject: [PATCH 15/26] move test dependencies to dev dependency group (#679) --- Makefile | 2 +- pyproject.toml | 51 ++++++++++++++++++++++++------------------- test-requirements.txt | 9 -------- 3 files changed, 30 insertions(+), 32 deletions(-) delete mode 100644 test-requirements.txt diff --git a/Makefile b/Makefile index 1d5c384..16bde09 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ install: python3 -m pip install --upgrade -e . test-requirements: - python3 -m pip install --upgrade -r test-requirements.txt + python3 -m pip install --upgrade --group dev generate-proto-parsers: # Generate python parsers for protobuf files diff --git a/pyproject.toml b/pyproject.toml index 3b3ca76..cb7911b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,13 +1,11 @@ [project] name = "mvt" dynamic = ["version"] -authors = [ - {name = "Claudio Guarnieri", email = "nex@nex.sx"} -] +authors = [{ name = "Claudio Guarnieri", email = "nex@nex.sx" }] maintainers = [ - {name = "Etienne Maynier", email = "tek@randhome.io"}, - {name = "Donncha Ó Cearbhaill", email = "donncha.ocearbhaill@amnesty.org"}, - {name = "Rory Flynn", email = "rory.flynn@amnesty.org"} + { name = "Etienne Maynier", email = "tek@randhome.io" }, + { name = "Donncha Ó Cearbhaill", email = "donncha.ocearbhaill@amnesty.org" }, + { name = "Rory Flynn", email = "rory.flynn@amnesty.org" }, ] description = "Mobile Verification Toolkit" readme = "README.md" @@ -16,7 +14,7 @@ classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Information Technology", "Operating System :: OS Independent", - "Programming Language :: Python" + "Programming Language :: Python", ] dependencies = [ "click==8.2.1", @@ -45,20 +43,31 @@ homepage = "https://docs.mvt.re/en/latest/" repository = "https://github.com/mvt-project/mvt" [project.scripts] - mvt-ios = "mvt.ios:cli" - mvt-android = "mvt.android:cli" +mvt-ios = "mvt.ios:cli" +mvt-android = "mvt.android:cli" + +[dependency-groups] +dev = [ + "requests>=2.31.0", + "pytest>=7.4.3", + "pytest-cov>=4.1.0", + "pytest-github-actions-annotate-failures>=0.2.0", + "pytest-mock>=3.14.0", + "stix2>=3.0.1", + "ruff>=0.1.6", + "mypy>=1.7.1", + "betterproto[compiler]", +] [build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [tool.coverage.run] -omit = [ - "tests/*", -] +omit = ["tests/*"] [tool.coverage.html] -directory= "htmlcov" +directory = "htmlcov" [tool.mypy] install_types = true @@ -68,15 +77,13 @@ packages = "src" [tool.pytest.ini_options] addopts = "-ra -q --cov=mvt --cov-report html --junitxml=pytest.xml --cov-report=term-missing:skip-covered" -testpaths = [ - "tests" -] +testpaths = ["tests"] [tool.ruff.lint] -select = ["C90", "E", "F", "W"] # flake8 default set +select = ["C90", "E", "F", "W"] # flake8 default set ignore = [ - "E501", # don't enforce line length violations - "C901", # complex-structure + "E501", # don't enforce line length violations + "C901", # complex-structure # These were previously ignored but don't seem to be required: # "E265", # no-space-after-block-comment @@ -88,14 +95,14 @@ ignore = [ ] [tool.ruff.lint.per-file-ignores] -"__init__.py" = ["F401"] # unused-import +"__init__.py" = ["F401"] # unused-import [tool.ruff.lint.mccabe] max-complexity = 10 [tool.setuptools] include-package-data = true -package-dir = {"" = "src"} +package-dir = { "" = "src" } [tool.setuptools.packages.find] where = ["src"] @@ -104,4 +111,4 @@ where = ["src"] mvt = ["ios/data/*.json"] [tool.setuptools.dynamic] -version = {attr = "mvt.common.version.MVT_VERSION"} +version = { attr = "mvt.common.version.MVT_VERSION" } diff --git a/test-requirements.txt b/test-requirements.txt deleted file mode 100644 index 57652da..0000000 --- a/test-requirements.txt +++ /dev/null @@ -1,9 +0,0 @@ -requests>=2.31.0 -pytest>=7.4.3 -pytest-cov>=4.1.0 -pytest-github-actions-annotate-failures>=0.2.0 -pytest-mock>=3.14.0 -stix2>=3.0.1 -ruff>=0.1.6 -mypy>=1.7.1 -betterproto[compiler] \ No newline at end of file From 5babc1fcf3dbbc3e4008d4cf14e73844cb7ce7ed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 26 Aug 2025 11:25:22 +0200 Subject: [PATCH 16/26] Bump mkdocs-material from 9.6.17 to 9.6.18 (#683) Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.17 to 9.6.18. - [Release notes](https://github.com/squidfunk/mkdocs-material/releases) - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG) - [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.17...9.6.18) --- updated-dependencies: - dependency-name: mkdocs-material dependency-version: 9.6.18 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index bffe5ee..d79db54 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,5 +1,5 @@ mkdocs==1.6.1 mkdocs-autorefs==1.4.2 -mkdocs-material==9.6.17 +mkdocs-material==9.6.18 mkdocs-material-extensions==1.3.1 mkdocstrings==0.30.0 \ No newline at end of file From f75b8e186a8341fc7884e4b6dc79e3649aef8f59 Mon Sep 17 00:00:00 2001 From: r-tx <138887278+r-tx@users.noreply.github.com> Date: Tue, 26 Aug 2025 12:52:55 +0100 Subject: [PATCH 17/26] add iOS 18.6.2 (#682) * iOS 18.6.2 * iOS 18.6.2 --------- Co-authored-by: r-tx Co-authored-by: Tek --- src/mvt/ios/data/ios_versions.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/mvt/ios/data/ios_versions.json b/src/mvt/ios/data/ios_versions.json index 32b2aae..b52fa00 100644 --- a/src/mvt/ios/data/ios_versions.json +++ b/src/mvt/ios/data/ios_versions.json @@ -1139,5 +1139,9 @@ { "version": "18.6.1", "build": "22G90" + }, + { + "version": "18.6.2", + "build": "22G100" } ] From 88213e12c9b43cdc939c094480e854195123ea22 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Sep 2025 18:30:36 +0200 Subject: [PATCH 18/26] Bump mkdocs-autorefs from 1.4.2 to 1.4.3 (#686) Bumps [mkdocs-autorefs](https://github.com/mkdocstrings/autorefs) from 1.4.2 to 1.4.3. - [Release notes](https://github.com/mkdocstrings/autorefs/releases) - [Changelog](https://github.com/mkdocstrings/autorefs/blob/main/CHANGELOG.md) - [Commits](https://github.com/mkdocstrings/autorefs/compare/1.4.2...1.4.3) --- updated-dependencies: - dependency-name: mkdocs-autorefs dependency-version: 1.4.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index d79db54..cd22035 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,5 +1,5 @@ mkdocs==1.6.1 -mkdocs-autorefs==1.4.2 +mkdocs-autorefs==1.4.3 mkdocs-material==9.6.18 mkdocs-material-extensions==1.3.1 mkdocstrings==0.30.0 \ No newline at end of file From b4a8dd226aca415c2730176f84faeba78c42d38f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 19:40:29 +0200 Subject: [PATCH 19/26] Bump mkdocs-material from 9.6.18 to 9.6.20 (#691) Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.18 to 9.6.20. - [Release notes](https://github.com/squidfunk/mkdocs-material/releases) - [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG) - [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.18...9.6.20) --- updated-dependencies: - dependency-name: mkdocs-material dependency-version: 9.6.20 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index cd22035..14f238b 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,5 +1,5 @@ mkdocs==1.6.1 mkdocs-autorefs==1.4.3 -mkdocs-material==9.6.18 +mkdocs-material==9.6.20 mkdocs-material-extensions==1.3.1 mkdocstrings==0.30.0 \ No newline at end of file From 91c34e666427f70e542502cab99ec889643a74b3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Sep 2025 20:13:40 +0200 Subject: [PATCH 20/26] Add new iOS versions and build numbers (#692) Co-authored-by: DonnchaC --- src/mvt/ios/data/ios_versions.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mvt/ios/data/ios_versions.json b/src/mvt/ios/data/ios_versions.json index b52fa00..25344a0 100644 --- a/src/mvt/ios/data/ios_versions.json +++ b/src/mvt/ios/data/ios_versions.json @@ -1143,5 +1143,9 @@ { "version": "18.6.2", "build": "22G100" + }, + { + "version": "26", + "build": "23A341" } -] +] \ No newline at end of file From f020655a1af318ebea39dc22d2f9c8c4f636ff27 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 16 Sep 2025 15:52:32 +0200 Subject: [PATCH 21/26] Add new iOS versions and build numbers (#693) Co-authored-by: DonnchaC --- src/mvt/ios/data/ios_versions.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/mvt/ios/data/ios_versions.json b/src/mvt/ios/data/ios_versions.json index 25344a0..c3f2288 100644 --- a/src/mvt/ios/data/ios_versions.json +++ b/src/mvt/ios/data/ios_versions.json @@ -895,6 +895,10 @@ "version": "15.8.4", "build": "19H390" }, + { + "version": "15.8.5", + "build": "19H394" + }, { "build": "20A362", "version": "16.0" @@ -1000,6 +1004,10 @@ "version": "16.7.11", "build": "20H360" }, + { + "version": "16.7.12", + "build": "20H364" + }, { "version": "17.0", "build": "21A327" @@ -1144,6 +1152,10 @@ "version": "18.6.2", "build": "22G100" }, + { + "version": "18.7", + "build": "22H20" + }, { "version": "26", "build": "23A341" From 0778d448dfb566216a45417318a8da29c3130a10 Mon Sep 17 00:00:00 2001 From: besendorf Date: Fri, 19 Sep 2025 07:31:17 +0200 Subject: [PATCH 22/26] make virustotal check also work with androidqf extractions (#685) --- src/mvt/android/modules/adb/packages.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/mvt/android/modules/adb/packages.py b/src/mvt/android/modules/adb/packages.py index 1d9c821..421ac88 100644 --- a/src/mvt/android/modules/adb/packages.py +++ b/src/mvt/android/modules/adb/packages.py @@ -107,8 +107,7 @@ class Packages(AndroidExtraction): result["matched_indicator"] = ioc self.detected.append(result) - @staticmethod - def check_virustotal(packages: list) -> None: + def check_virustotal(self, packages: list) -> None: hashes = [] for package in packages: for file in package.get("files", []): @@ -143,8 +142,15 @@ class Packages(AndroidExtraction): for package in packages: for file in package.get("files", []): - row = [package["package_name"], file["path"]] - + if "package_name" in package: + row = [package["package_name"], file["path"]] + elif "name" in package: + row = [package["name"], file["path"]] + else: + self.log.error( + f"Package {package} has no name or package_name. packages.json or apks.json is malformed" + ) + continue if file["sha256"] in detections: detection = detections[file["sha256"]] positives = detection.split("/")[0] From 62b880fbff942aab2b3ac979db66a5f7491c01ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Sep 2025 20:03:04 +0200 Subject: [PATCH 23/26] Bump mkdocstrings from 0.30.0 to 0.30.1 (#697) Bumps [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) from 0.30.0 to 0.30.1. - [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases) - [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md) - [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.30.0...0.30.1) --- updated-dependencies: - dependency-name: mkdocstrings dependency-version: 0.30.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index 14f238b..e6c51bb 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -2,4 +2,4 @@ mkdocs==1.6.1 mkdocs-autorefs==1.4.3 mkdocs-material==9.6.20 mkdocs-material-extensions==1.3.1 -mkdocstrings==0.30.0 \ No newline at end of file +mkdocstrings==0.30.1 \ No newline at end of file From b8a42eaf8f7e3650755975e3e4193f24c592a870 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 29 Sep 2025 20:42:12 +0200 Subject: [PATCH 24/26] Add new iOS versions and build numbers (#698) Co-authored-by: DonnchaC --- src/mvt/ios/data/ios_versions.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/mvt/ios/data/ios_versions.json b/src/mvt/ios/data/ios_versions.json index c3f2288..c5f801f 100644 --- a/src/mvt/ios/data/ios_versions.json +++ b/src/mvt/ios/data/ios_versions.json @@ -1159,5 +1159,9 @@ { "version": "26", "build": "23A341" + }, + { + "version": "26.0.1", + "build": "23A355" } ] \ No newline at end of file From d3cc8cf590fdf0de5f8b9d28c7295298ec32dda9 Mon Sep 17 00:00:00 2001 From: besendorf Date: Sun, 5 Oct 2025 13:29:54 +0200 Subject: [PATCH 25/26] Add tzdata dependency (#700) * Add tzdata dependency * fix tzdata name --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index cb7911b..c23f83e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,6 +35,7 @@ dependencies = [ "pydantic-settings==2.10.1", "NSKeyedUnArchiver==1.5.2", "python-dateutil==2.9.0.post0", + "tzdata==2025.2", ] requires-python = ">= 3.10" From 779842567d1abeb7b912977fd8562962893f97b4 Mon Sep 17 00:00:00 2001 From: besendorf Date: Thu, 9 Oct 2025 11:28:47 +0200 Subject: [PATCH 26/26] Make revision field a string in TombstoneCrash model to fix error where (#702) there were characters in the revision field --- src/mvt/android/artifacts/tombstone_crashes.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mvt/android/artifacts/tombstone_crashes.py b/src/mvt/android/artifacts/tombstone_crashes.py index f9f4531..5193ff8 100644 --- a/src/mvt/android/artifacts/tombstone_crashes.py +++ b/src/mvt/android/artifacts/tombstone_crashes.py @@ -53,7 +53,7 @@ class TombstoneCrashResult(pydantic.BaseModel): file_name: str file_timestamp: str # We store the timestamp as a string to avoid timezone issues build_fingerprint: str - revision: int + revision: str arch: Optional[str] = None timestamp: str # We store the timestamp as a string to avoid timezone issues process_uptime: Optional[int] = None @@ -187,7 +187,7 @@ class TombstoneCrashArtifact(AndroidArtifact): raise ValueError(f"Expected key {key}, got {line_key}") value_clean = value.strip().strip("'") - if destination_key in ["uid", "revision"]: + if destination_key == "uid": tombstone[destination_key] = int(value_clean) elif destination_key == "process_uptime": # eg. "Process uptime: 40s"