{
  "schema": "tesign-radar/item/1",
  "generated_at": "2026-09-23T04:12:15.539Z",
  "lang": "en",
  "slug": "mvt",
  "url": "https://tesign.com/en/item/mvt/",
  "alternates": {
    "ko": {
      "html": "https://tesign.com/item/mvt/",
      "json": "https://tesign.com/item/mvt/index.json",
      "markdown": "https://tesign.com/item/mvt/index.md"
    },
    "en": {
      "html": "https://tesign.com/en/item/mvt/",
      "json": "https://tesign.com/en/item/mvt/index.json",
      "markdown": "https://tesign.com/en/item/mvt/index.md"
    }
  },
  "name": "MVT",
  "use_label": "Check your phone for spyware traces",
  "one_liner": "A forensic toolkit from Amnesty International that lets you check your own phone for signs of spyware.",
  "text": {
    "why": "Commercial spyware like Pegasus can land on a phone without a single click. MVT is the tool Amnesty International's Security Lab built during the Pegasus Project investigation — it inspects a phone's backup or system files against a public list of indicators of compromise.",
    "take": "Unlike a typical antivirus app, this is the actual tool used in real spyware investigations, available for anyone to run.",
    "build": [
      "Three Python command-line tools — mvt-ios, mvt-android, mvt. Feed it an unencrypted iPhone backup, or an Android adb backup or APK set, and it checks the contents against Amnesty International's published indicators of compromise and lists what looks suspicious."
    ],
    "who": [
      {
        "role": "Activists, journalists and researchers who suspect they may be a target, and technically comfortable users who want to check their own phone.",
        "situation": null
      }
    ],
    "start": [
      {
        "command": false,
        "text": "Follow the install docs at mvt.re, run pip install mvt, then check an unencrypted iPhone backup or an Android adb backup."
      }
    ],
    "caveat": [
      "Command-line only, with no graphical interface — expect some technical setup. Licensed under the MVT License 1.1 (a Mozilla Public License variant), which explicitly bars using it on someone else's device without their informed consent."
    ]
  },
  "cta": {
    "type": "install",
    "label": "INSTALL",
    "url": "https://mvt.re/"
  },
  "ready": "install",
  "categories": [
    "security"
  ],
  "categories_confirmed": true,
  "tags": [
    "보안",
    "모바일 포렌식",
    "오픈소스",
    "cli"
  ],
  "platform": [
    "cli",
    "macos",
    "linux"
  ],
  "license": {
    "spdx": null,
    "scope": "unknown",
    "scope_text": "Unconfirmed — check before use.",
    "url": "https://github.com/mvt-project/mvt?tab=License-1-ov-file",
    "note": null,
    "open_source": null
  },
  "language": "Python",
  "source_urls": {
    "canonical": "https://mvt.re/",
    "github": "https://github.com/mvt-project/mvt",
    "huggingface": null,
    "app_store": null,
    "sightings": [
      {
        "source": "github",
        "url": "https://github.com/mvt-project/mvt",
        "posted_at": "2026-09-21T19:00:00.000Z",
        "hn_url": null
      }
    ]
  },
  "numbers": {
    "as_of": "2026-09-22T23:00:00.000Z",
    "stars": 13692,
    "stars_unit": "GitHub stars",
    "stars_checked_at": "2026-09-22T05:41:16.995Z",
    "stars_observed_since_check": 5,
    "star_delta_24h": 8,
    "star_delta_7d": 16,
    "star_delta_30d": 18,
    "star_delta_unit": "GitHub stars gained in the window, GH Archive events summed to as_of",
    "spark_14d": [
      2,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      8,
      8
    ],
    "hf_likes": null,
    "hf_likes_observed_at": null,
    "hn_points": null,
    "hn_points_observed_at": null,
    "store": null,
    "method": "Star total = the value last checked on GitHub (stars_checked_at) + increases observed via GH Archive since. The 24h · 7d · 30d gains are GH Archive hourly events summed to the reference time (as_of). No score of ours."
  },
  "ranks": {
    "as_of": "2026-09-22T23:00:00.000Z",
    "all_time": null,
    "rising": {
      "24h": null,
      "7d": null,
      "30d": null
    },
    "categories": [
      {
        "category": "security",
        "label": "SECURITY",
        "rank": 5
      }
    ]
  },
  "activity": {
    "pushed_at": "2026-09-21T17:25:33.000Z",
    "owner_type": null,
    "open_issues": null,
    "contributors": null,
    "releases_count": null,
    "latest_release": null,
    "checked_at": null,
    "core_checked_at": "2026-09-22T05:41:16.995Z"
  },
  "signals": [],
  "images": {
    "og": "https://tesign.com/img/mvt-cbae495f67.png",
    "cover": "https://tesign.com/img/mvt-cbae495f67.png",
    "cover_width": 1047,
    "cover_height": 640,
    "gallery": [
      "https://tesign.com/img/mvt-cbae495f67.png",
      "https://tesign.com/img/mvt-355e39bbab.png"
    ],
    "alt": "The MVT documentation homepage: a hand-holding-a-phone logo beside the project description.",
    "tier": 2
  },
  "dates": {
    "first_seen_at": "2026-09-22T00:32:45.780Z",
    "source_created_at": "2021-07-16T05:50:44.000Z",
    "discovery_hours": 45450.70049444444,
    "launch_signal_at": "2026-09-21T19:00:00.000Z",
    "kept_at": "2026-09-23T02:05:15.156Z",
    "first_published_at": "2026-09-23T02:05:15.311Z",
    "updated_at": "2026-09-23T02:05:15.231Z",
    "ingestion_mode": "live"
  },
  "notes": [
    "This file was produced by the same build, from the same data, as the tesign.com item page. The text is editorial; the numbers are stored observations.",
    "null in the JSON means not observed — never zero. The Markdown writes [unconfirmed] for it.",
    "Star total = the value last checked on GitHub (stars_checked_at) + increases observed via GH Archive since. The 24h · 7d · 30d gains are GH Archive hourly events summed to the reference time (as_of). No score of ours.",
    "A summary, not legal advice."
  ]
}
