1 puntos por GN⁺ 2026-02-06 | 1 comentarios | Compartir por WhatsApp
  • Ghidra MCP Server es un servidor Model Context Protocol (MCP) que conecta las funciones de ingeniería inversa de Ghidra con IA y frameworks de automatización
  • A través de 110 herramientas MCP y 132 endpoints, ofrece amplias capacidades de análisis binario como análisis de funciones, exploración de estructuras de datos y extracción de cadenas
  • Soporta procesamiento por lotes, transacciones atómicas y análisis en tiempo real, y puede operarse con despliegue en Docker y modo headless
  • La función de transferencia de documentación entre binarios permite emparejar automáticamente la documentación de funciones entre distintas versiones de binarios
  • Una plataforma que permite implementar flujos de trabajo de ingeniería inversa basados en IA con estabilidad a nivel de producción

Resumen general

  • Ghidra MCP Server es un servidor MCP de nivel de producción que conecta el motor de análisis de Ghidra con herramientas de IA y sistemas de automatización
    • Implementa completamente Model Context Protocol para permitir la interacción con modelos de IA
    • Expone las funciones de Ghidra mediante HTTP REST y el protocolo MCP (stdio/SSE)

Funciones principales

  • Integración central de MCP
    • Compatibilidad total con MCP, 110 herramientas MCP, soporte para operaciones por lotes y transacciones atómicas
    • Integración en tiempo real con el motor de análisis de Ghidra
  • Análisis binario
    • Decompilación de funciones, grafo de llamadas, referencias cruzadas, generación automática de estructuras de datos
    • Incluye extracción de cadenas, análisis de tabla de símbolos, mapeo de memoria y transferencia de documentación entre binarios
  • Desarrollo y automatización
    • Pipeline automatizado de compilación-pruebas-despliegue-validación
    • Creación, ejecución y gestión de scripts de Ghidra, comparación de múltiples programas, renombrado masivo y anotación con comentarios

Instalación y ejecución

  • Requisitos previos: Java 21 LTS, Apache Maven 3.9+, Ghidra 12.0.2, Python 3.8+
  • Procedimiento de instalación
    • Clonar el repositorio e instalar las dependencias de Python
    • Copiar 14 bibliotecas de Ghidra y compilar con Maven
    • Desplegar el plugin en la carpeta de extensiones de Ghidra
  • Formas de ejecución
    • Elegir transporte por Stdio (predeterminado, para herramientas de IA) o SSE (para clientes Web/HTTP)
    • Ejecutar Tools > GhidraMCP > Start MCP Server dentro de Ghidra

Rendimiento y estabilidad

  • Implementación completa de 110 herramientas MCP, con tiempo de respuesta inferior a 1 segundo en la mayoría de las operaciones
  • Estructura de operaciones por lotes que logra una reducción del 93% en llamadas API
  • Todas las operaciones se procesan como transacciones atómicas para garantizar confiabilidad
  • Incluye scripts de despliegue automático con reconocimiento de versión

Configuración de la API

  • Operaciones clave: verificación de conexión, consulta de metadatos, información de versión, exploración de puntos de entrada
  • Análisis de funciones: lista de funciones, búsqueda por nombre, decompilación, grafo de relaciones de llamada, evaluación de completitud de documentación
  • Memoria y datos: lista de segmentos, desensamblado, referencias cruzadas, inspección del contenido de memoria
  • Documentación entre binarios: generación de hashes de funciones, exportación/aplicación de documentación, emparejamiento basado en hashes
  • Gestión de tipos de datos: creación de estructuras y enumeraciones, modificación de campos, fusión de tipos duplicados
  • Gestión de símbolos y etiquetas: listas de importación/exportación, análisis de cadenas, gestión de espacios de nombres y variables globales
  • Renombrado y comentarios: renombrado de funciones, datos y variables, configuración masiva de comentarios
  • Sistema de tipos: definición de prototipos de funciones, configuración de tipos de variables, consulta de convenciones de llamada
  • Gestión de scripts de Ghidra: listado, ejecución, guardado, modificación y eliminación de scripts
  • Soporte para múltiples programas: cambio entre programas abiertos, listado de archivos del proyecto, comparación de documentación
  • Herramientas de análisis: búsqueda de funciones no definidas, búsqueda basada en cadenas, búsqueda de patrones de bytes

Arquitectura

  • Estructura herramientas de IA/automatización ↔ puente MCP ↔ plugin de Ghidra
    • bridge_mcp_ghidra.py: servidor Python que convierte el protocolo MCP en llamadas HTTP
    • GhidraMCP.jar: plugin Java que expone las funciones de Ghidra vía HTTP
    • ghidra_scripts/: incluye más de 70 scripts de automatización

Desarrollo y compilación

  • Incluye compilación basada en Maven y scripts de despliegue en PowerShell
  • La estructura del proyecto se compone de servidor Python, plugin Java, bibliotecas de Ghidra, documentación, ejemplos y scripts de compilación
  • Es necesario copiar 14 bibliotecas obligatorias (aprox. 37 MB) desde la ruta de instalación de Ghidra
  • Incluye despliegue automático, operaciones por lotes, transacciones atómicas y registro detallado

Documentación y flujo de trabajo con IA

  • La carpeta docs/ incluye documentación completa, estructura del proyecto, convenciones de nombres y notación húngara
  • Prompts de flujo de trabajo con IA: documentación de funciones, emparejamiento entre versiones y prompts de inicio rápido
  • Historial de versiones: CHANGELOG.md y docs/releases incluyen detalles por versión

Licencia y estado

  • Bajo Apache License 2.0
  • Versión 2.0.0, implementación completa de 110 herramientas MCP e inclusión de más de 70 scripts de Ghidra
  • Listo para despliegue en entornos de producción, adecuado para ingeniería inversa basada en IA

Proyectos relacionados

  • re-universe: plataforma de análisis de similitud binaria a gran escala basada en PostgreSQL
  • cheat-engine-server-python: servidor MCP para análisis dinámico de memoria y depuración

Agradecimientos

  • Agradecimientos al equipo de Ghidra, a los desarrolladores de Model Context Protocol y a los contribuidores de la comunidad

1 comentarios

 
GN⁺ 2026-02-06
Comentarios en Hacker News
  • Crear este proyecto surgió de lo doloroso que era hacer ingeniería inversa de varias versiones de software
    La clave es un sistema de hash de funciones normalizado que genera hashes según la estructura lógica de la función (instrucciones, operandos, flujo de control)
    Gracias a eso, aunque el binario se reconstruya o se rebase, la misma función conserva el mismo hash, y todos los comentarios, tipos y nombres se trasladan automáticamente
    Incluye 110 herramientas mediante un puente MCP para Ghidra, y puede integrarse con Claude, Claude Code u otros clientes MCP
    Se validó con varias versiones de parche de Diablo II, y fue posible trasladar automáticamente más de 1,300 comentarios de funciones
    También permite integración con CI mediante modo headless basado en Docker
    En v2.0.0 se agregaron binding solo para localhost, configuración de timeout, eliminación de labels, configuración con .env, etc.
    Se agradece cualquier discusión sobre el enfoque de hashing o el diseño de MCP

    • Tengo curiosidad por saber en qué se diferencia frente al FunctionID nativo de Ghidra o el plugin BinDiff
    • Me gustaría saber cómo se compara con ReVa
      La guía de instalación parece incompleta. Después de instalarlo en Ghidra y reiniciar, no aparece GhidraMCP en el menú Tools
    • Intenté usarlo directamente, pero Ghidra no reconoce el plugin
      Me pregunto si GH Discussions es el canal correcto para comunicarse
    • Me interesa saber cuál es la diferencia con otros servidores MCP para Ghidra (pyghidra-mcp, ReVa, GhidrAssistMCP, etc.)
    • Me pregunto si admite decompilación de binarios Android
  • Probé el servidor MCP de Ghidra de LaurieWired, y analizar binarios y crear keygens fue demasiado divertido y sencillo
    Sin duda pienso probar también este servidor MCP

    • Hace tiempo intenté instalar un software que yo mismo había hecho, pero pedía autenticación a un servidor que ya no existía, así que no se podía instalar; intenté crear mi propio Ghidra MCP y fracasé
      Qué curioso que este proyecto aparezca justo en este momento
    • Esta rama está 110 commits por delante de main en LaurieWired/GhidraMCP
  • Vi que un colega de la empresa usó Ghidra con Claude para hackear el juego River Ride, y yo también lo probé
    Había porteado un juego antiguo de PowerPC a Apple Silicon, y aunque probé varios MCP, Claude Code alucinaba código con frecuencia
    Al final obtuve los mejores resultados con Cursor + modo headless de GPT 5.2 Codex

    • Yo también estoy experimentando con ingeniería inversa, y GPT-5.2 Codex es muy superior a Claude
      Por ejemplo, restauró por completo en 30 minutos un archivo C64-SID de 1,300 líneas
      Ahora mismo estoy construyendo un sistema multiagente para hacer ingeniería inversa de un juego completo de C64
      Ver código de ejemplo
  • La ingeniería inversa con IA está subestimada
    Yo logré extraer claves de cifrado de una app Android, pero las claves estaban ocultas dentro de un shader y solo se podían obtener ejecutando realmente ese shader

    • Le dimos a Claude un viejo juego hecho en Unity y generó un port completo a TypeScript
      Ahora le estamos agregando funcionalidad multijugador en el navegador
    • Me parece interesante eso de extraer la clave desde un shader. Me gustaría saber más sobre el método concreto
    • Yo también intenté restaurar código fuente y detectar vulnerabilidades desde binarios conectando MCP y varias herramientas, y el resultado casi coincidía con el código real
  • Llevo meses usando la versión de LaurieWired con 15 herramientas, y da la sensación de que la estructura interna de la app se vuelve completamente transparente
    Sirve para rastrear bugs, crear plugins e incluso modificar apps
    También uso Hopper Disassembler junto con código Objective-C
    Artículo relacionado: Full recompilation with LLMs and Ghidra

    • Como empleado de GitHub, no me deja una buena impresión equiparar la ingeniería inversa de apps con OSS
  • La ingeniería inversa con LLM de verdad está subestimada
    Estoy restaurando un juego de hace 30 años, y cuando le doy al modelo los resultados del decompilado de Ghidra y la información de símbolos en formato RAG, salen resultados sorprendentes
    Incluso modelos baratos como Gemini 3 Flash son bastante utilizables

    • Pero Gemini a veces genera pseudocódigo incompleto
      Omite partes de la función o deja solo comentarios dentro de bloques switch
      En cambio, Claude Opus o Qwen3-30B-A3B producen código mucho más completo
      La gran ventana de contexto de Gemini es una ventaja, pero en la práctica sigue habiendo muchas limitaciones por lo verboso de PCode
  • Pensé que conectar demasiadas herramientas a MCP hacía caer el rendimiento, así que esto no parece un buen diseño

    • Hoy en día, con lazy loading, el problema de las herramientas MCP se ha resuelto hasta cierto punto
      Aun así, las herramientas centradas en traducir APIs siguen siendo poco compatibles con los LLM
    • Parece que unas herramientas tipo skill basadas en vibecoded serían mucho más eficientes
  • No soy ingeniero inverso, pero mejoré un desencriptador de ransomware usando Claude Code y Ghidra MCP
    Cuando recuperé varios terabytes de datos, sentí de verdad que había obtenido superpoderes

    • Alguien bromeó: “¿No significa eso que con ese superpoder también podrías haber hecho un cifrador más confiable?”
  • Creo que la IA puede mostrar capacidades sobrehumanas en el análisis de binarios
    Hoy es un trabajo poco productivo y aburrido, pero con IA también podría usarse para auditorías de seguridad o para defenderse de ataques a la cadena de suministro

    • Exacto, y además la IA también puede analizarse a sí misma
      “skill-snitch” de MOOLLM monitorea cómo operan otras skills, y “cursor-mirror” permite ver por completo el estado interno de Cursor
      Estas skills pueden combinarse y llamarse recursivamente entre sí, y funcionan de una manera “speed of light” mucho más rápida que MCP
      Material relacionado: Leela MOOLLM Demo Transcript, speed-of-light skill, skill-snitch report
  • Me pregunto por qué no lo hicieron basado en CLI. Parece que hoy los LLM y los agentes manejan mejor la CLI

    • Creo que eso solo pasa cuando la CLI está en los datos de entrenamiento. Si es una herramienta nueva, igual hay que meter toda la documentación en el contexto
    • Este proyecto empezó antes de que MCP se comiera demasiado contexto (LaurieWired/GhidraMCP)
    • Últimamente herramientas como Claude Code ya soportan carga basada en búsqueda de herramientas, así que la carga de contexto de MCP se ha reducido bastante
    • Pienso algo parecido. Si la descripción de las 110 herramientas entra siempre en el contexto, solo aumenta el ruido