mvt-project/mvt

▲ 177 stars today★ 13,506⑂ 1,319

MVT (Mobile Verification Toolkit) helps with conducting forensics of mobile devices in order to find signs of a potential compromise.

About mvt-project/mvt

mvt-project/mvt is an open-source project on GitHub, mainly written in Python. MVT (Mobile Verification Toolkit) helps with conducting forensics of mobile devices in order to find signs of a potential compromise. It currently holds 13,506 stars and 1,319 forks with 54 open issues, and was last pushed on 2026-09-21 (repository created 2021-07-16).

Project Overview

Git Homed tracks it on the Today's Trending board, currently at rank #27 with 177 new stars today.

GitHub Repository Details

Repository mvt-project/mvt · default branch main · size 4692 KB · watchers 284 · source: GitHub REST API and repository README

README

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 three commands: mvt-ios and mvt-android analyse acquisitions from devices of that platform, and mvt hosts what belongs to neither: version, completion, plugins and download-iocs (version and download-iocs remain available on the platform commands for now). Running mvt on its own shows the installed version, update notices and the available commands. Check out the documentation to learn how to use them!

Pass --verbose to any of the three commands, before the command name (mvt-ios --verbose check-backup ...), for debug output. The --verbose option the check-* commands accept after their name still works but is kept for compatibility only and will be removed in a future release.

Shell completion

MVT can generate a shell completion script for Bash, Zsh, and Fish which covers mvt, mvt-ios and mvt-android:

mvt completion

The command prints setup instructions by default. To generate the completion script directly, pass the shell name:

mvt completion bash

MVT only writes completion files or shell configuration when --install is passed. See the command completion documentation for details.

Plugin packages extend MVT with additional forensic modules, which run inside the check-* commands, and with top-level commands on mvt, mvt-ios and mvt-android. See the development documentation for writing and installing them, and the custom CLI command documentation for the entry points a package registers commands in.

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.

GitHub Stars & Activity

13,506Stars
1,319Forks
54Open issues
PythonLanguage

GitHub Popularity

GitHub stars13,506
Forks1,319
Open issues54
Primary languagePython
LicenseNOASSERTION
Stars gained today177
Created2021-07-16
Last pushed2026-09-21

Trending History

Daily boardrank #27 · ▲ 177 stars

Related GitHub Projects

1

browser-use / browser-use

Python★ 115,758⑂ 12,738▲ 253 stars
2

docling-project / docling

Python★ 67,525⑂ 4,875▲ 135 stars
3

ZhuLinsen / daily_stock_analysis

Python★ 65,438⑂ 54,716▲ 56 stars
4

anthropics / financial-services

Python★ 35,758⑂ 5,264▲ 425 stars
5

virgiliojr94 / book-to-skill

Python★ 31,818⑂ 3,302▲ 242 stars
6

davila7 / claude-code-templates

Python★ 30,888⑂ 3,521▲ 45 stars
7

zhouxiaoka / autoclip

Python★ 8,163⑂ 1,568▲ 266 stars
8

TNT-Likely / PanWatch

Python★ 1,147⑂ 251▲ 45 stars

More Trending Repositories