GhidraMCP : projet open source permettant aux LLM d'IA de piloter Ghidra de façon autonome pour la rétro-ingénierie 147

小编 ·

GhidraMCP : projet open source permettant aux LLM d'IA de piloter Ghidra de façon autonome pour la rétro-ingénierie

GhidraMCP est un projet open source qui, via le protocole MCP, permet aux LLM d'IA (comme Claude) de piloter Ghidra de façon autonome pour la rétro-ingénierie. Il expose les fonctionnalités clés de Ghidra aux clients MCP : décompilation, analyse de fichiers binaires, renommage automatique des méthodes et des données, et listing des méthodes, classes, importations et tables d'exportation.

GhidraMCP : projet open source permettant aux LLM d'IA de piloter Ghidra de façon autonome pour la rétro-ingénierie

Qu'est-ce que GhidraMCP ?

GhidraMCP est un projet open source qui, via le protocole MCP, permet aux grands modèles d'IA (tels que Claude) d'opérer de manière autonome Ghidra pour la rétro-ingénierie. Il expose les fonctionnalités principales de Ghidra aux clients MCP, prenant en charge la décompilation, l'analyse de fichiers binaires, le renommage automatique des méthodes et des données, ainsi que le listage des méthodes, des classes, des tables d'importation et d'exportation.

GhidraMCP:让 AI大模型能够自主操作Ghidra进行逆向工程.jpg

Fonctionnalités de GhidraMCP

  • Décompilation et analyse : prend en charge la décompilation et l'analyse de fichiers binaires dans Ghidra, en générant du pseudocode hautement lisible.

  • Renommage automatique : annote automatiquement les noms de méthodes, les structures de classes et les variables de données sur la base d'une analyse sémantique, améliorant ainsi la lisibilité du code.

  • Extraction d'informations structurées : exporte en lot les métadonnées telles que la liste des fonctions, les définitions de classes, ainsi que les tables d'importation/exportation du programme.

  • Compatibilité multi-clients : prend en charge tous les clients conformes au protocole MCP, tels que Claude Desktop et 5ire.

Cas d'utilisation de GhidraMCP

  • Analyse de logiciels malveillants : identifie automatiquement les chaînes d'appels d'API suspectes dans les échantillons, génère des rapports de décompilation annotés, et améliore l'efficacité de l'analyse.

  • Recherche de vulnérabilités dans les micrologiciels : combinée à des capacités d'orchestration multi-modèles, elle permet d'extraire les tables de fonctions, d'identifier les failles potentielles et de générer des scripts de validation.

  • Rétro-ingénierie logicielle : aide à comprendre la structure logique de logiciels complexes, réduisant ainsi la difficulté de la rétro-ingénierie.

Architecture technique

  • Protocole MCP : agit comme un « traducteur », définissant le format d'interaction standard entre l'IA et les outils, prenant en charge la transmission des instructions et le retour des résultats.

  • Pont par script Python : le script bridge_mcp_ghidra.py analyse les instructions de l'IA et invoque le plugin Ghidra via une communication par Socket.

  • Plugin Ghidra : GhidraMCPPlugin écoute les instructions et appelle l'API Java de Ghidra pour effectuer des opérations de décompilation, d'analyse symbolique, etc.

Comment utiliser GhidraMCP

1. Installer le plugin Ghidra :

  • Téléchargez la dernière version du package de distribution de GhidraMCP.

  • Lancez Ghidra, sélectionnez File -> Install Extensions, puis importez le fichier ZIP téléchargé.

  • <
  • Redémarrez Ghidra pour vous assurer que le plugin est activé.

2. Configurer le client MCP :

  • Claude Desktop : modifiez le fichier de configuration claude_desktop_config.json et ajoutez la configuration du service GhidraMCP.

  • <
  • 5ire : définissez la configuration de l'outil dans le client, en spécifiant le Tool Key, le Name et la Command.

3. Exécution et utilisation :

  • Une fois le client démarré, vous pouvez interagir avec l'IA en langage naturel pour appeler les fonctionnalités de Ghidra afin d'effectuer une analyse de rétro-ingénierie.

GhidraMCP sur GitHub :https://github.com/LaurieWired/GhidraMCP