MCPcopy
hub / github.com/mvt-project/mvt

github.com/mvt-project/mvt @v2026.5.12 sqlite

repository ↗ · DeepWiki ↗ · release v2026.5.12 ↗
858 symbols 4,053 edges 193 files 220 documented · 26%
README
 <img src="https://docs.mvt.re/en/latest/mvt.png" width="200" />

Mobile Verification Toolkit

[!IMPORTANT] We recently merged the "v3" branch. This introduced breaking changes. If you relied on mvt output in other scripts They might have broken. More details: https://github.com/mvt-project/mvt/issues/757

Documentation Status CI Downloads

Mobile Verification Toolkit (MVT) is a collection of utilities to simplify and automate the process of gathering forensic traces helpful to identify a potential compromise of Android and iOS devices.

It has been developed and released by the Amnesty International Security Lab in July 2021 in the context of the Pegasus Project along with a technical forensic methodology. It continues to be maintained by Amnesty International and other contributors.

Note MVT is a forensic research tool intended for technologists and investigators. It requires understanding digital forensics and using command-line tools. This is not intended for end-user self-assessment. If you are concerned with the security of your device please seek reputable expert assistance.

Indicators of Compromise

MVT supports using public indicators of compromise (IOCs) to scan mobile devices for potential traces of targeting or infection by known spyware campaigns. This includes IOCs published by Amnesty International and other research groups.

Warning Public indicators of compromise are insufficient to determine that a device is "clean", and not targeted with a particular spyware tool. Reliance on public indicators alone can miss recent forensic traces and give a false sense of security.

Reliable and comprehensive digital forensic support and triage requires access to non-public indicators, research and threat intelligence.

Such support is available to civil society through Amnesty International's Security Lab or through our forensic partnership with Access Now’s Digital Security Helpline.

More information about using indicators of compromise with MVT is available in the documentation.

Installation

MVT can be installed from sources or from PyPI (you will need some dependencies, check the documentation):

pip3 install mvt

You can also install MVT from PyPI with uv. First, install uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

Then install MVT as a command-line tool:

uv tool install mvt

For alternative installation options and known issues, please refer to the documentation as well as GitHub Issues.

Usage

MVT provides two commands mvt-ios and mvt-android. Check out the documentation to learn how to use them!

License

The purpose of MVT is to facilitate the consensual forensic analysis of devices of those who might be targets of sophisticated mobile spyware attacks, especially members of civil society and marginalized communities. We do not want MVT to enable privacy violations of non-consenting individuals. In order to achieve this, MVT is released under its own license. Read more here.

Core symbols most depended-on inside this repo

info
called by 178
src/mvt/common/alerts.py
critical
called by 83
src/mvt/common/alerts.py
run_module
called by 47
src/mvt/common/module.py
get_artifact
called by 33
tests/utils.py
check_url
called by 27
src/mvt/common/indicators.py
parse_stix2
called by 26
src/mvt/common/indicators.py
extend
called by 26
src/mvt/common/alerts.py
convert_mactime_to_iso
called by 24
src/mvt/common/utils.py

Shape

Method 579
Class 195
Function 78
Route 6

Languages

Python100%

Modules by API surface

src/mvt/common/indicators.py29 symbols
src/mvt/android/parsers/proto/tombstone.py20 symbols
src/mvt/common/alerts.py18 symbols
src/mvt/common/command.py17 symbols
src/mvt/common/module.py16 symbols
src/mvt/common/utils.py15 symbols
src/mvt/android/cmd_check_androidqf.py15 symbols
src/mvt/android/artifacts/tombstone_crashes.py15 symbols
tests/common/test_utils.py14 symbols
src/mvt/common/updates.py14 symbols
src/mvt/android/cli.py14 symbols
src/mvt/ios/cli.py11 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

Dependencies from manifests, versioned

appdirs1.4.4 · 1×
click8.3.2 · 1×
iOSbackup0.9.925 · 1×
packaging26.0 · 1×
requests2.33.1 · 1×
rich14.3.3 · 1×
simplejson3.20.2 · 1×
tld0.13.1 · 1×

For agents

$ claude mcp add mvt \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact