GhidraMCP: proyecto de código abierto que permite a los LLM de IA manejar Ghidra de forma autónoma para ingeniería inversa 144

小编 ·

GhidraMCP: proyecto de código abierto que permite a los LLM de IA manejar Ghidra de forma autónoma para ingeniería inversa

GhidraMCP es un proyecto de código abierto que, mediante el protocolo MCP, permite que los LLM de IA (como Claude) operen Ghidra de forma autónoma para realizar ingeniería inversa. Expone las funciones principales de Ghidra a clientes MCP, incluyendo descompilación, análisis de archivos binarios, renombrado automático de métodos y datos, y listado de métodos, clases, importaciones y tablas de exportación.

GhidraMCP: proyecto de código abierto que permite a los LLM de IA manejar Ghidra de forma autónoma para ingeniería inversa

¿Qué es GhidraMCP?

GhidraMCP es un proyecto de código abierto que, a través del protocolo MCP, permite que los grandes modelos de IA (como Claude) operen Ghidra de forma autónoma para realizar ingeniería inversa. Expone las funciones principales de Ghidra a los clientes MCP, admite la descompilación, el análisis de archivos binarios, el renombramiento automático de métodos y datos, así como la enumeración de métodos, clases, tablas de importación y exportación.

GhidraMCP:让 AI大模型能够自主操作Ghidra进行逆向工程.jpg

Características de GhidraMCP

  • Descompilación y análisis: permite descompilar y analizar archivos binarios en Ghidra, generando pseudocódigo de alta legibilidad.

  • Renombramiento automático: anota automáticamente nombres de métodos, estructuras de clases y variables de datos basándose en análisis semántico, mejorando la legibilidad del código.

  • Extracción estructurada de información: exporta en lote metadatos como listas de funciones, definiciones de clases y tablas de importación/exportación de los programas.

  • Compatibilidad con múltiples clientes: admite todos los clientes que cumplen con el protocolo MCP, como Claude Desktop y 5ire.

Casos de uso de GhidraMCP

  • Análisis de malware: identifica automáticamente cadenas sospechosas de llamadas a API en las muestras, generando informes de descompilación anotados y mejorando la eficiencia del análisis.

  • Búsqueda de vulnerabilidades en firmware: combina capacidades de programación multi-modelo para extraer tablas de funciones, identificar posibles puntos vulnerables y generar scripts de verificación.

  • Ingeniería inversa de software: ayuda a comprender la estructura lógica de software complejo, reduciendo la dificultad de la ingeniería inversa.

Arquitectura técnica

  • Protocolo MCP: actúa como "intérprete", definiendo un formato estándar de interacción entre la IA y las herramientas, admitiendo el envío de instrucciones y la devolución de resultados.

  • Puente con scripts de Python: el script bridge_mcp_ghidra.py interpreta las instrucciones de la IA y llama al complemento de Ghidra mediante comunicación por Socket.

  • Complemento de Ghidra: GhidraMCPPlugin escucha las instrucciones y llama a la API Java de Ghidra para realizar operaciones de descompilación, análisis de símbolos y otras.

Cómo usar GhidraMCP

1. Instalar el complemento de Ghidra:

  • Descarga la última versión del paquete de distribución de GhidraMCP.

  • Inicia Ghidra, selecciona File -> Install Extensions e importa el archivo ZIP descargado.

  • Reinicia Ghidra y asegúrate de que el complemento esté habilitado.

2. Configurar el cliente MCP:

  • Claude Desktop: edita el archivo de configuración claude_desktop_config.json y añade la configuración del servicio de GhidraMCP.

  • 5ire: configura los ajustes de la herramienta en el cliente, especificando Tool Key, Name y Command.

3. Ejecución y uso:

  • Una vez iniciado el cliente, puedes interactuar con la IA mediante lenguaje natural para llamar a las funciones de Ghidra y realizar análisis de ingeniería inversa.

GhidraMCP en GitHub:https://github.com/LaurieWired/GhidraMCP