/ Verzeichnis / Playground / ipsw-skill
● Community blacktop 🔑 Eigener Schlüssel nötig

ipsw-skill

von blacktop · blacktop/ipsw-skill

Steuern Sie die „ipsw“-CLI von Ihrem Agenten aus – IPSW-Download/-Extrahierung, Kernelcache-Unterschiede, Mach-O-Triage, private Framework-ObjC-Header.

ipsw-skill bringt Claude (und kompatiblen Agenten wie Codex CLI / Gemini CLI) bei, wie man Blacktops „ipsw“ steuert – die CLI der Schweizer Armee für Apple-Firmware und Binäranalyse. Es kennt die Unterbefehle zum Herunterladen/Extrahieren von IPSWs und Kernelcaches, zum Sichern von Objective-C-Headern aus privaten Frameworks, zum Verändern von Kerneln zwischen Versionen, zum Überwachen von Berechtigungen und zum Überprüfen von Mach-O-Binärdateien. Richtet sich an Sicherheitsforscher, Reverse Engineers und Ingenieure der Apple-Plattform, die das Verhalten auf Framework-Ebene debuggen.

Warum nutzen

Hauptfunktionen

Live-Demo

In der Praxis

ipsw-skill.replay ▶ bereit
0/0

Installieren

Wählen Sie Ihren Client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "ipsw-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ],
      "_inferred": false
    }
  }
}

Öffne Claude Desktop → Settings → Developer → Edit Config. Nach dem Speichern neu starten.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "ipsw-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ],
      "_inferred": false
    }
  }
}

Cursor nutzt das gleiche mcpServers-Schema wie Claude Desktop. Projektkonfiguration schlägt die globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "ipsw-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ],
      "_inferred": false
    }
  }
}

Klicken Sie auf das MCP-Servers-Symbol in der Cline-Seitenleiste, dann "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "ipsw-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ],
      "_inferred": false
    }
  }
}

Gleiche Struktur wie Claude Desktop. Windsurf neu starten zum Übernehmen.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "ipsw-skill",
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ]
    }
  ]
}

Continue nutzt ein Array von Serverobjekten statt einer Map.

~/.config/zed/settings.json
{
  "context_servers": {
    "ipsw-skill": {
      "command": {
        "path": "claude",
        "args": [
          "plugin",
          "marketplace",
          "add",
          "blacktop/ipsw-skill"
        ]
      }
    }
  }
}

In context_servers hinzufügen. Zed lädt beim Speichern neu.

claude mcp add ipsw-skill -- claude plugin marketplace add blacktop/ipsw-skill

Einzeiler. Prüfen mit claude mcp list. Entfernen mit claude mcp remove.

Anwendungsfälle

Praxisnahe Nutzung: ipsw-skill

Dump von Obj-C-Headern aus einem privaten Framework zur API-Erkennung

👤 Sicherheitsforscher und SDK-Betreuer arbeiten gegen Apple-Interna ⏱ ~30 min advanced

Wann einsetzen: Sie benötigen die öffentliche Oberfläche (Klassen- und Selektornamen) eines privaten Frameworks, um Verhaltensänderungen zu untersuchen.

Voraussetzungen
  • ipsw-CLI installiert — brew install blacktop/tap/ipsw
  • Ein aus einem IPSW extrahierter dyld_shared_cache — Verwenden Sie den ipsw-Extrakt für das heruntergeladene IPSW
Ablauf
  1. Laden Sie das IPSW herunter
    Verwenden Sie den ipsw-Download für die von mir angegebene iOS-Version.✓ Kopiert
    → IPSW wird lokal gespeichert
  2. Extrahieren Sie den freigegebenen Cache
    Extrahieren Sie dyld_shared_cache aus dem IPSW.✓ Kopiert
    → Gemeinsam genutzte Cache-Datei extrahiert
  3. Dump-Header für das Ziel-Framework
    Obj-C-Header für <FrameworkName> ausgeben.✓ Kopiert
    → Header-Dump mit Klassen und Selektoren

Ergebnis: Sie verfügen über lesbare Header, die Sie zwischen den Versionen unterscheiden können.

Fallstricke
  • Verwechslung von Simulator-Binärdateien mit Geräte-Binärdateien — Geben Sie immer das Gerät/den Bogen an, den Sie untersuchen. Simulator-Slices unterscheiden sich
Kombinieren mit: ghidrassistmcp

Unterschiedliche Kernelcaches in zwei iOS-Versionen

👤 Kernel- und XNU-Forscher ⏱ ~60 min advanced

Wann einsetzen: Eine neue iOS-Version wurde veröffentlicht. Sie möchten sehen, was sich im Kernel geändert hat.

Ablauf
  1. Extrahieren Sie beide Kernelcaches
    Extrahieren Sie den Kernelcache aus IPSW A und IPSW B.✓ Kopiert
    → Zwei Kernelcache-Dateien auf der Festplatte
  2. Diff
    Vergleichen Sie die beiden Kernelcaches. Liste hinzugefügter/entfernter/geänderter Symbole.✓ Kopiert
    → Änderungsliste mit Symbolkategorien

Ergebnis: Ein fokussiertes Änderungsprotokoll von Änderungen auf Kernel-Ebene.

Fallstricke
  • Behandeln Sie die Neuordnung von Symbolen als sinnvolle Änderung — Lassen Sie die Werkzeuggruppe neu anordnen im Vergleich zu echten Hinzufügungen/Entfernungen

Überprüfen Sie einen Mach-O auf Berechtigungen und verdächtige Merkmale

👤 AppSec-Prüfer, Entwickler, die Abhängigkeiten von Drittanbietern prüfen ⏱ ~20 min intermediate

Wann einsetzen: Sie möchten die Berechtigungen und Importe einer Binärdatei überprüfen, bevor Sie sie mit Ihrer App ausliefern.

Ablauf
  1. Untersuchen Sie den Mach-O
    Ladebefehle, LC_CODE_SIGNATURE und Berechtigungen für <Pfad> anzeigen.✓ Kopiert
    → Berechtigungsliste + Signaturinformationen
  2. Importe auflisten
    Listen Sie importierte Symbole nach Framework gruppiert auf.✓ Kopiert
    → Importtabelle löschen

Ergebnis: Ein prägnanter Prüfbericht, den Sie im Bewertungsthread speichern können.

Kombinieren mit: xcodebuild

Kombinationen

Mit anderen MCPs für 10-fache Wirkung

ipsw-skill + ghidrassistmcp

Übergeben Sie interessante Funktionen zur tieferen Analyse an Ghidra

Wählen Sie aus den Mach-O-Importen die verdächtige Funktion aus und öffnen Sie sie in Ghidra.✓ Kopiert

Nutzen Sie das umfassendere RE-Playbook zusammen mit den Apple-spezifischen Tools von ipsw

Kombinieren Sie den generischen RE-Workflow mit ipsw für Dyld-Cache-Arbeiten.✓ Kopiert
ipsw-skill + xcodebuild

Erstellen Sie lokale Apps und überprüfen Sie, ob sie dem erwarteten Berechtigungsprofil entsprechen

Führen Sie nach xcodebuild ipsw entitlements für das Archiv aus, um zu prüfen, was letztendlich angemeldet wurde.✓ Kopiert

Werkzeuge

Was dieses MCP bereitstellt

WerkzeugEingabenWann aufrufenKosten
ipsw download version/device selector Holen Sie sich Firmware zur Analyse bandwidth only
ipsw extract IPSW + target (dsc / kernelcache / ramdisk) Ziehen Sie ein bestimmtes Artefakt aus dem IPSW 0
ipsw dyld class-dump dyld_shared_cache + framework Studieren Sie private Framework-APIs 0
ipsw kernel diff two kernelcaches Kernelanalyse von Version zu Version 0
ipsw macho info/ent Mach-O path Binäre Triage 0

Kosten & Limits

Was der Betrieb kostet

API-Kontingent
Keiner
Tokens pro Aufruf
Die Ausgabe variiert je nach Artefaktgröße. Scope-Befehle streng
Kosten in €
Frei; Downloads kosten nur Bandbreite
Tipp
Verwenden Sie die Filterflags von ipsw, damit der Agent nicht 50 MB an Symbolen in den Kontext einfügt.

Sicherheit

Rechte, Secrets, Reichweite

Credential-Speicherung: Für den Grundbetrieb nicht erforderlich
Datenabfluss: „ipsw download“ ruft IPSWs von den öffentlichen Servern von Apple ab. Keine zusätzliche Telemetrie vom Skill selbst.

Fehlerbehebung

Häufige Fehler und Lösungen

ipsw: Befehl nicht gefunden

Installieren Sie die CLI über Homebrew tap: brew install blacktop/tap/ipsw.

Prüfen: which ipsw
Download-Zeitüberschreitung

Die Server von Apple können die Geschwindigkeit begrenzen; Versuchen Sie es erneut mit --resume. Stellen Sie sicher, dass Ihr Netzwerk große Downloads zulässt.

Prüfen: curl -I https://appldnld.apple.com/...
Class-Dump gibt leer zurück

Bestätigen Sie, dass Sie auf den freigegebenen Cache für das richtige Gerät/Arch gezeigt haben. Simulator-Caches sind von den Geräte-Caches getrennt.

Prüfen: ipsw dyld info <cache>

Alternativen

ipsw-skill vs. andere

AlternativeWann stattdessenKompromiss
ghidrassistmcpSie möchten eine vollständige Demontage und Skripterstellung über GhidraViel schwerer; langsamerer Start
ida-pro-mcpSie haben IDA Pro bereits lizenziert und möchten eine MCP-IntegrationKommerzielles Werkzeug
reverse-engineering-assistantSie möchten einen umfassenderen RE-Workflow-AssistentenNicht Apple-spezifisch

Mehr

Ressourcen

📖 Offizielle README auf GitHub lesen

🐙 Offene Issues ansehen

🔍 Alle 400+ MCP-Server und Skills durchsuchen