Zion Basque lanza Kuna, un descompilador construido casi en su totalidad por un LLM

El proyecto de código abierto utiliza fallos en los benchmarks para orientar a los agentes de codificación hacia técnicas procedentes de Ghidra, angr y IDA Pro.

By · Published

Primary source: Noelo Lab

Why it matters

Kuna tests a practical model for agent-built scientific software: experts define metrics and architecture, while coding agents implement and iteratively refine the system.

Illustration of Kuna, Zion Basque's LLM-built decompiler, visualized as deconstructed machine code with exposed circuit traces and inner logic

Zion Leonahenahe Basque publicó Kuna el 29 de julio, abriendo el código de un descompilador experimental que, según él, fue escrito casi en su totalidad por un modelo de lenguaje grande.

El proyecto es la prueba de Basque de una afirmación específica sobre los agentes de codificación: un investigador puede dirigirlos con medidas y ejemplos de fallos, y luego dejar que los agentes se encarguen de la mayor parte de la implementación. En su publicación de lanzamiento, Basque escribió que un LLM "ha escrito casi cada línea de código" en Kuna. Su contribución se sitúa por encima de ese bucle de generación de código: elegir la arquitectura, desarrollar las métricas, ensamblar los datos del benchmark y decidir qué deficiencias deben atacar los agentes.

Esa división del trabajo refleja el camino de Basque hacia el proyecto. Completó un doctorado en Arizona State University con una disertación titulada "Toward a Science of Software Reverse Engineering", en la que argumenta que la ingeniería inversa necesita objetivos más claros y definiciones medibles de éxito. Durante su trabajo doctoral fue desarrollador central del descompilador angr y estudió cómo las métricas pueden guiar el diseño de descompiladores. Noelo Lab, que Basque dirigirá en University of Georgia, comienza formalmente el 1 de agosto.

Kuna convierte esa agenda de investigación en una herramienta funcional. Basque la construyó durante el verano mientras se desempeñaba como investigador visitante de planta en el Air Force Research Laboratory y como research fellow en Metalware, un desarrollador de seguridad de firmware de San Francisco procedente de la cohorte de verano 2023 de Y Combinator. Kuna sigue siendo un proyecto de investigación de Noelo Lab y no un producto de Metalware.

Un descompilador diseñado para sus propios agentes de codificación

Los descompiladores convierten código máquina en representaciones de más alto nivel que los humanos y los agentes de software pueden inspeccionar. Su salida sustenta el análisis de malware, la investigación de vulnerabilidades y el trabajo sobre programas cuyo código fuente no está disponible.

El código fuente de Kuna comenzó como un puerto a Rust del descompilador Ghidra de la National Security Agency. Basque luego remodeló la canalización en torno a ideas de angr y otras investigaciones de descompilación. El proyecto, con licencia Apache-2.0, se ejecuta desde la línea de comandos, dentro del navegador a través de WebAssembly y como núcleo descompilador dentro de la interfaz gráfica de Ghidra.

Su arquitectura está pensada para facilitar cambios adicionales por parte de los agentes. Las fases de la canalización están separadas, algoritmos importantes reciben especificaciones en lenguaje natural y las funciones del descompilador pueden activarse o desactivarse en tiempo de ejecución. Eso le da a un agente un espacio de búsqueda más pequeño cuando un benchmark expone una salida defectuosa. Puede localizar la fase relevante, inspeccionar el comportamiento documentado, modificar una función y ejecutar las pruebas de nuevo.

Basque dice que ese proceso permitió a los agentes volver a implementar más de 20 características desarrolladas previamente para angr. La dependencia histórica importa. Kuna se apoya en técnicas producidas a través de años de investigación dirigida por humanos, incluido el propio trabajo de Basque, y las empaqueta en una base de código estructurada para modificaciones repetidas por agentes.

El repositorio del proyecto hace explícito el modelo operativo previsto. Se espera que los agentes de codificación realicen la mayor parte del análisis y la creación de código, mientras que los humanos aportan el juicio de diseño, los conjuntos de datos, los prompts y los criterios de aceptación. Las prioridades de Kuna también difieren de las herramientas convencionales de ingeniería inversa: la calidad del texto descompilado y la velocidad tienen prioridad sobre las interfaces gráficas porque Basque espera que los agentes de software se conviertan en consumidores importantes de la salida de los descompiladores.

El resultado del benchmark viene con un denominador controlado

El resultado principal de Basque es lo bastante cercano como para exigir atención y lo bastante acotado como para requerir cuidado. En programas C en DecBench, Kuna produjo una estructura de control de flujo perfecta para el 44.4% de las funciones, en comparación con el 45.7% de IDA Pro 9.2, según la publicación de lanzamiento de Basque.

La estructuración del control de flujo determina cómo los saltos y bifurcaciones de bajo nivel se reconstruyen en construcciones legibles como bucles, condicionales y switches. Es uno de los componentes de la calidad de la descompilación. El resultado de Kuna no establece la paridad con IDA Pro como un sistema completo de ingeniería inversa, y Basque no lo presenta de esa manera. Enumera tipos, optimización, recompilabilidad e identificación de variables entre las áreas que aún requieren trabajo sustancial.

El benchmark también proviene del propio entorno de investigación de Basque. DecBench se identifica como un benchmark experimental y vivo y reconoce que errores o proyectos sobrerrepresentados pueden afectar sus resultados. Al 30 de julio de 2026, DecBench enumera 94,575 funciones distribuidas en 803 binarios y 9 descompiladores, puntuadas en tres métricas: Code Structure, Types (args and vars) y Byte-match Recompilability. La reproducción independiente determinará hasta qué punto el resultado de estructuración de Kuna se mantiene fuera de ese entorno.

Aun así, la comparación demuestra algo útil sobre la ingeniería dirigida por agentes. Al agente se le dieron ejemplos concretos donde Kuna rendía peor que IDA Pro, Ghidra o angr, y luego se le pidió refinar la implementación mediante ensayo y error. La retroalimentación provino de una salida mensurable en lugar de una instrucción general para mejorar el descompilador.

Ese bucle sitúa el trabajo humano difícil al principio. Los investigadores deben decidir qué significa la calidad, construir conjuntos de datos representativos e identificar métricas que correspondan con las necesidades de los ingenieros inversos. La disertación de Basque y la investigación relacionada suministraron esos ingredientes antes de que un agente pudiera comenzar a hacer cambios útiles.

Basque mantiene abierto el ciclo de investigación

Basque también mantiene a angr en el centro de su trabajo. Lo describió como su entorno preferido para desarrollar nuevos algoritmos de descompilación, mientras que Kuna prueba cómo los agentes pueden absorber y refinar técnicas ya establecidas. La relación es deliberadamente recíproca. Hoy Kuna depende de angr y de otra investigación de código abierto; la meta de Basque es que las mejoras producidas a través de Kuna eventualmente retroalimenten esa base de investigación.

Metalware ofrece un entorno comercial adyacente para el trabajo. Metalware analiza binarios de firmware sin requerir código fuente, hardware o arneses de prueba, y después devuelve crashes, trazas de pila, entradas reproducibles y análisis de la causa raíz. Una mejor descompilación automatizada puede dar a los agentes de seguridad representaciones más claras de los binarios que están probando, aunque Kuna esté separado del producto de Metalware.

El valor inmediato de Kuna reside en el experimento que Basque ha hecho inspeccionable. El código, las especificaciones y la estructura de pruebas muestran dónde él cree que los agentes de codificación pueden hacerse cargo del trabajo de implementación y dónde un experto del dominio sigue siendo esencial. El resultado temprano del benchmark da a ese argumento un punto de control medible. Las pruebas más difíciles aún están por venir: si los agentes pueden mejorar las partes menos maduras del descompilador, si investigadores externos pueden reproducir las ganancias y si Kuna puede producir técnicas que valga la pena enviar de vuelta a la corriente principal.

Reader comments

Conversation for this story loads after sign-in.