ギドラMCP
ghidraMCPは、LLMが自律的にアプリケーションをリバースエンジニアリングできるようにするモデルコンテキストプロトコルサーバーです。Ghidraのコア機能からMCPクライアントに多数のツールを公開します。
https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9
特徴
MCP サーバー + Ghidra プラグイン
- Ghidraでバイナリを逆コンパイルして分析する
- メソッドとデータの名前を自動的に変更する
- メソッド、クラス、インポート、エクスポートを一覧表示する
インストール
前提条件
ギドラ
まず、このリポジトリから最新リリースをダウンロードしてください。これには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.jar
Ghidra/Features/Decompiler/lib/Decompiler.jar
Ghidra/Framework/Docking/lib/Docking.jar
Ghidra/Framework/Generic/lib/Generic.jar
Ghidra/Framework/Project/lib/Project.jar
Ghidra/Framework/SoftwareModeling/lib/SoftwareModeling.jar
Ghidra/Framework/Utility/lib/Utility.jar
Ghidra/Framework/Gui/lib/Gui.jar
- 次のコマンドを実行して Maven でビルドします。
mvn clean package assembly:single
生成されたzipファイルには、ビルドされたGhidraプラグインとそのリソースが含まれています。これらのファイルは、Ghidraが新しい拡張機能を認識するために必要です。
- lib/GhidraMCP.jar
- 拡張機能プロパティ
- モジュール.マニフェスト
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Ghidra 機能を公開し、逆コンパイル、分析、メソッドとデータの自動名前変更を可能にすることで、LLM がアプリケーションを自律的にリバース エンジニアリングできるようにする MCP サーバー。
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that enables secure terminal command execution, directory navigation, and file system operations through a standardized interface for LLMs.Last updated -1023PythonMIT License
- AsecurityFlicenseAqualityA lightweight MCP server that provides a unified interface to various LLM providers including OpenAI, Anthropic, Google Gemini, Groq, DeepSeek, and Ollama.Last updated -6218Python
- -securityFlicense-qualityEnables LLMs to perform binary analysis using Ghidra in headless mode, extracting functions, pseudocode, structs, and enums from binaries for interactive reverse-engineering.Last updated -1Python
- AsecurityAlicenseAqualityMCP server implementation that enables LLMs to interact with Rollbar error tracking data, allowing users to list and analyze errors, view occurrences, track deployments, and access project information.Last updated -132562TypeScriptMIT License