Repolode
cyberkaida

cyberkaida/reverse-engineering-assistant

小さく用途を絞ったツールを通じて、AI言語モデルからリバースエンジニアリング解析を操作できるGhidra用MCPサーバー拡張です。

スター
947
フォーク
93
未解決の Issue
17
最終コミット
4 日前

これは何?

ReVa(Reverse Engineering Assistant)は、Model Context Protocolサーバーを起動するGhidra拡張機能です。AIモデルがGhidraの解析データを照会したり操作したりできます。大規模なツールを1つ提供するのではなく、リバースエンジニアがGhidraで使う関数群のように、小さなツールを多数公開します。ツールの出力には、逆コンパイルされたコードに加えて名前空間やクロスリファレンスなどのコンテキストが含まれ、モデルがバイナリを段階的に調査できるよう設計されています。

ReVaには2つの動作モードがあります。assistant modeでは、デフォルトでポート8080を使い、streamable HTTP経由で起動中のGhidra UIに接続するため、モデルは開いているプロジェクトをリアルタイムに操作できます。headless modeでは、GUIなしでGhidraを起動し、一時的なプロジェクトを管理します。自動化、CI/CD、Dockerを使ったワークフローに適しています。Ghidra 12.0以降に対応し、PyGhidraのスクリプティング環境も利用できます。

このプロジェクトには、バイナリのトリアージ、詳細な解析、暗号解析、CTF作業向けのスキルを含むClaude Codeプラグインマーケットプレイスもあります。

主な機能

  • 01Ghidraの解析データを照会・編集するための、小さなMCPツールを多数提供します。
  • 02逆コンパイル結果に名前空間やクロスリファレンスの情報を追加します。
  • 03開いているGhidra UIに接続するassistant modeと、headless modeで動作します。
  • 04APIキー認証も利用できるPyGhidraのスクリプティング環境を提供します。
  • 05Claude Codeのスキルとプラグインマーケットプレイスを提供します。

ユースケース

  • AIアシスタントを使って、開いているGhidraプロジェクト内の変数名の変更、データ型の修正、関数の説明を行う。
  • CI/CDパイプラインやDockerコンテナで、バイナリのトリアージを自動実行する。
  • AIの支援を受けてCTFの課題を解き、たとえばexploitスクリプトを作成する。
  • 2つのバイナリを比較し、LLMにその差分を説明させる。

クイックスタート

  1. 1

    Ghidraのインストールディレクトリを設定します(Ghidra 12.0以降が必要です)

    export GHIDRA_INSTALL_DIR=/path/to/ghidra
  2. 2

    uvでReVaをインストールします

    uv tool install reverse-engineering-assistant
  3. 3

    Claude CodeにMCPサーバーとしてReVaを登録します

    claude mcp add --scope user ReVa -- mcp-reva

使う前に知っておきたいこと

  • Ghidra 12.0以降が必要です。Java 21(Ghidra 12.2未満)またはJava 25(Ghidra 12.2以降)が必要です。
  • Assistantモードを使うには、拡張機能をインストールし、Ghidra UI内でプラグインを手動で有効にする必要があります。
  • スクリプトツールからPyGhidraにアクセスできるため、サーバーをパブリックインターフェースで公開する場合は、APIキー認証を設定するか、それらのツールを無効にする必要があります。

収録されている特集

トピック

よくある質問

reverse-engineering-assistant とは?
小さく用途を絞ったツールを通じて、AI言語モデルからリバースエンジニアリング解析を操作できるGhidra用MCPサーバー拡張です。 ReVa(Reverse Engineering Assistant)は、Model Context Protocolサーバーを起動するGhidra拡張機能です。AIモデルがGhidraの解析データを照会したり操作したりできます。大規模なツールを1つ提供するのではなく、リバースエンジニアがGhidraで使う関数群のように、小さなツールを多数公開します。ツールの出力には、逆コンパイルされたコードに加えて名前空間やクロスリファレンスなどのコンテキストが含まれ、モデルがバイナリを段階的に調査できるよう設計されています。
reverse-engineering-assistant は無料で使えますか?ライセンスは?
reverse-engineering-assistant は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
reverse-engineering-assistant は今もメンテナンスされていますか?
活発にメンテナンス中。reverse-engineering-assistant の最終コミットは 2026年11月3日 です。
reverse-engineering-assistant は何に使えますか?
AIアシスタントを使って、開いているGhidraプロジェクト内の変数名の変更、データ型の修正、関数の説明を行う。 CI/CDパイプラインやDockerコンテナで、バイナリのトリアージを自動実行する。 AIの支援を受けてCTFの課題を解き、たとえばexploitスクリプトを作成する。 2つのバイナリを比較し、LLMにその差分を説明させる。
reverse-engineering-assistant のインストール方法は?
Ghidraのインストールディレクトリを設定します(Ghidra 12.0以降が必要です): export GHIDRA_INSTALL_DIR=/path/to/ghidra uvでReVaをインストールします: uv tool install reverse-engineering-assistant Claude CodeにMCPサーバーとしてReVaを登録します: claude mcp add --scope user ReVa -- mcp-reva
reverse-engineering-assistant はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/cyberkaida/reverse-engineering-assistant

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト