🐉

GhidraMCPを使うwith Github Copilot

に公開

Github Copilot 経由で GhidraMCP を使うための個人的メモ。

トークン無制限のモデルも使えるのでトークン消費量を気にしなくていいのと、同じウィンドウ内で他の作業も並行してできるのが個人的には好みです。

1. 必要なもの

  • Python 環境(uv, venv, etc..)
  • VSCode
  • Github Copilot Pro(学生なら無償で使えるはず)
  • Ghidra
  • GhidraMCP(2025/10/25 時点で本家が対応している Ghidra は v.11.3.2 まで)

Ghidra や Github Copilot のセットアップは省略します。
Ghidra 側の設定については本家様が丁寧に手順を載せてくれています。

https://github.com/LaurieWired/GhidraMCP?tab=readme-ov-file#ghidra

2. VSCode 側で MCP Server を設定する

2.1 Github Copilot Chat を開いて右下の設定を選択

2.2 MCP サーバーの追加を選択

2.3 コマンド(stdio)を選択

2.4 コマンド欄に以下を入力する

  • python のパスは任意
  • bridge_mcp_ghidra.py は GhidraMCP の ZIP を解凍したものに含まれています(requirements.txt からパッケージも取得しておく)
/path/to/python3 /path/to/bridge_mcp_ghidra.py --ghidra-server http://127.0.0.1:8080/

2.5 その後

  • MCP サーバー名は任意
  • グローバル or ワークスペース保存も任意
  • 拡張機能欄から設定を確認可能

3. 接続確認

3.1 MCP Server を起動する

  • VSCode を再起動した後、拡張機能欄から先ほど追加したやつを起動します
  • 出力が 20xx-xx-xx xx:xx:xx.xxx [info] Discovered xx tools とかなら OK

3.2 Ghidra と接続

  • Ghidra を立ち上げて Code Browser を開きます
  • Github Copilot Chat を開いて Agent モードにし、適当にプロンプトを入力します
  • Copilot がツールを使って解析し始めたら接続は完了です
  • 接続できない場合、Ghidra 側で HTTP Server が起動していないことが多いので、Ghidra を再起動してからコンソールログで確認した方が良いです
プロンプト例
GhidraMCPとの接続を確認してください
Ghidraに接続し、main関数のアドレスを教えてください

Discussion