Ghidra Copilot
Ghidra向けAI支援コンパニオン。現在のプログラムに関する質問に回答したり、次のステップを提案したり、会話から直接小さな分析ツールを実行できるチャットパネルを組み込んでいます。
機能
- Ghidra内で動作し、開いているプログラムのコンテキストを保持するチャット。
- シンボル検索、データ抽出、リファクタリング支援のためのツールコール。
- OpenAI、Azure OpenAI、Anthropic、Ollamaと連携(Spring AI経由)。
スクリーンショット
- チャットパネル: スクリーンショット準備中
- ツール結果: スクリーンショット準備中
必要条件
- Ghidra 11.4.2 または互換バージョン
- Java 17以上
- ネットワークアクセス、またはSpring AIがサポートするオンプレミスのモデルエンドポイント
インストール
GHIDRA_INSTALL_DIR をGhidraのパスに設定します。
- Linux/WSL:
export GHIDRA_INSTALL_DIR=/absolute/path/to/ghidra_11.4.2_PUBLIC
- Windows PowerShell:
$env:GHIDRA_INSTALL_DIR = "D:\\tools\\ghidra_11.4.2_PUBLIC"
- 拡張機能をビルド:
- Linux/WSL:
./gradlew buildExtension
- Windows PowerShell:
.\\gradlew buildExtension
dist/ から生成されたzipを、Ghidraの「拡張機能のインストール」ダイアログからインストールします。
モデルの設定
Ghidra内で Tool Options > Ghidra Copilot を開き、プロバイダを選択してAPIキー/ベースURL/モデル名を入力します。設定はGhidraのユーザーディレクトリに保存され、次回起動時に再利用されます。
- OpenAI: APIキー(オプションでベースURL/モデル上書き)
- Azure OpenAI: APIキー、エンドポイント、デプロイメント、オプションモデル
- Anthropic: APIキー、モデル
- Ollama: ベースURL、モデル
使用方法
- Ghidraを開き、ツールウィンドウでGhidra Copilotを有効にします。
- 現在のプログラムについて質問します。必要に応じてツールコールが自動的に実行されます。
- パネル設定を使用してモデルプロバイダやキーを切り替えます。