Noelo-Lab/kuna

An agent-first decompiler designed to be refined by other agents. Kuna is written in Rust and was originally ported from Ghidra.

Kuna – 面向智能体的反编译器 (Rust)

简介

  • Kuna 是一个用 Rust 编写的二进制反编译器。它接收编译后的可执行文件(如 ELF、PE),并生成 C 源代码、头文件和汇编文件。
  • 该项目围绕“大语言模型 (LLM) 智能体将成为反编译器主要用户”这一理念构建,因此该工具被设计为智能体优先:快速、面向文本且易于脚本化。

主要功能 (README 描述)

  • 速度与准确性 – 在 DecBench 基准测试中针对优化后的 C 代码名列前茅,可在三分钟内反编译 19 MB 的二进制文件。
  • 多种前端 – 以单个自包含的 Rust 二进制文件形式分发,可运行于:
    1. CLI – kuna decompile <binary> <function>,支持可选标志 (--addr, --option)。
    2. Web (WASM) – 位于 kuna.noelo.org/decompile 的浏览器 UI,完全在客户端运行,确保二进制文件隐私。
    3. Ghidra 插件 – 可通过 KunaDecompiler 扩展替换 Ghidra 内置的反编译器。
  • 智能体集成 – 提供一个“技能”文件 (skills/kuna/SKILL.md),Claude Code、Codex 或 OpenCode 等 LLM 智能体可以安装该文件以学习最佳命令用法。
  • 可扩展流水线 – 反编译器被划分为定义明确的阶段 (p0_knowledge … p9_emit)。每个阶段都有自然语言规范文档,使 LLM 更容易提出并测试更改。
  • 可调选项 – 功能开关通过分层选项目录 (docs/options.md) 暴露。这允许不同用户(例如逆向工程师与漏洞开发者)请求高层级或低层级的输出。

如何获取

  • Linux、Windows 和 macOS 的预构建二进制文件可在 GitHub Releases 页面获取。
  • 从源码构建仅需 Rust 工具链 (cargo)。仓库提供了一个包含快捷方式的 Makefile:
    • make binaries – 构建反编译器、SLEIGH 编译器和 CLI。
    • make specs – 编译 SLEIGH 处理器规范。
    • make test – 运行完整的回归测试套件(83 个测试文件中的 675 个断言)。

项目目标

  1. 自主优化 – 利用 LLM 驱动的流水线和 DecBench 指标,在无需人工干预的情况下持续改进反编译器。
  2. 智能体优先设计 – 优先考虑反编译文本质量和速度,为 LLM 智能体提供简洁的接口。
  3. 可调流水线 – 允许智能体(或人类)即时启用/禁用功能,以适应不同的逆向工程任务。

社区与支持

  • 用于提问和开发讨论的活跃 Discord 频道。
  • 由美国空军研究实验室、Metalware 和美国国防部赞助。
  • 贡献指南和面向智能体的文档位于 AGENTS.md 和 docs/ 中。

总结 Kuna 是一款现代化的 Rust 反编译器,定位为 AI 智能体进行逆向工程的后端。它提供快速、高质量的 C 输出、多种部署选项以及专为自动化、LLM 驱动的改进而构建的架构。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目