- Ghidra MCP Server ist ein Model Context Protocol (MCP)-Server, der die Reverse-Engineering-Funktionen von Ghidra mit KI- und Automatisierungs-Frameworks verbindet
- Bietet über 110 MCP-Tools und 132 Endpunkte umfassende Binäranalysefunktionen wie Funktionsanalyse, Erkundung von Datenstrukturen und String-Extraktion
- Unterstützt Batch-Verarbeitung, atomare Transaktionen und Echtzeitanalyse und kann per Docker-Deployment und im Headless-Modus betrieben werden
- Die Funktion Cross-binary-Dokumentübertragung gleicht die Funktionsdokumentation zwischen verschiedenen Binärversionen automatisch ab
- Eine Plattform, mit der sich KI-basierte Reverse-Engineering-Workflows mit Stabilität auf Produktionsniveau umsetzen lassen
Überblick
- Ghidra MCP Server ist ein MCP-Server für den Produktionseinsatz, der Ghidras Analyse-Engine mit KI-Tools und Automatisierungssystemen verbindet
- Implementiert das Model Context Protocol vollständig und unterstützt die Interaktion mit KI-Modellen
- Stellt Ghidras Funktionen über HTTP REST und das MCP-Protokoll (stdio/SSE) bereit
Hauptfunktionen
- Core-MCP-Integration
- Vollständig MCP-kompatibel, bietet 110 MCP-Tools und unterstützt Batch-Operationen sowie atomare Transaktionen
- Echtzeitintegration mit Ghidras Analyse-Engine
- Binäranalyse
- Funktionsdekompilierung, Call-Graphen, Querverweise, automatische Erzeugung von Datenstrukturen
- Enthält String-Extraktion, Analyse von Symboltabellen, Memory-Mapping und die Funktion Cross-binary-Dokumentübertragung
- Entwicklung und Automatisierung
- Automatisierte Pipeline für Build, Test, Deployment und Verifikation
- Erstellung, Ausführung und Verwaltung von Ghidra-Skripten, Vergleich mehrerer Programme sowie Massenumbenennung und Kommentierung
Installation und Ausführung
- Voraussetzungen: Java 21 LTS, Apache Maven 3.9+, Ghidra 12.0.2, Python 3.8+
- Installationsablauf
- Repository klonen und Python-Abhängigkeiten installieren
- 14 Ghidra-Bibliotheken kopieren und mit Maven bauen
- Plugin in den Ghidra-Erweiterungsordner deployen
- Ausführungsarten
- Wahl zwischen stdio-Transport (Standard, für KI-Tools) und SSE-Transport (für Web-/HTTP-Clients)
- In Ghidra
Tools > GhidraMCP > Start MCP Server ausführen
Leistung und Stabilität
- Vollständige Implementierung von 110 MCP-Tools, bei den meisten Operationen Antwortzeiten unter 1 Sekunde
- Batch-Operationsstruktur mit 93 % weniger API-Aufrufen
- Alle Operationen werden als atomare Transaktionen verarbeitet, um Zuverlässigkeit sicherzustellen
- Versionsbewusste automatische Deployment-Skripte werden bereitgestellt
API-Struktur
- Kernoperationen: Verbindungsprüfung, Metadatenabfrage, Versionsinformationen, Erkundung von Entry Points
- Funktionsanalyse: Funktionsliste, Namenssuche, Dekompilierung, Graphen von Aufrufbeziehungen, Bewertung der Dokumentationsvollständigkeit
- Speicher und Daten: Segmentlisten, Disassembly, Querverweise, Prüfung von Speicherinhalten
- Cross-binary-Dokumentation: Generierung von Funktions-Hashes, Export/Anwendung von Dokumentation, hashbasiertes Matching
- Verwaltung von Datentypen: Erstellen von Strukturen und Enums, Ändern von Feldern, Zusammenführen doppelter Typen
- Verwaltung von Symbolen und Labels: Import-/Export-Listen, String-Analyse, Verwaltung von Namespaces und globalen Variablen
- Umbenennung und Kommentierung: Umbenennung von Funktionen, Daten und Variablen, Setzen von Kommentaren in großem Umfang
- Typsystem: Festlegen von Funktionsprototypen, Setzen von Variablentypen, Abfrage von Calling Conventions
- Verwaltung von Ghidra-Skripten: Skriptlisten, Ausführung, Speichern, Ändern, Löschen
- Unterstützung mehrerer Programme: Wechsel zwischen geöffneten Programmen, Projektdateiliste, Dokumentvergleich
- Analysewerkzeuge: Suche nach undefinierten Funktionen, stringbasierte Suche, Suche nach Byte-Mustern
Architektur
- Struktur KI-/Automatisierungstools ↔ MCP-Bridge ↔ Ghidra-Plugin
bridge_mcp_ghidra.py: Python-Server, der das MCP-Protokoll in HTTP-Aufrufe umwandelt
GhidraMCP.jar: Java-Plugin, das Ghidra-Funktionen per HTTP bereitstellt
ghidra_scripts/: enthält mehr als 70 Automatisierungsskripte
Entwicklung und Build
- Maven-basierter Build und PowerShell-Deployment-Skripte werden bereitgestellt
- Die Projektstruktur besteht aus Python-Server, Java-Plugin, Ghidra-Bibliotheken, Dokumentation, Beispielen und Build-Skripten
- 14 erforderliche Bibliotheken (ca. 37 MB) müssen aus dem Ghidra-Installationspfad kopiert werden
- Enthält automatische Deployments, Batch-Operationen, atomare Transaktionen und detailliertes Logging
Dokumentation und KI-Workflows
- Der Ordner docs/ enthält die vollständige Dokumentation, Projektstruktur, Namenskonventionen und ungarische Notation
- KI-Workflow-Prompts: Prompts für Funktionsdokumentation, versionsübergreifendes Matching und Schnellstart
- Release-Historie: Detaillierte versionsbezogene Änderungen in CHANGELOG.md und docs/releases
Lizenz und Status
- Veröffentlicht unter der Apache License 2.0
- Version 2.0.0, vollständige Implementierung von 110 MCP-Tools, enthält mehr als 70 Ghidra-Skripte
- Bereit für Deployment in Produktionsumgebungen, geeignet für KI-basiertes Reverse Engineering
Verwandte Projekte
- re-universe: PostgreSQL-basierte Plattform für großskalige Analyse von Binärähnlichkeiten
- cheat-engine-server-python: MCP-Server für dynamische Speicheranalyse und Debugging
Danksagung
- Dank an das Ghidra-Team, die Entwickler des Model Context Protocol und die Mitwirkenden aus der Community
Noch keine Kommentare.