Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
pyghidra-mcp — Ghidra MCP en ligne de commande Python | Kitploit
Outils/GitHubGitHub/clearbluejar/pyghidra-mcp
Sécurité des Systèmes EmbarquésAnalyse StatiqueAnalyse de CodeRétro-ingénierieDébogueursAnalyse de MalwareAnalyse de BinairesApprentissage et ÉducationRétro-Ingénierie Assistée par IAAnalyse de Micrologiciel
GitHub
4045545il y a 12 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
clearbluejar/pyghidra-mcp

pyghidra-mcp

Ghidra MCP en ligne de commande Python

Voir le dépôt

GitHub Workflow Status (with event) PyPI - Downloads

PyGhidra-MCP - Serveur Model Context Protocol pour Ghidra

Aperçu

pyghidra-mcp est un serveur en ligne de commande Model Context Protocol (MCP) qui apporte toute la puissance analytique de Ghidra, une suite robuste de rétro-ingénierie logicielle (SRE), dans le monde des agents intelligents et de l'outillage basé sur les LLM. Il fait le lien entre l'ProgramAPI et l'FlatProgramAPI de Ghidra et Python via pyghidra et jpype, puis expose ces fonctionnalités via le Model Context Protocol.

MCP est une interface unifiée qui permet aux modèles de langage, aux outils de développement (comme VS Code) et aux agents autonomes d'accéder à un contexte structuré, d'invoquer des outils et de collaborer intelligemment. Considérez MCP comme le pont entre les outils d'analyse puissants et l'écosystème des LLM.

Avec pyghidra-mcp, Ghidra devient un backend intelligent—prêt à répondre à des requêtes riches en contexte, à automatiser des tâches profondes de rétro-ingénierie et à s'intégrer dans des workflows assistés par IA.

pyghidra-mcp prend désormais en charge deux modes de fonctionnement :

  • mode headless pour l'analyse et l'automatisation pilotées par CLI
  • mode --gui, qui lance Ghidra via pyghidra-mcp et partage l'état du programme en direct avec l'interface graphique en cours d'exécution

[!NOTE] Ce projet bêta est en cours de développement actif. Nous serions ravis de recevoir vos retours, rapports de bugs, demandes de fonctionnalités et contributions de code.

Encore un autre Ghidra MCP ?

Oui, le ghidra-mcp original est fantastique. Mais pyghidra-mcp adopte une approche différente :

  • 🐍 Headless-first, compatible GUI – Fonctionne entièrement via CLI pour une automatisation rationalisée, ou lance Ghidra avec --gui lorsque vous souhaitez une navigation et des modifications en direct dans l'interface graphique.
  • 🔁 Conçu pour l'automatisation – Idéal pour l'intégration avec les LLM, les pipelines CI et les outils nécessitant un comportement reproductible.
  • ✅ Compatible CI/CD – Développé avec des tests unitaires et d'intégration robustes pour les sessions client et serveur.
  • 🚀 Démarrage rapide – Le démarrage asynchrone permet au serveur de commencer à traiter les requêtes pendant que les binaires sont encore analysés en arrière-plan. Prend en charge un lancement rapide en ligne de commande avec une configuration minimale.
  • 📦 Analyse à l'échelle du projet – Permet la rétro-ingénierie concurrente de tous les binaires d'un projet Ghidra
  • 🤖 Prêt pour les agents – Conçu pour les workflows pilotés par des agents intelligents et l'automatisation de la rétro-ingénierie à grande échelle.
  • 🔍 Recherche sémantique de code – Utilise des embeddings vectoriels (via ChromaDB) pour permettre une recherche rapide et approximative parmi les fonctions décompilées, les commentaires et les symboles—parfait pour l'exploration de pseudo-C et le triage piloté par agent.

Ce projet offre une expérience Python-first optimisée pour le développement local, les environnements headless et les workflows testables.

Schémas de configuration

Comment les éléments s'articulent

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

Choisir un mode

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"]
  • MCP sans interface graphique : utilisez streamable-http. Cela maintient Ghidra et son projet actifs en tant que serveur unique de longue durée et fonctionne à la fois avec les hôtes MCP et le client CLI.
  • Mode GUI : pyghidra-mcp lance Ghidra, ouvre le projet et expose des outils supplémentaires qui pilotent le CodeBrowser dans la même JVM.
  • Client CLI : pyghidra-mcp-cli est un client HTTP. Démarrez d'abord un serveur streamable-http, puis émettez des commandes terminal contre ce serveur en cours d'exécution.
  • stdio : conservez ceci uniquement pour les hôtes MCP qui ne peuvent pas se connecter à un point de terminaison HTTP.
Architecture détaillée et surface des outils
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

Sommaire

Télécharger l’outil