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) 에이전트가 디컴파일러의 주요 사용자가 될 것"이라는 아이디어를 중심으로 구축되었으며, 따라서 이 도구는 *에이전트 우선(agent-first)*으로 설계되었습니다: 빠르고, 텍스트 지향적이며, 스크립트 작성이 용이합니다.

주요 기능 (README 설명 기준)

  • 속도 및 정확성 – 최적화된 C 코드에 대한 DecBench 벤치마크에서 상위권을 차지하며, 19 MB 바이너리를 3분 이내에 디컴파일할 수 있습니다.
  • 다양한 프론트엔드 – 단일 독립형 Rust 바이너리로 배포되며 다음 환경에서 실행 가능합니다:
    1. CLI – kuna decompile <binary> <function> (선택적 플래그 --addr, --option 지원).
    2. Web (WASM) – kuna.noelo.org/decompile에서 제공되는 브라우저 기반 UI로, 완전히 클라이언트 측에서 실행되어 바이너리 프라이버시를 유지합니다.
    3. Ghidra 플러그인 – KunaDecompiler 확장을 통해 Ghidra의 내장 디컴파일러를 대체할 수 있습니다.
  • 에이전트 통합 – Claude Code, Codex, OpenCode와 같은 LLM 에이전트가 최적의 명령 사용법을 학습할 수 있도록 설치 가능한 "스킬" 파일(skills/kuna/SKILL.md)을 제공합니다.
  • 확장 가능한 파이프라인 – 디컴파일러는 명확하게 정의된 단계(p0_knowledge … p9_emit)로 나뉩니다. 각 단계는 자연어 사양으로 문서화되어 있어 LLM이 변경 사항을 제안하고 테스트하기가 더 쉽습니다.
  • 조정 가능한 옵션 – 기능 토글은 계층적 옵션 카탈로그(docs/options.md)를 통해 노출됩니다. 이를 통해 다양한 사용자(예: 리버스 엔지니어 vs 익스플로잇 개발자)가 고수준 또는 저수준 출력을 요청할 수 있습니다.

설치 방법

  • 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 채널.
  • 미 공군 연구소(Air Force Research Lab), Metalware, 미국 국방부의 후원.
  • 기여 가이드라인 및 에이전트 대상 문서는 AGENTS.md 및 docs/에 있습니다.

결론 Kuna는 리버스 엔지니어링을 수행하는 AI 에이전트의 백엔드로 자리매김한 현대적인 Rust 기반 디컴파일러입니다. 빠르고 고품질의 C 출력, 다양한 배포 옵션, 그리고 자동화된 LLM 기반 개선을 위해 구축된 아키텍처를 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트