ギドラMCP
ghidraMCPは、LLMが自律的にアプリケーションをリバースエンジニアリングできるようにするモデルコンテキストプロトコルサーバーです。Ghidraのコア機能からMCPクライアントに多数のツールを公開します。
https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9
特徴
MCP サーバー + Ghidra プラグイン
Ghidraでバイナリを逆コンパイルして分析する
メソッドとデータの名前を自動的に変更する
メソッド、クラス、インポート、エクスポートを一覧表示する
インストール
前提条件
Related MCP server: IDA Pro MCP
ギドラ
まず、このリポジトリから最新リリースをダウンロードしてください。これにはGhidraプラグインとPython MCPクライアントが含まれています。その後、プラグインをGhidraに直接インポートできます。
ギドラを走らせろ
File->Install Extensions選択+ボタンをクリックダウンロードしたリリースから
GhidraMCP-1-2.zip(または選択したバージョン)を選択します。ギドラを再起動
File->Configure->Developerで GhidraMCPPlugin が有効になっていることを確認します。オプション: Ghidraのポートを、
Edit->Tool Options->GhidraMCP HTTP Serverで設定します。
ビデオインストールガイド:
https://github.com/user-attachments/assets/75f0c176-6da1-48dc-ad96-c182eb4648c3
MCPクライアント
理論上は、どのMCPクライアントでもghidraMCPで動作するはずです。以下に3つの例を示します。
例1: クロードデスクトップ
Claude Desktop を Ghidra MCP クライアントとして設定するには、 Claude -> Settings -> Developer -> Edit Config -> claude_desktop_config.jsonに移動し、以下を追加します。
あるいは、このファイルを直接編集します。
サーバーのIPアドレスとポート番号は設定可能で、対象のGhidraインスタンスを指すように設定する必要があります。設定されていない場合は、どちらもデフォルトでlocalhost:8080になります。
例2: クライン
ClineでGhidraMCPを使用するには、MCPサーバーも手動で実行する必要があります。まず、以下のコマンドを実行してください。
必須の引数はトランスポートのみです。その他の引数が指定されていない場合は、上記のデフォルトが使用されます。MCPサーバーが起動したら、Clineを開き、上部のMCP Serversを選択してください。
次に、 Remote Serversを選択し、URL が MCP のホストとポートと一致していることを確認しながら以下を追加します。
サーバー名: GhidraMCP
サーバーURL:
http://127.0.0.1:8081/sse
例3: 5ire
バックエンドで複数のモデルをサポートする別のMCPクライアントは5ireです。GhidraMCPを設定するには、5ireを開き、 Tools 」→ Newに移動して、以下の設定を行います。
ツールキー: ghidra
名前: GhidraMCP
コマンド:
python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py
ソースから構築
Ghidra ディレクトリから次のファイルをこのプロジェクトの
lib/ディレクトリにコピーします。
Ghidra/Features/Base/lib/Base.jarGhidra/Features/Decompiler/lib/Decompiler.jarGhidra/Framework/Docking/lib/Docking.jarGhidra/Framework/Generic/lib/Generic.jarGhidra/Framework/Project/lib/Project.jarGhidra/Framework/SoftwareModeling/lib/SoftwareModeling.jarGhidra/Framework/Utility/lib/Utility.jarGhidra/Framework/Gui/lib/Gui.jar
次のコマンドを実行して Maven でビルドします。
mvn clean package assembly:single
生成されたzipファイルには、ビルドされたGhidraプラグインとそのリソースが含まれています。これらのファイルは、Ghidraが新しい拡張機能を認識するために必要です。
lib/GhidraMCP.jar
拡張機能プロパティ
モジュール.マニフェスト