Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
pyghidra-mcp — Ghidra-MCP für die Python-Kommandozeile | Kitploit
Tools/GitHubGitHub/clearbluejar/pyghidra-mcp
Embedded-System-SicherheitStatische AnalyseCode-AnalyseReverse EngineeringDebuggerMalware-AnalyseBinäranalyseLernen & BildungKI-gestütztes Reverse EngineeringFirmware-Analyse
GitHubclearbluejar/pyghidra-mcp
4045545vor 11 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

pyghidra-mcp

Ghidra-MCP für die Python-Kommandozeile

Repository anzeigen

GitHub Workflow Status (with event) PyPI - Downloads

PyGhidra-MCP - Ghidra Model Context Protocol Server

Überblick

pyghidra-mcp ist ein kommandozeilenbasierter Model Context Protocol (MCP)-Server, der die volle Analyseleistung von Ghidra, einer robusten Software-Reverse-Engineering-(SRE)-Suite, in die Welt intelligenter Agenten und LLM-basierter Tooling-Umgebungen bringt. Er verbindet Gidras ProgramAPI und FlatProgramAPI über pyghidra und jpype mit Python und stellt diese Funktionalität anschließend über das Model Context Protocol bereit.

MCP ist eine einheitliche Schnittstelle, die es Sprachmodellen, Entwicklungswerkzeugen (wie VS Code) und autonomen Agenten ermöglicht, auf strukturierten Kontext zuzugreifen, Tooling aufzurufen und intelligent zusammenzuarbeiten. Man kann sich MCP als die Brücke zwischen leistungsstarken Analysewerkzeugen und dem LLM-Ökosystem vorstellen.

Mit pyghidra-mcp wird Ghidra zu einem intelligenten Backend – bereit, kontextreiche Abfragen zu beantworten, tiefgehende Reverse-Engineering-Aufgaben zu automatisieren und in KI-gestützte Workflows integriert zu werden.

pyghidra-mcp unterstützt jetzt zwei Betriebsmodi:

  • headless-Modus für CLI-gesteuerte Analyse und Automatisierung
  • --gui-Modus, der Ghidra über pyghidra-mcp startet und den Live-Programmzustand mit der laufenden GUI teilt

[!NOTE] Dieses Beta-Projekt befindet sich in aktiver Entwicklung. Wir freuen uns über Feedback, Fehlerberichte, Feature-Anfragen und Code.

Noch ein Ghidra MCP?

Ja, das ursprüngliche ghidra-mcp ist fantastisch. Aber pyghidra-mcp verfolgt einen anderen Ansatz:

  • 🐍 Headless-first, GUI-fähig – Läuft vollständig über die CLI für optimierte Automatisierung oder startet Ghidra mit --gui, wenn Sie Live-GUI-Navigation und -Bearbeitung wünschen.
  • 🔁 Für Automatisierung konzipiert – Ideal für die Integration mit LLMs, CI-Pipelines und Tooling, das reproduzierbares Verhalten erfordert.
  • ✅ CI/CD-freundlich – Entwickelt mit robusten Unit- und Integrationstests für Client- und Server-Sitzungen.
  • 🚀 Schneller Start – Asynchroner Start ermöglicht es dem Server, Anfragen zu bearbeiten, während Binärdateien noch im Hintergrund analysiert werden. Unterstützt schnellen Kommandozeilenstart mit minimalem Setup.
  • 📦 Projektweite Analyse – Ermöglicht gleichzeitiges Reverse Engineering aller Binärdateien in einem Ghidra-Projekt
  • 🤖 Agentenbereit – Entwickelt für intelligente agentengesteuerte Workflows und groß angelegte Reverse-Engineering-Automatisierung.
  • 🔍 Semantische Codesuche – Verwendet Vektor-Embeddings (über ChromaDB), um schnelle, unscharfe Suche über dekompilierte Funktionen, Kommentare und Symbole zu ermöglichen – perfekt für Pseudo-C-Erkundung und agentengesteuerte Triage.

Dieses Projekt bietet eine Python-first-Erfahrung, optimiert für lokale Entwicklung, Headless-Umgebungen und testbare Workflows.

Setup-Diagramme

Wie die Komponenten zusammenspielen

flowchart LR
    subgraph Clients["Clients"]
        Agent["MCP host / agent"]
        Cli["pyghidra-mcp-cli"]
        User["Ghidra user"]
    end

    subgraph Process["pyghidra-mcp process"]
        Transport["streamable HTTP (recommended)<br/>stdio (local fallback)"]
        Tools["MCP tools"]
        Context["PyGhidra context"]
    end

    Project["Ghidra project<br/>.gpr / .rep"]
    Artifacts["MCP artifacts<br/>ChromaDB + GZF cache"]
    Gui["Ghidra GUI / CodeBrowser<br/>only with --gui"]

    Agent -->|"HTTP (recommended)"| Transport
    Cli -->|"HTTP only"| Transport
    Transport --> Tools
    Tools --> Context
    Context --> Project
    Context --> Artifacts
    Context -.-> Gui
    User -.-> Gui
    Gui -.-> Project

Auswahl eines Modus

flowchart TD
    Start["What do you need?"]
    Start --> Headless["Agent or automation"]
    Start --> GuiNeed["Live Ghidra GUI control"]
    Start --> Terminal["Interactive terminal client"]

    Headless --> Http["pyghidra-mcp<br/>--transport streamable-http"]
    GuiNeed --> GuiMode["pyghidra-mcp --gui<br/>--transport streamable-http<br/>--project-path project.gpr"]
    Terminal --> HttpServer["Start pyghidra-mcp<br/>--transport streamable-http"]
    HttpServer --> CliMode["Run pyghidra-mcp-cli commands"]
  • Headless MCP: streamable-http verwenden. Es hält Ghidra und sein Projekt als einen lang laufenden Server am Leben und funktioniert sowohl mit MCP-Hosts als auch mit dem CLI-Client.
  • GUI-Modus: pyghidra-mcp startet Ghidra, öffnet das Projekt und stellt zusätzliche Tools bereit, die den CodeBrowser in derselben JVM steuern.
  • CLI-Client: pyghidra-mcp-cli ist ein HTTP-Client. Zuerst einen streamable-http-Server starten, dann Terminalbefehle gegen diesen laufenden Server absetzen.
  • stdio: nur für MCP-Hosts beibehalten, die keine Verbindung zu einem HTTP-Endpunkt herstellen können.
Detaillierte Architektur und Tool-Oberfläche
flowchart TD
    subgraph Clients
        Agent["LLM / MCP host"]
        Cli["pyghidra-mcp-cli"]
        Automation["scripts and CI"]
    end

    subgraph Transports
        Stdio["stdio"]
        Http["streamable-http"]
        Sse["sse legacy"]
    end

    subgraph Server["pyghidra-mcp server"]
        McpServer["MCPServer tool server"]
        Context["PyGhidra context"]
        Indexing["background analysis and Chroma indexing"]

        subgraph Tools["MCP tools"]
            Analysis["decompile, xrefs, bytes, callgraph"]
            Search["symbols, strings, code"]
            ProjectOps["import, delete, metadata, list binaries"]
            Edits["rename function, rename variable, set type, set prototype, set comment"]
            GuiOnly["GUI only: open program, goto, list open programs, set current program"]
        end
    end

    subgraph GhidraRuntime["Ghidra runtime"]
        PyGhidra["pyghidra"]
        Jpype["JPype shared JVM"]
        Project["Ghidra project"]
        Programs["program databases"]
        CodeBrowser["Ghidra GUI / CodeBrowser"]
    end

    Agent --> Http
    Automation --> Http
    Automation --> Sse
    Cli --> Http

    Stdio --> McpServer
    Http --> McpServer
    Sse --> McpServer

    McpServer --> Context
    Context --> PyGhidra
    PyGhidra --> Jpype
    Jpype --> Project
    Project --> Programs
    Context --> Indexing
    Indexing --> Search

    McpServer --> Tools
    Tools --> Context
    GuiOnly -.-> CodeBrowser
    Context -.-> CodeBrowser

Inhalt

Tool herunterladen