GhidraMCP : un outil de rétro-ingénierie pour connecter l'IA à la Ghidra

Introduction générale

GhidraMCP est un outil open source dont l'objectif principal est de combiner l'intelligence artificielle (IA) avec Ghidra, un puissant logiciel de rétro-ingénierie. Il automatise la tâche d'analyse des fichiers binaires en permettant aux grands modèles de langage (LLM) d'opérer directement sur Ghidra par le biais du protocole Model Context Protocol (MCP). Cet outil a été développé par LaurieWired sur GitHub et publié en mars 2025. Il convient aux chercheurs en sécurité, aux programmeurs ou aux utilisateurs intéressés par la rétro-ingénierie.GhidraMCP est là pour rendre plus efficaces des analyses manuelles autrement complexes, en particulier pour des scénarios tels que l'analyse de logiciels malveillants et la découverte de vulnérabilités.

GhidraMCP:连接AI与Ghidra的逆向工程工具

 

Liste des fonctions

  • Rétro-ingénierie automatisée : contrôlez Ghidra par le biais de l'IA pour analyser automatiquement les binaires.
  • Renommage des méthodes et des données : identifiez les méthodes et les données dans votre code et générez automatiquement des noms plus lisibles.
  • Analyse d'un fichier binaire : liste les fonctions, les classes et les informations d'importation et d'exportation du fichier.
  • Assistance à l'analyse des logiciels malveillants : aide à identifier les failles de sécurité potentielles et les comportements malveillants.
  • Prise en charge de plusieurs MCP Client : Compatible Claude Desktop, 5ire et autres clients.
  • Open source et personnalisable : les utilisateurs peuvent modifier le code ou étendre les fonctionnalités selon leurs besoins.

 

Utiliser l'aide

Processus d'installation

GhidraMCP est nécessaire pour travailler avec les clients Ghidra et MCP. Voici les étapes détaillées de l'installation :

  1. Préparation de l'environnement
    • Assurez-vous d'avoir installé Ghidra, un outil de rétro-ingénierie open source développé par la National Security Agency (NSA), qui peut être téléchargé à partir du site web de Ghidra.
    • Installer l'environnement Python, Python 3.8 ou supérieur est recommandé car certains scripts dépendent de Python.
    • Téléchargez GhidraMCP. depuis le dépôt GitHub Cliquez sur "Releases" pour obtenir la dernière version du fichier ZIP.
  2. Installation du plug-in Ghidra
    • Décompressez le fichier ZIP GhidraMCP téléchargé et localisez le fichier du plugin (généralement le fichier .zip (Format).
    • Ouvrez Ghidra et allez dans le menu File -> Install Extensions.
    • Cliquez sur le bouton "+" pour sélectionner le fichier de plugin extrait, confirmez et redémarrez Ghidra.
    • Une fois le plugin installé, les fonctionnalités de GhidraMCP sont automatiquement intégrées dans Ghidra.
  3. Configuration du client MCP
    GhidraMCP nécessite un client MCP pour se connecter à l'IA. Voici un exemple de Claude Desktop et 5ire :

    • Configuration du bureau de Claude
      • Ouvrez le bureau de Claude et allez dans Settings -> Developer -> Edit Config.
      • Modifier le fichier de configuration claude_desktop_config.jsonajouter ce qui suit :
        {
        "mcpServers": {
        "ghidra": {
        "command": "python",
        "args": ["/你的绝对路径/bridge_mcp_ghidra.py"]
        }
        }
        }
        
      • sécurisé bridge_mcp_ghidra.py Le chemin d'accès au fichier est correct, ce fichier se trouve dans le paquet de téléchargement GhidraMCP.
    • Configuration 5 fils
      • Ouvrez 5ire et allez à Tools -> New.
      • Entrez le chemin et les paramètres de GhidraMCP dans les paramètres et sauvegardez la configuration.
    • Une fois la configuration terminée, démarrez le client et l'IA pourra communiquer avec Ghidra via le protocole MCP.
  4. Vérifier l'installation
    • Ouvrez Ghidra et chargez un fichier binaire (par ex. .exe peut-être .bin).
    • Entrez une commande dans le client MCP, par exemple "Analyser toutes les fonctions de ce fichier". Si le résultat est normal, l'installation a réussi.

Principales fonctions

  • Analyse automatisée des fichiers binaires
    • Après avoir ouvert le fichier cible dans Ghidra, passez au client MCP.
    • Saisissez une commande en langage naturel, telle que "lister toutes les fonctions et les renommer", et l'IA appellera automatiquement les fonctions de Ghidra, analysera le fichier et renverra les résultats.
    • Les résultats sont affichés dans l'interface client et comprennent généralement une liste de fonctions et de nouveaux noms générés automatiquement.
  • Renommer les méthodes et les données
    • Du côté client, tapez "rename all unnamed functions" (renommer toutes les fonctions sans nom). L'IA devinera à quoi sert la fonction en se basant sur le contexte et vous donnera un nom plus intuitif.
    • Si des ajustements manuels sont nécessaires, le résultat renommé est synchronisé avec la vue du code de Ghidra.
  • Analyse des logiciels malveillants
    • Après avoir chargé l'échantillon de logiciel malveillant, entrez dans "Rechercher des vulnérabilités potentielles" ou "Rechercher des comportements malveillants".
    • L'IA analyse les tables d'importation du fichier, les chaînes de caractères et les relations d'appel, et signale les problèmes de sécurité éventuels, tels que les demandes de réseau ou les opérations de fichier suspectes.

flux de travail

  1. Démarrer les clients Ghidra et MCP.
  2. Importez le fichier binaire dans Ghidra et cliquez sur "Analyze" pour lancer l'analyse initiale.
  3. Passez au client MCP et entrez une commande d'analyse telle que "extraire toutes les chaînes" ou "analyser les appels de fonction".
  4. Consultez les résultats renvoyés, ajustez les instructions si nécessaire ou vérifiez manuellement les détails.
  5. En sauvegardant les résultats de l'analyse, Ghidra permet d'exporter vers un fichier de projet en vue d'une utilisation ultérieure.

mise en garde

  • Assurez-vous que le réseau est ouvert, certains modèles d'IA doivent être appelés en ligne.
  • Si vous rencontrez une erreur, vérifiez le bridge_mcp_ghidra.py ou consultez la page Issues sur GitHub pour obtenir de l'aide.
  • Pour les fichiers volumineux, l'analyse peut prendre plus de temps et il est recommandé de tester d'abord de petits échantillons.

 

scénario d'application

  1. Recherche sur les logiciels malveillants
    Les chercheurs en sécurité peuvent utiliser GhidraMCP pour analyser rapidement les virus ou les chevaux de Troie afin de trouver la logique d'exécution et les fonctions cachées du code malveillant.
  2. Exploration des vulnérabilités des logiciels
    Les développeurs peuvent l'utiliser pour inspecter les binaires à la recherche de failles de sécurité potentielles, telles que des débordements de mémoire tampon ou des accès non autorisés.
  3. Apprendre la rétro-ingénierie
    Les débutants peuvent rapidement comprendre la structure et la fonction des fichiers binaires grâce à l'assistance de l'IA, ce qui abaisse le seuil d'apprentissage.

 

QA

  1. Quels sont les systèmes d'exploitation pris en charge par GhidraMCP ?
    Il est compatible avec tous les systèmes pris en charge par Ghidra, y compris Windows, Mac et Linux.
  2. Expérience en programmation requise ?
    Pas nécessaire. L'installation et l'utilisation de base se font étape par étape. Toutefois, si vous souhaitez personnaliser les fonctionnalités, la connaissance de Java ou de Python est un atout.
  3. Peut-il être utilisé hors ligne ?
    Oui, mais certains des modèles d'IA doivent être mis en réseau. Si vous utilisez des modèles locaux, vous pouvez les faire fonctionner complètement hors ligne.
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...