GhidraMCP:AI LLMがGhidraを自律的に操作してリバースエンジニアリングできるオープンソースプロジェクト 145

小编 ·

GhidraMCP:AI LLMがGhidraを自律的に操作してリバースエンジニアリングできるオープンソースプロジェクト

GhidraMCPはMCPプロトコルを通じて、AI LLM(Claudeなど)がGhidraを自律的に操作してリバースエンジニアリングを行えるようにするオープンソースプロジェクトです。Ghidraの中核機能をMCPクライアントに公開し、デコンパイル、バイナリファイルの解析、メソッドやデータの自動リネーム、メソッド・クラス・インポート・エクスポート表の一覧表示などをサポートします。

GhidraMCP:AI LLMがGhidraを自律的に操作してリバースエンジニアリングできるオープンソースプロジェクト

GhidraMCP とは?

GhidraMCP は、MCP プロトコルを通じて、AI 大規模モデル(Claude など)が自律的に Ghidra を操作してリバースエンジニアリングを行えるようにするオープンソースプロジェクトです。Ghidra のコア機能を MCP クライアントに公開し、逆コンパイル、バイナリファイルの解析、メソッドやデータの自動リネーム、そしてメソッド、クラス、インポート/エクスポート表のリスト表示をサポートしています。

GhidraMCP:让 AI大模型能够自主操作Ghidra进行逆向工程.jpg

GhidraMCP の機能特徴

  • 逆コンパイルと解析:Ghidra 内でバイナリファイルを逆コンパイルおよび解析し、可読性の高い疑似コードを生成します。

  • 自動リネーム:セマンティック分析に基づき、メソッド名、クラス構造、データ変数を自動的に注釈付けし、コードの可読性を向上させます。

  • 構造化情報抽出:プログラムの関数リスト、クラス定義、インポート/エクスポート表などのメタデータを一括でエクスポートします。

  • マルチクライアント対応:MCP プロトコルに準拠したすべてのクライアント(Claude Desktop や 5ire など)をサポートします。

GhidraMCP の利用シーン

  • マルウェア解析:サンプル内の不審な API 呼び出しチェーンを自動的に識別し、注釈付きの逆コンパイルレポートを生成して、解析効率を向上させます。

  • ファームウェア脆弱性発見:複数モデルのスケジュール機能を組み合わせて関数表を抽出し、潜在的な脆弱性ポイントを特定して検証スクリプトを生成します。

  • ソフトウェアリバースエンジニアリング:複雑なソフトウェアのロジック構造の理解を支援し、リバースエンジニアリングの難易度を低減します。

技術アーキテクチャ

  • MCP プロトコル:AI とツール間の標準的なインタラクション形式を定義する「通訳者」として機能し、命令の伝達と結果の返却をサポートします。

  • Python スクリプトブリッジ:bridge_mcp_ghidra.py スクリプトが AI 命令を解析し、ソケット通信を介して Ghidra プラグインを呼び出します。

  • Ghidra プラグイン:GhidraMCPPlugin が命令を監視し、Ghidra の Java API を呼び出して逆コンパイルやシンボル解析などを実行します。

GhidraMCP の使用方法

1. Ghidra プラグインのインストール:

  • 最新バージョンの GhidraMCP リリースパッケージをダウンロードします。

  • Ghidra を起動し、File -> Install Extensions を選択して、ダウンロードした ZIP ファイルをインポートします。

  • Ghidra を再起動し、プラグインが有効化されていることを確認します。

2. MCP クライアントの設定:

  • Claude Desktop:設定ファイル claude_desktop_config.json を編集し、GhidraMCP のサービス設定を追加します。

  • 5ire:クライアント内でツール設定を行い、Tool Key、Name、Command を指定します。

3. 実行と利用:

  • クライアント起動後、自然言語で AI と対話しながら Ghidra の機能を呼び出し、リバース解析を行うことができます。

GhidraMCP GitHub:https://github.com/LaurieWired/GhidraMCP