ghidraMCP
ghidraMCP es un servidor de Protocolo de Contexto de Modelo que permite a los LLM realizar ingeniería inversa de aplicaciones de forma autónoma. Expone numerosas herramientas de la funcionalidad principal de Ghidra a los clientes MCP.
https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9
Características
Servidor MCP + complemento Ghidra
Descompilar y analizar binarios en Ghidra
Renombrar automáticamente métodos y datos
Enumere métodos, clases, importaciones y exportaciones
Instalación
Prerrequisitos
Instalar Ghidra
Python3
Related MCP server: IDA Pro MCP
Ghidra
Primero, descarga la última versión de este repositorio. Esta contiene el plugin de Ghidra y el cliente MCP de Python. Después, puedes importar el plugin directamente a Ghidra.
Ejecutar Ghidra
Seleccione
File->Install ExtensionsHaga clic en el botón
+Seleccione
GhidraMCP-1-2.zip(o la versión que elija) de la versión descargadaReiniciar Ghidra
Asegúrese de que GhidraMCPPlugin esté habilitado en
File->Configure->DeveloperOpcional : Configure el puerto en Ghidra con
Edit->Tool Options->GhidraMCP HTTP Server
Guía de instalación en vídeo:
https://github.com/user-attachments/assets/75f0c176-6da1-48dc-ad96-c182eb4648c3
Clientes de MCP
En teoría, cualquier cliente MCP debería funcionar con ghidraMCP. A continuación se muestran tres ejemplos.
Ejemplo 1: Claude Desktop
Para configurar Claude Desktop como un cliente Ghidra MCP, vaya a Claude -> Settings -> Developer -> Edit Config -> claude_desktop_config.json y agregue lo siguiente:
Alternativamente, edite este archivo directamente:
La IP y el puerto del servidor son configurables y deben apuntar a la instancia de Ghidra de destino. Si no se configuran, ambos se establecerán como localhost:8080.
Ejemplo 2: Cline
Para usar GhidraMCP con Cline , también es necesario ejecutar manualmente el servidor MCP. Primero, ejecute el siguiente comando:
El único argumento obligatorio es el transporte. Si no se especifican los demás argumentos, se usarán los anteriores por defecto. Una vez que el servidor MCP esté en ejecución, abra Cline y seleccione MCP Servers en la parte superior.
Luego, seleccione Remote Servers y agregue lo siguiente, asegurándose de que la URL coincida con el host y el puerto de MCP:
Nombre del servidor: GhidraMCP
URL del servidor:
http://127.0.0.1:8081/sse
Ejemplo 3: 5ire
Otro cliente MCP compatible con múltiples modelos en el backend es 5ire . Para configurar GhidraMCP, abra 5ire y vaya a Tools -> New y configure lo siguiente:
Clave de herramienta: ghidra
Nombre: GhidraMCP
Comando:
python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py
Construyendo desde la fuente
Copie los siguientes archivos desde su directorio Ghidra al directorio
lib/de este proyecto:
Ghidra/Features/Base/lib/Base.jarGhidra/Features/Decompiler/lib/Decompiler.jarGhidra/Framework/Docking/lib/Docking.jarGhidra/Framework/Generic/lib/Generic.jarGhidra/Framework/Project/lib/Project.jarGhidra/Framework/SoftwareModeling/lib/SoftwareModeling.jarGhidra/Framework/Utility/lib/Utility.jarGhidra/Framework/Gui/lib/Gui.jar
Construya con Maven ejecutando:
mvn clean package assembly:single
El archivo zip generado incluye el plugin de Ghidra compilado y sus recursos. Estos archivos son necesarios para que Ghidra reconozca la nueva extensión.
lib/GhidraMCP.jar
extensiones.propiedades
Módulo.manifiesto