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より)
- 速度と精度 – 最適化されたCコードのDecBenchベンチマークでトップの座を占めており、19 MBのバイナリを3分以内に逆コンパイル可能です。
- 複数のフロントエンド – 単一の自己完結型Rustバイナリとして配布され、以下のように実行可能です:
- CLI –
kuna decompile <binary> <function>(オプションフラグ--addr,--optionをサポート)。 - Web (WASM) –
kuna.noelo.org/decompileにあるブラウザベースのUI。完全にクライアントサイドで動作し、バイナリのプライバシーを保護します。 - Ghidraプラグイン –
KunaDecompiler拡張機能を通じてGhidraの組み込み逆コンパイラを置き換えることができます。
- CLI –
- エージェント統合 – LLMエージェント(Claude Code、Codex、OpenCodeなど)が最適なコマンド使用法を学習するためにインストールできる「スキル」ファイル (
skills/kuna/SKILL.md) を同梱しています。 - 拡張可能なパイプライン – 逆コンパイラは明確に定義されたフェーズ (
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のアサーション)を実行します。
プロジェクトの目標
- 自律的な改善 – LLM駆動のパイプラインとDecBenchメトリクスを使用して、人間の介入なしに逆コンパイラを継続的に改善します。
- エージェントファーストな設計 – 逆コンパイルされたテキストの品質と速度を優先し、LLMエージェントにクリーンなインターフェースを提供します。
- 調整可能なパイプライン – エージェント(または人間)が、さまざまなリバースエンジニアリングタスクに合わせて機能をオン/オフできるようにします。
コミュニティとサポート
- 質問や開発議論のためのアクティブなDiscordチャンネル。
- 米空軍研究所、Metalware、米国国防総省による支援。
- 貢献ガイドラインとエージェント向けドキュメントは
AGENTS.mdおよびdocs/にあります。
結論 Kunaは、リバースエンジニアリングを行うAIエージェントのバックエンドとして位置付けられた、現代的なRustベースの逆コンパイラです。高速で高品質なC出力、複数のデプロイオプション、そして自動化されたLLM駆動の改善のために構築されたアーキテクチャを提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト