Ghidraのデコンパイラ上に構築されたリバースエンジニアリング用ワークベンチ。ネイティブでJava不要のエンジン、AI支援による関数解析、バイトパッチ、サンドボックス化されたエミュレーション、CLI/MCP自動化を備えています。
プログラムを分解して理解する、その手助けをしながら。 KRAKEN は Ghidra のデコンパイラを基盤としたオープンソースのリバースエンジニアリング・ワークベンチで、Java 不要のネイティブエンジンと、オプションの完全な Ghidra エンジンを備えています。あなた自身、あなたのスクリプト、そして AI エージェントが、単一のコマンドセットを通じて同じプロジェクト上で作業し、すべての編集は記録され、誰によるものかが紐付けられ、取り消し可能です。始めるのにリバースエンジニアリングの知識は必要ありません。アプリは用語をその場で説明し、チュートリアルが最初のセッションを案内します。長期的な目標は、バイナリを関数ごとに Rust へ書き換え、元のコードと照合することです。

実際のネイティブエンジンのプロジェクト: このリポジトリの stripped_calc-O2-stripped で、いくつかの関数に名前を付けた後の状態。
解析
パッチ
AI
自動化
--json 出力、Python モジュール、プロジェクトをウォームに保つバックグラウンドデーモン。書き換え
KRAKEN は pre-alpha(0.1a)です。荒削りな部分や破壊的変更があることを想定してください。
| Linux x86_64 | macOS(Apple silicon) | Windows x86_64 | |
|---|---|---|---|
| CLI、MCP サーバー、GUI | 動作 | ビルド可、実験的 | ビルド可、実験的 |
ネイティブエンジン、Java 不要(kraken setup --native) | 動作(ELF と PE) | 未対応 | 未対応 |
Ghidra による解析(kraken setup) | 動作 | 未対応 | 未対応 |
| Ghidra を囲むサンドボックス | Landlock | 未対応 | 未対応 |
| ローカルモデル | 動作 | ビルド可 | ビルド可 |
| 書き換えパイプライン | 動作(Landlock とモデルが必要) | 実行を拒否 | 実行を拒否 |
「ビルド可」とはコードがコンパイルされ CI でチェックされるという意味であり、製品全体がそこで実証済みという意味ではありません。現時点で使用すべきプラットフォームは Linux です。
Linux x86_64(Java 不要: ネイティブエンジンとそのプロセッサファイルはリリースに含まれています):
curl --proto '=https' --tlsv1.2 -fsSL https://raw.githubusercontent.com/Adam-AtlasSoftware/kraken/main/scripts/install.sh | bash
スクリプトはダウンロードしたファイルをリリースの SHA256SUMS と照合し、sudo を必要とせず ~/.local にインストールします。または 最新リリース から AppImage を取得するか(chmod +x KRAKEN-*.AppImage を実行してから起動します。./KRAKEN-*.AppImage kraken --help でコマンドラインを実行できます)、Arch Linux では AUR から kraken-workbench-bin をインストールしてください。Windows および macOS 向けのアーカイブもリリースページにありますが、これらは実験的なものです(ステータス を参照)。詳細およびソースからのビルドについては インストール を参照してください。
kraken project-create --binary /usr/bin/ls --project ~/kraken-projects/ls
kraken analyze --project ~/kraken-projects/ls
kraken list-functions --project ~/kraken-projects/ls --limit 20
kraken-gui # or open the app and pick the project
新しいプロジェクトでは、ネイティブエンジンがファイルを開ける場合はそれを使用し、そうでない場合はオプションのGhidraエンジン(Mach-O、その他のプロセッサ、Windowsデバッグ情報)を使用します。このエンジンはkraken setupが初回使用時にJDKとともにダウンロードします。ネイティブエンジンのページでは両者を比較しています。corpus/bin/にある練習用プログラムは良い出発点であり、チュートリアルでは最初のセッションを順を追って説明しています。
エージェントを接続する: claude mcp add kraken -- kraken mcp --project ~/kraken-projects/ls。
RustとC++コンパイラが必要です:
git clone https://github.com/Adam-AtlasSoftware/kraken && cd kraken
cargo build --release -p kraken-cli -p krakend -p kraken-gui -p engine-native -p kraken-emu
export PATH="$PWD/target/release:$PATH"
kraken setup --native # once: fetches the pinned sources, compiles the Sleigh files (about a minute)
まず チュートリアル: 最初のリバースエンジニアリングセッション から始めてください。
mdbook build docs で書籍をビルドします。コマンドリファレンスは生成されるものです。コマンドを変更した後は cargo xtask docs を実行してください。
解析するバイナリは信頼できないものです。Ghidra とネイティブエンジンのデコンパイラはそれぞれ別プロセスで実行され、Linux では Landlock によって隔離されます。ネットワークアクセスはなく、書き込みは使い捨てのホームディレクトリとプロジェクトフォルダーのみに限定され、環境変数もクリーンアップされます。KRAKEN が開いたプログラムを実行するのは、プログラム全体の書き換えを要求したときだけであり、その場合も他の処理と同様に隔離され、かつあなたに確認した後で実行されます。ファイルに由来するすべてのもの (名前、文字列、コメント、デコンパイルされたテキスト) は、明確にマークされた信頼できないデータとしてのみ AI モデルに渡され、命令として渡されることは決してありません。エージェントによる書き込みは追加または提案です。エージェントはまだ FUN_... と呼ばれているものに名前を追加したり、コメントを追加したりできますが、それは実行ごとの上限の範囲内であり、あなたの作業を上書きするようなものはあなたが承認するまで待機します。モデルが書き換えパイプライン用に書いたコードはサンドボックス内でのみビルドおよび実行され、承認できるのはあなただけです。詳細は セキュリティ を参照してください。
GPL-3.0-or-later。詳細は LICENSE を参照してください。サードパーティの通知は THIRD-PARTY-NOTICES.md にあります。
KRAKEN は、解析が許可されているソフトウェアに対してのみ使用してください。