Repolode
bethington

bethington/ghidra-mcp

Servidor MCP que permite a asistentes de IA usar Ghidra para analizar binarios, con más de 200 herramientas para descompilar, renombrar y anotar.

Estrellas
5,821
Forks
347
Issues abiertos
33
Último commit
hace 5 días

¿Qué es?

GhidraMCP es un servidor MCP que conecta las capacidades de ingeniería inversa de Ghidra con asistentes de IA y herramientas de automatización. Ofrece más de 200 herramientas para descompilar, analizar grafos de llamadas y referencias cruzadas, trabajar con tipos de datos y structs, analizar cadenas de texto e imports, y realizar operaciones de escritura, como renombrar, asignar tipos y añadir comentarios. Puede ejecutarse como plugin dentro de la interfaz gráfica de Ghidra o como servidor headless, adecuado para análisis mediante scripts y con Docker.

Además del análisis estático, el proyecto ofrece emulación P-code de funciones individuales, integración con el depurador en tiempo real basada en el framework TraceRmi de Ghidra y seguimiento del flujo de datos P-code desde una variable o un registro seleccionados. La coincidencia de funciones basada en hashes permite trasladar documentación de una versión del binario a otra. De forma predeterminada, las herramientas se cargan bajo demanda para no saturar los clientes MCP con el catálogo completo, y la ejecución de scripts está desactivada salvo que se habilite explícitamente.

El proyecto requiere Ghidra 12.1.4 y Java 21. El bridge de Python se puede instalar desde un wheel de una versión publicada, con uv o pip.

Funciones clave

  • 01Ofrece más de 200 herramientas MCP para descompilar, analizar referencias cruzadas y estudiar grafos de llamadas.
  • 02Admite operaciones de escritura, como renombrar, cambiar tipos, añadir comentarios y crear structs.
  • 03Se ejecuta como plugin gráfico dentro de Ghidra o como servidor headless, también con Docker.
  • 04Ofrece emulación P-code de funciones individuales y seguimiento del flujo de datos basado en P-code.
  • 05Se integra con un depurador en tiempo real mediante el framework TraceRmi de Ghidra.
  • 06Traslada documentación de funciones entre versiones de un binario mediante hashes SHA-256 de las funciones.

Casos de uso

  • Permitir que un asistente de IA analice un binario sin símbolos, ponga nombre a las funciones y las documente.
  • Anotar en lote un programa grande y aplicar convenciones de nombres coherentes entre sesiones.
  • Trasladar el trabajo de análisis de una compilación del binario a otra mediante la coincidencia de hashes de funciones.
  • Ejecutar análisis automatizados de Ghidra en pipelines de CI o Docker sin interfaz gráfica.

Inicio rápido

  1. 1

    Instala los requisitos previos: Ghidra 12.1.4, Java 21 y uv

  2. 2

    Instala el ZIP de la extensión GhidraMCP en Ghidra desde File > Install Extensions y, después, reinicia Ghidra

  3. 3

    Instala el puente MCP desde el wheel de la versión con uv

    uv tool install https://github.com/bethington/ghidra-mcp/releases/download/v7.0.0/ghidra_mcp_bridge-7.0.0-py3-none-any.whl
  4. 4

    Conecta tu cliente MCP al puente usando su ruta absoluta

Antes de usarlo

  • La extensión de Ghidra solo se carga en la versión exacta de Ghidra para la que se compiló: la 12.1.4.
  • Se requiere Java 21 y una instancia de Ghidra en ejecución con el plugin GhidraMCP habilitado.
  • main y las versiones candidatas son beta, y dev es experimental, por lo que las interfaces de las herramientas pueden cambiar.
  • Las funciones del depurador en vivo solo funcionan mediante el plugin de la GUI de Ghidra.

Temas

Preguntas frecuentes

¿Qué es ghidra-mcp?
Servidor MCP que permite a asistentes de IA usar Ghidra para analizar binarios, con más de 200 herramientas para descompilar, renombrar y anotar. GhidraMCP es un servidor MCP que conecta las capacidades de ingeniería inversa de Ghidra con asistentes de IA y herramientas de automatización. Ofrece más de 200 herramientas para descompilar, analizar grafos de llamadas y referencias cruzadas, trabajar con tipos de datos y structs, analizar cadenas de texto e imports, y realizar operaciones de escritura, como renombrar, asignar tipos y añadir comentarios. Puede ejecutarse como plugin dentro de la interfaz gráfica de Ghidra o como servidor headless, adecuado para análisis mediante scripts y con Docker.
¿ghidra-mcp es gratuito? ¿Qué licencia tiene?
ghidra-mcp es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿ghidra-mcp sigue mantenido?
Mantenimiento activo. El último commit de ghidra-mcp fue el 16 oct 2026.
¿Para qué puedo usar ghidra-mcp?
Permitir que un asistente de IA analice un binario sin símbolos, ponga nombre a las funciones y las documente. Anotar en lote un programa grande y aplicar convenciones de nombres coherentes entre sesiones. Trasladar el trabajo de análisis de una compilación del binario a otra mediante la coincidencia de hashes de funciones. Ejecutar análisis automatizados de Ghidra en pipelines de CI o Docker sin interfaz gráfica.
¿Cómo se instala ghidra-mcp?
Instala los requisitos previos: Ghidra 12.1.4, Java 21 y uv Instala el ZIP de la extensión GhidraMCP en Ghidra desde File > Install Extensions y, después, reinicia Ghidra Instala el puente MCP desde el wheel de la versión con uv: uv tool install https://github.com/bethington/ghidra-mcp/releases/download/v7.0.0/ghidra_mcp_bridge-7.0.0-py3-none-any.whl Conecta tu cliente MCP al puente usando su ruta absoluta
¿Dónde consigo ghidra-mcp?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/bethington/ghidra-mcp

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados