Ghidra MCP Server – 110 Tools für KI-basiertes Reverse Engineering
(github.com/bethington)- 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 Serverausfü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 umwandeltGhidraMCP.jar: Java-Plugin, das Ghidra-Funktionen per HTTP bereitstelltghidra_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
1 Kommentare
Hacker-News-Kommentare
Der Prozess des Reverse Engineerings mehrerer Softwareversionen war so schmerzhaft, dass dieses Projekt entstanden ist
Der Kern ist ein normalisiertes Function-Hashing-System, das Hashes anhand der logischen Struktur einer Funktion erstellt, also anhand von Instruktionen, Operanden und Kontrollfluss
Dadurch hat dieselbe Funktion denselben Hash, selbst wenn das Binärfile neu gebaut oder rebasiert wurde, und alle Kommentare, Typen und Namen werden automatisch übernommen
Es enthält 110 Tools als MCP-Bridge für Ghidra und lässt sich mit Claude, Claude Code oder anderen MCP-Clients integrieren
Getestet wurde es mit mehreren Patch-Versionen von Diablo II, wobei sich mehr als 1.300 Funktionskommentare automatisch übertragen ließen
Dank Docker-basiertem Headless-Modus ist auch eine CI-Integration möglich
In v2.0.0 wurden localhost-only-Binding, Timeout-Einstellungen, Label-Löschung,
.env-Konfiguration und mehr ergänztDiskussionen über den Hashing-Ansatz oder das MCP-Design sind willkommen
Die Installationsanleitung scheint unvollständig zu sein. Nach der Installation in Ghidra und einem Neustart sehe ich GhidraMCP nicht im Menü Tools
Ich frage mich, ob GH Discussions der richtige Kommunikationskanal ist
Ich habe LaurieWireds Ghidra-MCP-Server benutzt, und Binäranalyse sowie Keygen-Erstellung waren unglaublich spaßig und einfach
Diesen MCP-Server werde ich auf jeden Fall ebenfalls ausprobieren
Dass dieses Projekt genau jetzt auftaucht, ist schon bemerkenswert
mainvon LaurieWired/GhidraMCPNachdem ich gesehen hatte, wie ein Kollege mit Claude und Ghidra das Spiel River Ride gehackt hat, habe ich es ebenfalls ausprobiert
Ich habe ein altes Spiel für PowerPC auf Apple Silicon portiert; ich habe mehrere MCPs getestet, aber Claude Code hat häufig Code halluziniert
Letztlich habe ich mit Cursor + dem Headless-Modus von GPT 5.2 Codex die besten Ergebnisse erzielt
Zum Beispiel hat es eine 1.300 Zeilen lange C64-SID-Datei in 30 Minuten vollständig rekonstruiert
Derzeit baue ich ein Multi-Agenten-System, das ein komplettes C64-Spiel reverse engineert
Siehe Beispielcode
Reverse Engineering mit KI wird unterschätzt
Ich konnte aus einer Android-App erfolgreich einen Kryptoschlüssel extrahieren, wobei der Schlüssel in einem Shader versteckt war und sich nur durch tatsächliches Ausführen des Shaders gewinnen ließ
Jetzt fügen wir Multiplayer-Funktionen im Browser hinzu
Ich nutze seit einigen Monaten LaurieWireds Version mit 15 Tools, und es fühlt sich an, als würde die interne Struktur einer App vollständig transparent sichtbar
Damit sind Bug-Tracking, Plugin-Entwicklung und App-Modifikationen möglich
Für Objective-C-Code nutze ich zusätzlich Hopper Disassembler
Zugehöriges Paper: Full recompilation with LLMs and Ghidra
Reverse Engineering mit LLMs wird wirklich unterschätzt
Ich arbeite an der Wiederherstellung eines 30 Jahre alten Spiels; wenn man dem Modell Ghidras Decompiler-Ergebnis und Symbolinformationen im RAG-Stil gibt, entstehen erstaunliche Resultate
Selbst günstige Modelle wie Gemini 3 Flash sind dafür durchaus brauchbar
Es lässt Teile von Funktionen aus oder belässt innerhalb von
switch-Blöcken nur KommentareClaude Opus oder Qwen3-30B-A3B liefern dagegen deutlich vollständigeren Code
Das große Kontextfenster von Gemini ist ein Vorteil, aber wegen der Ausführlichkeit von PCode gibt es in der Praxis dennoch viele Einschränkungen
Ich dachte, dass zu viele an MCP angeschlossene Tools die Leistung verschlechtern, und das hier wirkt nicht wie ein gutes Design
Trotzdem sind API-Transformations-zentrierte Tools nach wie vor schlechter mit LLMs kompatibel
Ich bin kein Reverse Engineer, habe aber mit Claude Code und Ghidra MCP einen Ransomware-Decryptor verbessert
Als ich mehrere Terabyte an Daten wiederhergestellt hatte, fühlte es sich wirklich so an, als hätte ich Superkräfte bekommen
Ich denke, dass KI bei der Binäranalyse übermenschliche Fähigkeiten entwickeln kann
Im Moment ist das zwar eine produktivitätsarme und langweilige Arbeit, aber mit KI könnte sie auch für Security Audits oder zur Abwehr von Supply-Chain-Angriffen genutzt werden
MOOLLMs „skill-snitch“ überwacht das Verhalten anderer Skills, und „cursor-mirror“ schaut vollständig in den internen Zustand von Cursor hinein
Diese Skills lassen sich gegenseitig kombinieren und rekursiv aufrufen und arbeiten dadurch auf eine weit schnellere „speed of light“-Art als MCP
Relevante Materialien: Leela MOOLLM Demo Transcript, speed-of-light skill, skill-snitch report
Ich frage mich, warum das nicht CLI-basiert gebaut wurde. Heutige LLMs und Agenten scheinen mit CLI besser zurechtzukommen