Repolode
radareorg

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. 1

    r2pmでr2aiプラグインをインストールします

    r2pm -Uci r2ai
  2. 2

    環境変数にAPIキーを設定します(例:OpenAIまたはAnthropic)

    export OPENAI_API_KEY=<your-key>
  3. 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 の数値は毎日更新されます。

関連プロジェクト

Webサイト、ゲーム、アプリ、バイナリ、ファームウェア、プロトコルのリバースエンジニアリングに関するツール、事例研究、論文を集めた、厳選されたバイリンガルの索引。

学習リソース#reverse-engineering#decompilation#binary-analysis
1066+239 今週244PythonMIT活発にメンテナンス更新 3 時間前