Commit Graph

46 Commits

Author SHA1 Message Date
besendorf c2b0b6db28 Revise breaking changes notice in README (#784)
Updated warning about breaking changes after merging the v3 branch.
2026-05-03 15:08:51 +02:00
besendorf c782d79974 V3 (#716)
* Run bugreport and backup modules during check-androidqf

Adding support to automatically run ADB backup and bugreport modules
automatically when running the check-androidqf command. This is a first
step to deduplicate the code for Android modules.

* Deduplicate modules which are run by the sub-commands.

* Raise the proper NoAndroidQFBackup exception when a back-up isn't found

* Remove check-adb command and update docs

* Remove check-apk code and old dependencies

* Major refactor to add structured alerting and typed indicators

This commit makes a structural change to MVT by changing binary
detected/not detected logic into a structured multi-level system
of alerts. This gives far more power to extend MVT and manage
alerts.

This commit also begins the process of adding proper typing for
key objects used in MVT including Indicators, IndicatorMatches,
and ModuleResults. This will also be keep to programmatically using
the output of MVT.

* Fix up, remove ADB module base

* Rework old detections tracking into stuctured alert levels

* Quote STIX path in log line

* Fix profile events log line

* Close open archive (zip/tar) file handles

* Fix root_binaries and mounts modules to use alertstore

* Update tests to use alertstore instead of detected attribute

* Fix alertstore method calls - use high() instead of warning()

* Fix remaining test errors

- Add log_latest() call in root_binaries to log each alert
- Fix UnboundLocalError in cmd_check_androidqf by initializing bugreport variable
- Remove incorrect backup.close() call since load_backup() returns bytes
- Remove duplicate from_ab method in cmd_check_backup that was using old attributes

* Log alerts on add

* Remove slug from alertstore calls

* update alerts.py

* update alerts.py

* move indicator_match to alert object

* .

* - Remove timeline_detected and route to alertstore

* fix typing for mypy

* Remove unused type imports

* Fix check_receiver_prefix and check_android_property_name

- check_receiver_prefix() used dict syntax (ioc["value"]) on Indicator
  dataclass objects from get_iocs(). Changed to ioc.value/ioc.name.
- check_receiver_prefix() returned raw ioc instead of IndicatorMatch.
  Now returns IndicatorMatch with descriptive message.
- Fixed return type annotations on both methods to Optional[IndicatorMatch].
- Removed unused Union import.

* Fix residual self.detected usage in packages and dumpsys_receivers

These modules still used self.detected.append() which no longer exists
after the alertstore migration. Converted to alertstore calls:
- packages.py: ROOT_PACKAGES detection → alertstore.high()
- dumpsys_receivers.py: receiver IOC match → alertstore.critical()

* Fix SMS module alertstore.high() call passing slug as message

The first argument was self.get_slug() (module slug) instead of a
human-readable message. The module is already auto-detected via
AlertStore._get_calling_module(). Also removed redundant log_latest().

* Apply suggestions from code review

Fix JSON serialization in `module.save_to_json` and fix argument order in iOS alertstore calls.

Co-authored-by: tes <tesitura@users.noreply.github.com>

* Remove unsupported ADB modules

* Fail removed check-adb command

* Fix alert serialization and logging

* Close sqlite connections in iOS modules

* Fix DEBUG messages not reaching handlers, save_to_json for dictionary results and TypeError on mixed event_time types in safary_history

* add matched_indicator via alertstore instead of directly modifying json objects

* Alert on battery daily uninstall and downgrade

* Lower alert severity to medium for suspicious items

* Switch version to 2026.4.28 CalVer

---------

Co-authored-by: Donncha Ó Cearbhaill <donncha.ocearbhaill@amnesty.org>
Co-authored-by: tes <tesitura@users.noreply.github.com>
Co-authored-by: Janik Besendorf <janik.besendorf@reporter-ohne-grenzen.de>
2026-04-29 14:32:29 +02:00
besendorf f26303c930 Update README with warning about v3 breaking changes (#771)
Added important note about upcoming breaking changes in v3.
2026-04-12 09:54:29 +02:00
Donncha Ó Cearbhaill 477f9a7f6b Fix CI badge (#552) 2024-10-16 17:11:59 +02:00
Donncha Ó Cearbhaill f9d7b550dc Add docs explaining how to seek expert help for forensic analysis (#476)
* Update forensic support links in the documentation

* Add expert help message to MVT output

* Add warning to disable ADB after an Android acquisition

* Include Developer Options in the ADB warning text
2024-04-08 18:47:59 +02:00
Donncha Ó Cearbhaill f786e2c9bf Update docs to point to Security Lab website 2023-11-08 16:42:44 +01:00
Jakub Wilk 63c4dea3d0 Fix capitalization of "PyPI" (#404) 2023-10-04 23:43:45 +02:00
Donncha Ó Cearbhaill 4f0c9c6077 Update README with information on indicators of compromise and path ways for forensic support 2023-06-29 16:48:56 +02:00
Nex a9be771f79 Using remote picture so to not break pypi etc. 2022-06-14 18:13:21 +02:00
Nex fcac8a8c7d Updated README 2022-05-08 14:57:33 +02:00
Nex d82c788a18 Removed AUTHORS file in favor of explicit copyright notice 2022-05-08 14:53:50 +02:00
Donncha Ó Cearbhaill 5416b66915 Add CI and downloads page 2022-02-02 12:45:06 +01:00
Nex 104b01e5cd Fixed links to docs 2021-10-25 09:19:10 +02:00
Nex 4ebe0b6971 Shrink logo in README 2021-08-21 15:58:35 +02:00
Nex 7887ad6ee4 Removed trailing dot 2021-08-18 17:03:49 +02:00
Nex 44b677fdb2 Updated README 2021-08-09 16:14:48 +02:00
Nex 3ae822d3ac Updated README 2021-08-09 16:14:08 +02:00
Nex 7940fb2879 Updated README 2021-08-09 16:12:23 +02:00
Nex af7bc3ca31 Updated README 2021-08-09 16:12:10 +02:00
Nex d606f9570f Updated README 2021-08-09 16:10:42 +02:00
Nex 7ae9ecbf5a Removed newline 2021-08-03 17:25:16 +02:00
Nex 1e8278aeec Updated README 2021-08-03 15:51:58 +02:00
Nex d7f29a4e88 Updated README 2021-07-30 21:26:48 +02:00
Nex bfcfb3aa06 Merge branch 'extract-key' of https://github.com/pkirkovsky/mvt into pkirkovsky-extract-key 2021-07-30 18:29:47 +02:00
Nex 99e80fd942 Updated documentation links 2021-07-30 17:59:17 +02:00
Pavel Kirkovsky f4340bd4f9 Merge branch 'mvt-project:main' into extract-key 2021-07-27 17:15:37 -07:00
Nex 32aeaaf91c Update README.md 2021-07-26 21:48:55 +02:00
Nex 8b253b5e7c Update README.md 2021-07-26 21:39:49 +02:00
Nex 362bce7c76 Update README.md 2021-07-26 21:38:36 +02:00
Nex e821421ca7 Update README.md 2021-07-26 21:35:35 +02:00
Nex 95ab269671 Fixed some formatting 2021-07-26 19:33:12 +02:00
Adam Stiefel 6b436f2057 fix: readme grammar
Changed "evidences" to "evidence". Changed "understanding basics" to "understanding the basics". Changed "command line" to "command-line"
2021-07-25 17:16:26 -04:00
Nex d6f49e76d6 Included Docker details in the documentation 2021-07-24 13:23:45 +02:00
Nex 8883306558 Merge branch 'dockerizing' of https://github.com/febrezo/mvt into febrezo-dockerizing 2021-07-24 13:10:04 +02:00
Pavel Kirkovsky af4826070a Update README with extract-key command 2021-07-22 23:55:08 -07:00
febrezo 684aed8d11 Add compilation of libimobiledevice for iOS compatibility
Added considering the feedback reported in the #16 discussion.
2021-07-22 17:44:17 +02:00
tek b19db5543b Update README 2021-07-21 13:59:54 +02:00
Nex 2f05d4b4f9 Fixed typo 2021-07-21 11:07:15 +02:00
tek 3e048c4338 updated readme 2021-07-21 10:25:02 +02:00
Runa Sandvik 2276df4f1b Update README.md
Use pip3 to install mvt from pypi
2021-07-20 17:55:22 -04:00
febrezo 1adf3f430b Add welcome message when the terminal is launched 2021-07-20 14:20:27 +02:00
Nex 425d83e0a0 Fixed documentation links 2021-07-20 13:42:13 +02:00
febrezo 8c855b645d Add Dockerfile with Android dependencies solved 2021-07-20 12:10:37 +02:00
tek add5b1640e Update doc url 2021-07-18 19:10:12 +02:00
tek da72dfe58e Update readme and version for pypi 2021-07-18 16:31:25 +02:00
Nex 065a62cee1 First commit 2021-07-16 08:05:01 +02:00