ghidraMCP

by LaurieWired
Verified
Apache 2.0
4,102
  • Apple

local-only server

The server can only run on the client’s local machine because it depends on local resources.

ギドラMCP

ghidraMCPは、LLMが自律的にアプリケーションをリバースエンジニアリングできるようにするモデルコンテキストプロトコルサーバーです。Ghidraのコア機能からMCPクライアントに多数のツールを公開します。

https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9

特徴

MCP サーバー + Ghidra プラグイン

  • Ghidraでバイナリを逆コンパイルして分析する
  • メソッドとデータの名前を自動的に変更する
  • メソッド、クラス、インポート、エクスポートを一覧表示する

インストール

前提条件

  • Ghidraをインストールする
  • Python3
  • MCP SDK

ギドラ

まず、このリポジトリから最新リリースをダウンロードしてください。これにはGhidraプラグインとPython MCPクライアントが含まれています。その後、プラグインをGhidraに直接インポートできます。

  1. ギドラを走らせろ
  2. File -> Install Extensions選択
  3. +ボタンをクリック
  4. ダウンロードしたリリースからGhidraMCP-1-2.zip (または選択したバージョン)を選択します。
  5. ギドラを再起動
  6. File -> Configure -> Developerで GhidraMCPPlugin が有効になっていることを確認します。
  7. オプション: Ghidraのポートを、 Edit -> Tool Options -> GhidraMCP HTTP Serverで設定します。

ビデオインストールガイド:

https://github.com/user-attachments/assets/75f0c176-6da1-48dc-ad96-c182eb4648c3

MCPクライアント

理論上は、どのMCPクライアントでもghidraMCPで動作するはずです。以下に2つの例を示します。

例1: クロードデスクトップ

Claude Desktop を Ghidra MCP クライアントとして設定するには、 Claude -> Settings -> Developer -> Edit Config -> claude_desktop_config.jsonに移動し、以下を追加します。

{ "mcpServers": { "ghidra": { "command": "python", "args": [ "/ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py", "--ghidra-server", "http://127.0.0.1:8080/" ] } } }

あるいは、このファイルを直接編集します。

/Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json

サーバーのIPアドレスとポート番号は設定可能で、対象のGhidraインスタンスを指すように設定する必要があります。設定されていない場合は、どちらもデフォルトでlocalhost:8080になります。

例2: クライン

ClineでGhidraMCPを使用するには、MCPサーバーも手動で実行する必要があります。まず、以下のコマンドを実行してください。

python bridge_mcp_ghidra.py --transport sse --mcp-host 127.0.0.1 --mcp-port 8081 --ghidra-server http://127.0.0.1:8080/

必須の引数はトランスポートのみです。その他の引数が指定されていない場合は、上記のデフォルトが使用されます。MCPサーバーが起動したら、Clineを開き、上部のMCP Serversを選択してください。

次に、 Remote Serversを選択し、URL が MCP のホストとポートと一致していることを確認しながら以下を追加します。

  1. サーバー名: GhidraMCP
  2. サーバーURL: http://127.0.0.1:8081/sse

例3: 5ire

バックエンドで複数のモデルをサポートする別のMCPクライアントは5ireです。GhidraMCPを設定するには、5ireを開き、 Tools 」→ Newに移動して、以下の設定を行います。

  1. ツールキー: ghidra
  2. 名前: GhidraMCP
  3. コマンド: python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py

ソースから構築

次のコマンドを実行して Maven でビルドします。

mvn clean package assembly:single

生成されたzipファイルには、ビルドされたGhidraプラグインとそのリソースが含まれています。これらのファイルは、Ghidraが新しい拡張機能を認識するために必要です。

  • lib/GhidraMCP.jar
  • 拡張機能プロパティ
  • モジュール.マニフェスト
-
security - not tested
A
license - permissive license
-
quality - not tested

Ghidra 機能を公開し、逆コンパイル、分析、メソッドとデータの自動名前変更を可能にすることで、LLM がアプリケーションを自律的にリバース エンジニアリングできるようにする MCP サーバー。

  1. Features
    1. Installation
      1. Prerequisites
      2. Ghidra
      3. MCP Clients
      4. Example 1: Claude Desktop
      5. Example 2: Cline
      6. Example 3: 5ire
    2. Building from Source
      ID: 0k3c7mhg5q