Servidor MCP que expone las funciones de ingeniería inversa de Ghidra para que los clientes LLM puedan descompilar y analizar binarios.
symgraph/GhidrAssist
Extensión para Ghidra basada en LLM que incorpora explicación de código, chat y análisis con agentes para la ingeniería inversa.
- Estrellas
- 767
- Forks
- 77
- Issues abiertos
- 4
- Último commit
- hace 5 días
¿Qué es?
GhidrAssist es un plugin Java para Ghidra que conecta a los profesionales de la ingeniería inversa con modelos de lenguaje grandes. Funciona con cualquier API compatible con OpenAI v1, incluidos servidores locales como Ollama y LM Studio, y proveedores en la nube como OpenAI, Anthropic y Azure. Permite explicar funciones en ensamblador o en pseudo-C descompilado, mantener chats con varios turnos y guardar el historial, y ejecutar consultas personalizadas directas con contexto de la función.
Además de las consultas básicas, el plugin crea un grafo semántico de conocimiento del binario en los niveles de sentencia, bloque, función, módulo y binario. Guarda resúmenes del LLM en SQLite, detecta comunidades de funciones con el algoritmo Leiden y extrae el uso de API de red, de entrada/salida de archivos y de criptografía, junto con niveles de riesgo. El modo de agente ReAct puede planificar pasos de investigación, invocar herramientas y sintetizar hallazgos. La compatibilidad con MCP permite trabajar con el servidor GhidrAssistMCP y sus herramientas específicas para Ghidra.
El proyecto está dirigido a profesionales de la ingeniería inversa e investigadores de seguridad que quieran usar un LLM dentro de Ghidra. Requiere Ghidra 11.0 o posterior.
Funciones clave
- 01Explica funciones en ensamblador y en código pseudo-C descompilado.
- 02Permite mantener chats con varios turnos y guardar el historial.
- 03Crea un grafo semántico de conocimiento jerárquico con almacenamiento en SQLite.
- 04Extrae el uso de API de red, de entrada/salida de archivos y de criptografía, junto con niveles de riesgo.
- 05Ejecuta un agente ReAct que planifica y lleva a cabo pasos de investigación.
- 06Se conecta a servidores MCP mediante SSE para usar herramientas específicas de Ghidra.
Casos de uso
- Obtener explicaciones rápidas de funciones desconocidas durante el análisis inicial de un binario.
- Buscar en un binario el uso de API de red, de archivos o de criptografía, con etiquetas de riesgo.
- Ejecutar un LLM local con binarios propietarios sin enviar el código a un servicio en la nube.
- Plantear preguntas de varios pasos, como rastrear el flujo de datos entre funciones.
Inicio rápido
- 1
Copia el ZIP de la versión binaria en el directorio Extensions de Ghidra (si es necesario).
- 2
En Ghidra, ve a File > Install Extension y activa GhidrAssist.
- 3
Abre CodeBrowser, activa GhidrAssist y configura el host de la API y la clave de API en sus ajustes.
Antes de usarlo
- Requiere una API de LLM compatible con OpenAI v1, para la que puede ser necesaria una clave de API de pago o un servidor de modelos local.
- Requiere Ghidra 11.0 o posterior.
- El modo de agente y Actions dependen de modelos que admitan llamadas a herramientas de forma fiable.
Temas
Preguntas frecuentes
- ¿Qué es GhidrAssist?
- Extensión para Ghidra basada en LLM que incorpora explicación de código, chat y análisis con agentes para la ingeniería inversa. GhidrAssist es un plugin Java para Ghidra que conecta a los profesionales de la ingeniería inversa con modelos de lenguaje grandes. Funciona con cualquier API compatible con OpenAI v1, incluidos servidores locales como Ollama y LM Studio, y proveedores en la nube como OpenAI, Anthropic y Azure. Permite explicar funciones en ensamblador o en pseudo-C descompilado, mantener chats con varios turnos y guardar el historial, y ejecutar consultas personalizadas directas con contexto de la función.
- ¿GhidrAssist es gratuito? ¿Qué licencia tiene?
- GhidrAssist es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿GhidrAssist sigue mantenido?
- Mantenimiento activo. El último commit de GhidrAssist fue el 16 oct 2026.
- ¿Para qué puedo usar GhidrAssist?
- Obtener explicaciones rápidas de funciones desconocidas durante el análisis inicial de un binario. Buscar en un binario el uso de API de red, de archivos o de criptografía, con etiquetas de riesgo. Ejecutar un LLM local con binarios propietarios sin enviar el código a un servicio en la nube. Plantear preguntas de varios pasos, como rastrear el flujo de datos entre funciones.
- ¿Cómo se instala GhidrAssist?
- Copia el ZIP de la versión binaria en el directorio Extensions de Ghidra (si es necesario). En Ghidra, ve a File > Install Extension y activa GhidrAssist. Abre CodeBrowser, activa GhidrAssist y configura el host de la API y la clave de API en sus ajustes.
- ¿Dónde consigo GhidrAssist?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/symgraph/GhidrAssist
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Servidor MCP y CLI para que los agentes de IA hagan ingeniería inversa de binarios nativos, apps de Electron, ensamblados .NET y sitios web.
Servidor MCP que permite a asistentes de IA usar Ghidra para analizar binarios, con más de 200 herramientas para descompilar, renombrar y anotar.
Jan es una aplicación de escritorio de código abierto para descargar y ejecutar LLM localmente, con una interfaz similar a ChatGPT y conexión opcional a modelos en la nube.
Un motor TypeScript que ejecuta inferencias de LLM íntegramente en el navegador con WebGPU y ofrece una API compatible con OpenAI.
Interfaz de chat con SvelteKit para LLMs, compatible con cualquier API compatible con OpenAI y base de código de HuggingChat.