12 puntos por GN⁺ 2025-03-28 | 1 comentarios | Compartir por WhatsApp
  • ghidraMCP es un servidor de Model Context Protocol (MCP) que permite que los modelos de lenguaje grandes (LLM) realicen ingeniería inversa de aplicaciones de forma autónoma
  • Expone las funciones principales de Ghidra a clientes MCP para que los LLM puedan usar directamente las herramientas de análisis
  • Al automatizar el proceso de análisis manual existente, contribuye a mejorar la velocidad y la eficiencia de la ingeniería inversa
  • Puede aplicarse en diversos campos como análisis de seguridad basado en IA, análisis de malware y depuración de binarios

Funciones principales

  • Configuración de servidor MCP y plugin de Ghidra
    • Proporciona una interfaz de conexión entre el LLM y Ghidra
    • Expone las funciones de Ghidra al protocolo MCP en forma de API
  • Descompilación y análisis de binarios
    • Realiza descompilación y análisis de archivos ejecutables en varios formatos como ELF y PE mediante Ghidra
  • Asignación automática de nombres a métodos y datos
    • Asigna automáticamente nombres significativos a métodos y datos ofuscados o sin nombre
    • Mejora la legibilidad del código y la velocidad de análisis
  • Consulta de estructura de código
    • Extrae listas de métodos, clases, import y export
    • Útil para analizar el flujo del código y las dependencias

1 comentarios

 
GN⁺ 2025-03-28
Opiniones de Hacker News
  • Hay quien espera que algún día exista una herramienta capaz de convertir todos los binarios privativos en código fuente. Sería divertido tener versiones "open source" de todos los juegos

    • Actualmente existen proyectos como OpenGothic y openage, pero requieren años de esfuerzo por parte de la comunidad
  • Se piensa que, para que los LLMs puedan resolver código, deberían ser nativos de AST. El código tiene estructura de árbol, pero nosotros lo introducimos al modelo de forma lineal

    • Los modelos actuales carecen de recursividad o de una memoria real, por lo que no pueden razonar eficazmente sobre estructuras jerárquicas
  • Hay una pregunta sobre qué herramientas pueden invocar MCP actualmente. Se descubrió que la aplicación de escritorio de Claude puede usar MCP de forma local

    • Surge la duda de si existe alguna interfaz de chat que permita usar MCP de forma remota
    • Se quisiera poder especificar endpoints y funciones de MCP en las interfaces web de ChatGPT, Claude y Gemini para invocar servidores de forma remota
  • Había un buen video sobre una integración anterior entre Ghidra y LLM

    • Malimite – hay información sobre el decompilador de iOS y macOS
    • Si nunca has visto su canal de YouTube, vale la pena revisarlo. Además del contenido técnico, también es divertido por su edición con gráficos de sistemas operativos retro
  • También hay información sobre radare2

  • La experiencia de simplemente copiar y pegar desde Ghidra hacia un LLM no ha sido exitosa. Sería bueno contar con benchmarks para este tipo de cosas

  • Hay una opinión de que sería bueno que el servidor MCP tuviera más capacidades, como lectura y escritura arbitrarias del programa

    • Por ejemplo, se estaba trabajando en un desafío CTF de self-unpacking que usa instrucciones con XOR. Sería útil poder leer el valor en una dirección con XOR
  • Hay un experimento mental sobre cómo cambiaría la seguridad si fuera posible hacer ingeniería inversa perfecta e instantánea de todos los binarios

  • Se pregunta si alguien está trabajando en un "catálogo" de servidores MCP. Buscar en GitHub no es la mejor manera de descubrirlos