Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
pyghidra-mcp — Python Ghidra MCP da riga di comando | Kitploit
Strumenti/GitHubGitHub/clearbluejar/pyghidra-mcp
Sicurezza Sistemi EmbeddedAnalisi StaticaAnalisi del CodiceReverse EngineeringDebuggerAnalisi MalwareAnalisi di BinariApprendimento e FormazioneReverse Engineering Assistito dall'IAAnalisi del Firmware
GitHub
40455255 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
clearbluejar/pyghidra-mcp

pyghidra-mcp

Python Ghidra MCP da riga di comando

Vedi Repository

GitHub Workflow Status (with event) PyPI - Downloads

PyGhidra-MCP - Server Ghidra Model Context Protocol

Panoramica

pyghidra-mcp è un server Model Context Protocol (MCP) da riga di comando che porta tutta la potenza analitica di Ghidra, una suite robusta per il reverse engineering del software (SRE), nel mondo degli agenti intelligenti e degli strumenti basati su LLM. Collega la ProgramAPI e la FlatProgramAPI di Ghidra a Python usando pyghidra e jpype, quindi espone queste funzionalità tramite il Model Context Protocol.

MCP è un'interfaccia unificata che consente a modelli linguistici, strumenti di sviluppo (come VS Code) e agenti autonomi di accedere a contesti strutturati, invocare strumenti e collaborare in modo intelligente. Pensa a MCP come al ponte tra potenti strumenti di analisi e l'ecosistema degli LLM.

Con pyghidra-mcp, Ghidra diventa un backend intelligente—pronto a rispondere a query ricche di contesto, automatizzare attività complesse di reverse engineering e integrarsi in flussi di lavoro assistiti dall'IA.

pyghidra-mcp ora supporta due modalità operative:

  • modalità headless per analisi e automazione guidate da CLI
  • modalità --gui, che avvia Ghidra tramite pyghidra-mcp e condivide lo stato live del programma con la GUI in esecuzione

[!NOTE] Questo progetto beta è in fase di sviluppo attivo. Apprezziamo feedback, segnalazioni di bug, richieste di funzionalità e codice.

Ancora un altro Ghidra MCP?

Sì, l'originale ghidra-mcp è fantastico. Ma pyghidra-mcp adotta un approccio diverso:

  • 🐍 Headless-first, con capacità GUI – Esegui interamente tramite CLI per un'automazione semplificata, oppure avvia Ghidra con --gui quando vuoi navigazione e modifiche live nella GUI.
  • 🔁 Progettato per l'automazione – Ideale per l'integrazione con LLM, pipeline CI e strumenti che richiedono comportamenti ripetibili.
  • ✅ Adatto a CI/CD – Costruito con test unitari e di integrazione robusti sia per sessioni client che server.
  • 🚀 Avvio rapido – L'avvio asincrono consente al server di iniziare a gestire le richieste mentre i binari vengono ancora analizzati in background. Supporta l'avvio rapido da riga di comando con configurazione minima.
  • 📦 Analisi a livello di progetto – Consente il reverse engineering concorrente di tutti i binari in un progetto Ghidra.
  • 🤖 Pronto per gli agenti – Progettato per flussi di lavoro guidati da agenti intelligenti e automazione del reverse engineering su larga scala.
  • 🔍 Ricerca semantica del codice – Usa embedding vettoriali (tramite ChromaDB) per consentire una ricerca fuzzy veloce tra funzioni decompilate, commenti e simboli—perfetta per l'esplorazione di pseudo-C e il triage guidato da agenti.

Questo progetto offre un'esperienza Python-first ottimizzata per lo sviluppo locale, ambienti headless e flussi di lavoro testabili.

Schemi di Setup

Come si Collegano i Componenti```mermaid

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

subgraph Process["pyghidra-mcp process"]
    Transport["stdio or streamable-http"]
    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 -->|"stdio or HTTP"| Transport
Cli -->|"HTTP only"| Transport
Transport --> Tools
Tools --> Context
Context --> Project
Context --> Artifacts
Context -.-> Gui
User -.-> Gui
Gui -.-> Project
### Scegliere una modalità```mermaid
flowchart TD
    Start["What do you need?"]
    Start --> Headless["Agent or automation only"]
    Start --> GuiNeed["Live Ghidra GUI control"]
    Start --> Terminal["Interactive terminal client"]

    Headless --> Stdio["pyghidra-mcp -t stdio<br/>or -t 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"]
  • MCP headless: usa stdio per host MCP locali, oppure streamable-http quando più client necessitano dello stesso progetto Ghidra a lunga esecuzione.
  • Modalità GUI: pyghidra-mcp avvia Ghidra, apre il progetto ed espone strumenti aggiuntivi che guidano il CodeBrowser nella stessa JVM.
  • Client CLI: pyghidra-mcp-cli è un client HTTP. Avvia prima un server streamable-http, poi invia comandi da terminale verso quel server in esecuzione.
Architettura dettagliata e superficie degli strumenti```mermaid 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"]
    FastMcp["FastMCP 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 --> Stdio
Agent --> Http
Automation --> Stdio
Automation --> Http
Automation --> Sse
Cli --> Http

Stdio --> FastMcp
Http --> FastMcp
Sse --> FastMcp

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

FastMcp --> Tools
Tools --> Context
GuiOnly -.-> CodeBrowser
Context -.-> CodeBrowser
</details>

## Contenuti
Scarica lo strumento