Home
Login
LaurieWired/GhidraMCP

Un outil fournissant un service de protocole de contexte de modèle (MCP) pour Ghidra, permettant aux grands modèles de langage d'effectuer une analyse d'ingénierie inverse autonome.

Apache-2.0Java 5.1kLaurieWired Last Updated: 2025-04-22
https://github.com/LaurieWired/GhidraMCP

Présentation détaillée du projet GhidraMCP

Aperçu du projet

GhidraMCP est un projet open source révolutionnaire, développé par LaurieWired, visant à connecter de manière transparente l'outil de rétro-ingénierie Ghidra, open source de la NSA, avec des grands modèles de langage (LLM). Ce projet implémente un serveur de protocole de contexte de modèle (Model Context Protocol, MCP), permettant aux modèles d'IA d'appeler de manière autonome les fonctionnalités principales de Ghidra pour effectuer l'analyse de rétro-ingénierie de fichiers binaires.

Fonctionnalités et caractéristiques principales

🔧 Fonctionnalités principales

  1. Décompilation et analyse de fichiers binaires

    • Chargement et analyse automatiques des fichiers exécutables binaires
    • Fourniture de fonctionnalités de décompilation complètes
    • Prise en charge de divers formats de fichiers et architectures
  2. Analyse de code automatisée

    • Identification et renommage automatiques des méthodes
    • Analyse intelligente des structures de données
    • Analyse du flux de code
  3. Extraction d'informations sur la structure du programme

    • Liste de toutes les méthodes et fonctions
    • Extraction des informations de classe et des relations d'héritage
    • Analyse des tables de symboles d'importation/exportation
  4. Analyse pilotée par l'IA

    • Permettre aux LLM d'opérer directement Ghidra via le protocole MCP
    • Prise en charge des requêtes et analyses en langage naturel
    • Flux de travail de rétro-ingénierie intelligent

🌟 Caractéristiques techniques

Architecture du serveur MCP

  • Prise en charge du protocole: Implémentation complète de la spécification du protocole de contexte de modèle
  • Compatibilité multi-clients: Prise en charge de divers clients MCP tels que Claude Desktop, Cline, 5ire, etc.
  • Configuration flexible: IP et port du serveur configurables

Intégration du plugin Ghidra

  • Intégration transparente: Installation et exécution directes en tant que plugin Ghidra
  • Prise en charge native: Utilisation de l'ensemble complet de fonctionnalités de Ghidra
  • Communication en temps réel: Communication avec des clients externes via un serveur HTTP

Prise en charge multiplateforme

  • Compatibilité multiplateforme: Prise en charge de Windows, macOS, Linux
  • Pont Python: Utilisation de Python comme pont client MCP
  • Interface standardisée: Conformité à la norme du protocole MCP

Plateformes clientes prises en charge

1. Intégration de Claude Desktop

En configurant le fichier claude_desktop_config.json, les utilisateurs peuvent utiliser directement les fonctionnalités de Ghidra dans Claude Desktop :

{
  "mcpServers": {
    "ghidra": {
      "command": "python",
      "args": ["/path/to/bridge_mcp_ghidra.py", "--ghidra-server", "http://127.0.0.1:8080/"]
    }
  }
}

2. Prise en charge de Cline

Prise en charge du client Cline via le protocole de transmission SSE (Server-Sent Events), offrant des fonctionnalités d'analyse de rétro-ingénierie en temps réel.

3. Compatibilité 5ire

Prise en charge du client 5ire avec prise en charge de plusieurs modèles backend, élargissant la gamme de choix de modèles d'IA.

Installation et déploiement

Configuration requise

  • Ghidra (dernière version)
  • Python 3.x
  • Environnement d'exécution Java
  • Maven (pour la construction)

Étapes d'installation

  1. Télécharger la version publiée

    • Télécharger la dernière version depuis la page GitHub Releases
    • Inclut le plugin Ghidra pré-construit et le client Python MCP
  2. Installer le plugin Ghidra

    • Lancer Ghidra
    • Sélectionner File → Install Extensions
    • Ajouter le fichier zip GhidraMCP téléchargé
    • Redémarrer Ghidra et activer le plugin
  3. Configurer le client MCP

    • Effectuer la configuration appropriée en fonction du client utilisé
    • Définir l'adresse et le port du serveur corrects

Construction pour les développeurs

Pour les développeurs qui ont besoin d'une construction personnalisée :

  1. Copier les fichiers JAR Ghidra nécessaires dans le répertoire lib/ du projet
  2. Utiliser Maven pour construire : mvn clean package assembly:single
  3. Le fichier zip généré contient le plugin et les ressources complètes

Scénarios d'application

🔍 Recherche en sécurité

  • Analyse de logiciels malveillants: Analyse de rétro-ingénierie automatisée de logiciels malveillants assistée par l'IA
  • Recherche de vulnérabilités: Identification et analyse rapides des vulnérabilités logicielles
  • Audit de code: Audit de sécurité de fichiers binaires à grande échelle

🎓 Éducation et formation

  • Enseignement de la rétro-ingénierie: Fournir aux étudiants un environnement d'apprentissage assisté par l'IA
  • Amélioration des compétences: Aider les chercheurs à maîtriser rapidement les techniques de rétro-ingénierie complexes

🏢 Applications d'entreprise

  • Sécurité de la chaîne d'approvisionnement: Analyse de la sécurité des composants logiciels tiers
  • Contrôle de conformité: Contrôle automatisé de la conformité du code
  • Protection de la propriété intellectuelle: Identification du plagiat de code et de l'utilisation non autorisée

Points d'innovation technique

1. Fusion profonde de l'IA et de la rétro-ingénierie

GhidraMCP a réalisé pour la première fois l'intégration directe de modèles d'IA avec des outils de rétro-ingénierie professionnels, inaugurant un nouveau paradigme d'analyse de rétro-ingénierie pilotée par l'IA.

2. Prise en charge du protocole standardisé

L'adoption du protocole MCP assure la compatibilité avec divers clients d'IA, fournissant un chemin standardisé pour l'IA des outils de rétro-ingénierie.

3. Flux de travail automatisé

Grâce à l'interaction en langage naturel, les utilisateurs peuvent exécuter des tâches d'analyse de rétro-ingénierie complexes avec des descriptions simples, réduisant considérablement les barrières techniques.

Perspectives d'avenir et impact

Impact sur l'industrie

  • Amélioration de l'efficacité: Transformation de l'analyse de rétro-ingénierie manuelle traditionnelle en un processus automatisé assisté par l'IA
  • Vulgarisation des compétences: Réduction de la courbe d'apprentissage de la rétro-ingénierie, permettant à davantage de personnes de participer à la recherche en sécurité
  • Accélération de la recherche: Fournir aux chercheurs en sécurité des outils d'analyse plus puissants

Développement futur

  • Extension des fonctionnalités: Intégration continue de davantage de fonctionnalités avancées de Ghidra
  • Optimisation des performances: Amélioration de la vitesse de traitement de l'analyse de fichiers volumineux
  • Écosystème communautaire: Création d'une communauté de développeurs autour de l'analyse de rétro-ingénierie par l'IA

Conclusion

Le projet GhidraMCP représente une innovation importante dans le domaine de la rétro-ingénierie, combinant avec succès la technologie de l'intelligence artificielle avec les outils d'analyse statique traditionnels. En fournissant une interface MCP standardisée, ce projet permet non seulement aux modèles d'IA d'opérer directement Ghidra pour effectuer des analyses binaires complexes, mais fournit également à l'ensemble de la communauté de recherche en sécurité une puissante plateforme d'analyse automatisée.

La signification de ce projet ne réside pas seulement dans la mise en œuvre technique, mais aussi dans le fait qu'il ouvre de nouvelles possibilités pour la rétro-ingénierie et la recherche en sécurité. Avec le développement continu de la technologie de l'IA, GhidraMCP est susceptible de devenir l'infrastructure de base des futurs outils d'analyse de sécurité intelligents, faisant progresser l'ensemble de l'industrie de la cybersécurité vers une direction plus automatisée et intelligente.

Pour les chercheurs en sécurité, les ingénieurs en rétro-ingénierie et les développeurs intéressés par les applications de l'IA, GhidraMCP est sans aucun doute un excellent projet open source qui mérite d'être suivi et étudié.