AIアシスタントからGhidraを操作し、バイナリを分析できるMCPサーバー。逆コンパイル、リネーム、注釈付けなど200以上のツールを提供。
radareorg/r2ai
radare2にAI支援リバースエンジニアリング用のr2aiコマンドと、逆コンパイル向けdecaiプラグインを追加するLLM対応プラグイン。
- スター
- 532
- フォーク
- 69
- 未解決の Issue
- 4
- 最終コミット
- 6 時間前
これは何?
r2aiは、バイナリ解析に大規模言語モデルを取り入れるradare2プラグイン群です。radare2のシェルにr2aiコマンドを追加し、REPLやバッチモードでの対話のほか、r2pipe経由でスクリプトからも利用できます。Ollama、OpenAI、Anthropic、Grokなどのプロバイダーが提供するローカルモデルやリモートモデルを実行でき、ロールやプロンプトもカスタマイズできます。
このパッケージには、LLMで逆コンパイルを強化するr2jsベースのプラグインdecaiも含まれます。そのほか、関数呼び出しを使ってタスクを進める自動ReActモード、組み込みのベクトルデータベースによるMarkdown・コード・テキストファイルの検索、radare2コマンドの出力を埋め込んでモデルに質問する機能を備えています。関数の説明、変数名や関数シグネチャの提案、脆弱性の検索といったタスク向けのプロンプトも用意されています。
プロジェクトはCで書かれており、MITライセンスで配布されています。r2pmからインストールでき、APIキーは環境変数または設定ファイルで指定できます。
主な機能
- 01radare2のシェルに、REPLとバッチモードに対応したr2aiコマンドを追加します。
- 02Ollama、OpenAI、Anthropic、Grokなどのローカルモデルやリモートモデルを利用できます。
- 03LLMで逆コンパイルを強化するプラグインdecaiが含まれています。
- 04関数呼び出しを利用する自動ReActモードに対応しています。
- 05組み込みのベクトルデータベースを使って、ローカルファイルを検索できます。
- 06一般的な解析タスク向けに、カスタムロールやプロンプトを定義できます。
ユースケース
- radare2でバイナリをリバースエンジニアリングしながら、不明な関数や変数を説明する。
- シンボルが削除されたコードに、より適切な名前や関数シグネチャを付ける。
- r2pipeを通じてLLM支援の解析をスクリプト化する。
- トリアージ中にモデルの支援を受けながらマルウェアサンプルを解析する。
クイックスタート
- 1
r2pmでr2aiプラグインをインストールします
r2pm -Uci r2ai - 2
環境変数にAPIキーを設定します(例:OpenAIまたはAnthropic)
export OPENAI_API_KEY=<your-key> - 3
r2aiコマンドを利用できる状態でradare2を起動します
r2 -qc r2ai
使う前に知っておきたいこと
- radare2とLLMプロバイダーが必要です。利用には有料のAPIキーまたはローカルモデルのセットアップが必要な場合があります。
収録されている特集
トピック
よくある質問
- r2ai とは?
- radare2にAI支援リバースエンジニアリング用のr2aiコマンドと、逆コンパイル向けdecaiプラグインを追加するLLM対応プラグイン。 r2aiは、バイナリ解析に大規模言語モデルを取り入れるradare2プラグイン群です。radare2のシェルにr2aiコマンドを追加し、REPLやバッチモードでの対話のほか、r2pipe経由でスクリプトからも利用できます。Ollama、OpenAI、Anthropic、Grokなどのプロバイダーが提供するローカルモデルやリモートモデルを実行でき、ロールやプロンプトもカスタマイズできます。
- r2ai は無料で使えますか?ライセンスは?
- r2ai は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- r2ai は今もメンテナンスされていますか?
- 活発にメンテナンス中。r2ai の最終コミットは 2026年11月6日 です。
- r2ai は何に使えますか?
- radare2でバイナリをリバースエンジニアリングしながら、不明な関数や変数を説明する。 シンボルが削除されたコードに、より適切な名前や関数シグネチャを付ける。 r2pipeを通じてLLM支援の解析をスクリプト化する。 トリアージ中にモデルの支援を受けながらマルウェアサンプルを解析する。
- r2ai のインストール方法は?
- r2pmでr2aiプラグインをインストールします: r2pm -Uci r2ai 環境変数にAPIキーを設定します(例:OpenAIまたはAnthropic): export OPENAI_API_KEY=<your-key> r2aiコマンドを利用できる状態でradare2を起動します: r2 -qc r2ai
- r2ai はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/radareorg/r2ai
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
小さく用途を絞ったツールを通じて、AI言語モデルからリバースエンジニアリング解析を操作できるGhidra用MCPサーバー拡張です。
Unix系システム上のバイナリを解析、逆アセンブル、デバッグ、エミュレートするための、自由なリバースエンジニアリングフレームワーク兼コマンドラインツール群。
AIエージェントからradare2を操作してバイナリを解析できるMCPサーバー。CLI、r2プラグイン、HTTPで実行できます。
Rust製のファームウェア解析ツール。ファイル内に埋め込まれたファイルやデータを特定し、必要に応じて抽出できます。
Webサイト、ゲーム、アプリ、バイナリ、ファームウェア、プロトコルのリバースエンジニアリングに関するツール、事例研究、論文を集めた、厳選されたバイリンガルの索引。