1 points par GN⁺ 2026-02-06 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Ghidra MCP Server est un serveur Model Context Protocol (MCP) qui relie les capacités de reverse engineering de Ghidra à des frameworks d’IA et d’automatisation
  • Fournit de larges capacités d’analyse binaire via 110 outils MCP et 132 endpoints, dont l’analyse de fonctions, l’exploration de structures de données et l’extraction de chaînes
  • Prend en charge le traitement par lots, les transactions atomiques et l’analyse en temps réel, avec exploitation possible via déploiement Docker et mode headless
  • La fonction de transfert de documentation inter-binaire permet de faire correspondre automatiquement la documentation des fonctions entre différentes versions d’un même binaire
  • Une plateforme permettant de mettre en œuvre des workflows de reverse engineering assistés par IA avec une stabilité de niveau production

Vue d’ensemble

  • Ghidra MCP Server est un serveur MCP de niveau production qui relie le moteur d’analyse de Ghidra à des outils d’IA et à des systèmes d’automatisation
    • Implémente entièrement le Model Context Protocol pour permettre l’interaction avec des modèles d’IA
    • Expose les fonctionnalités de Ghidra via HTTP REST et le protocole MCP (stdio/SSE)

Fonctionnalités principales

  • Intégration MCP cœur
    • Compatibilité MCP complète, 110 outils MCP fournis, prise en charge des opérations par lots et des transactions atomiques
    • Intégration en temps réel avec le moteur d’analyse de Ghidra
  • Analyse binaire
    • Décompilation de fonctions, graphes d’appels, références croisées, génération automatique de structures de données
    • Inclut l’extraction de chaînes, l’analyse de tables de symboles, le mappage mémoire et la fonction de transfert de documentation inter-binaire
  • Développement et automatisation
    • Pipeline automatisé de build-test-déploiement-vérification
    • Création, exécution et gestion de scripts Ghidra, comparaison multi-programmes, renommage massif et ajout d’annotations

Installation et exécution

  • Prérequis : Java 21 LTS, Apache Maven 3.9+, Ghidra 12.0.2, Python 3.8+
  • Procédure d’installation
    • Cloner le dépôt puis installer les dépendances Python
    • Copier 14 bibliothèques Ghidra puis compiler avec Maven
    • Déployer le plugin dans le dossier des extensions Ghidra
  • Modes d’exécution
    • Choix entre le transport Stdio (par défaut, pour les outils d’IA) et le transport SSE (pour les clients Web/HTTP)
    • Dans Ghidra, exécuter Tools > GhidraMCP > Start MCP Server

Performances et fiabilité

  • Implémentation complète de 110 outils MCP, avec un temps de réponse inférieur à 1 seconde pour la plupart des opérations
  • Architecture d’opérations par lots permettant une réduction de 93 % des appels API
  • Toutes les opérations sont traitées via des transactions atomiques pour garantir la fiabilité
  • Fournit des scripts de déploiement automatique tenant compte des versions

Configuration de l’API

  • Opérations essentielles : vérification de connexion, consultation des métadonnées, informations de version, exploration des points d’entrée
  • Analyse de fonctions : liste des fonctions, recherche par nom, décompilation, graphe des relations d’appel, évaluation de l’exhaustivité de la documentation
  • Mémoire et données : liste des segments, désassemblage, références croisées, inspection du contenu mémoire
  • Documentation inter-binaire : génération de hash de fonctions, export/application de documentation, appariement basé sur des hash
  • Gestion des types de données : création de structures et d’énumérations, modification de champs, fusion de types en double
  • Gestion des symboles et labels : listes d’import/export, analyse de chaînes, gestion des espaces de noms et des variables globales
  • Renommage et annotations : renommage de fonctions, données et variables, définition de commentaires en masse
  • Système de types : définition de prototypes de fonctions, définition du type des variables, consultation des conventions d’appel
  • Gestion des scripts Ghidra : liste, exécution, sauvegarde, modification et suppression des scripts
  • Prise en charge multi-programmes : basculement entre programmes ouverts, liste des fichiers du projet, comparaison de documentation
  • Outils d’analyse : recherche de fonctions non définies, recherche basée sur des chaînes, recherche de motifs d’octets

Architecture

  • Structure outil IA/automatisation ↔ pont MCP ↔ plugin Ghidra
    • bridge_mcp_ghidra.py : serveur Python qui convertit le protocole MCP en appels HTTP
    • GhidraMCP.jar : plugin Java qui expose les fonctionnalités de Ghidra en HTTP
    • ghidra_scripts/ : inclut plus de 70 scripts d’automatisation

Développement et build

  • Build basé sur Maven et scripts de déploiement PowerShell fournis
  • La structure du projet comprend un serveur Python, un plugin Java, des bibliothèques Ghidra, de la documentation, des exemples et des scripts de build
  • Les 14 bibliothèques requises (environ 37 Mo) doivent être copiées depuis le chemin d’installation de Ghidra
  • Inclut le déploiement automatique, les opérations par lots, les transactions atomiques et une journalisation détaillée

Documentation et workflows IA

  • Le dossier docs/ contient la documentation complète, la structure du projet, les conventions de nommage et la notation hongroise
  • Prompts de workflow IA : documentation de fonctions, appariement entre versions et prompts de démarrage rapide
  • Historique des versions : détails par version dans CHANGELOG.md et docs/releases

Licence et état

  • Sous Apache License 2.0
  • Version 2.0.0, implémentation complète de 110 outils MCP, avec plus de 70 scripts Ghidra inclus
  • Prêt pour un déploiement en environnement de production, adapté au reverse engineering assisté par IA

Projets associés

  • re-universe : plateforme d’analyse de similarité binaire à grande échelle basée sur PostgreSQL
  • cheat-engine-server-python : serveur MCP pour l’analyse mémoire dynamique et le débogage

Remerciements

  • Remerciements à l’équipe Ghidra, aux développeurs du Model Context Protocol et aux contributeurs de la communauté

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.