Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ghidra-mcp — GhidraのリバースエンジニアリングとAIツールを橋渡しするMCPサーバー:逆コンパイル、Pコードエミュレーション、ライブデバッグ、データフロー解析、バッチ操作、規約の適用をヘッドレスモードとGUIモードで提供する256のツール。 | Kitploit
ツール/GitHubGitHub/bethington/ghidra-mcp
静的分析動的分析 (サンドボックス)リバースエンジニアリングスクリプトと自動化デバッガファジングユーティリティとフレームワークバイナリ解析学習と教育AI支援リバースエンジニアリング
GitHubbethington/ghidra-mcp

ghidra-mcp

3.3k978日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

GhidraのリバースエンジニアリングとAIツールを橋渡しするMCPサーバー:逆コンパイル、Pコードエミュレーション、ライブデバッグ、データフロー解析、バッチ操作、規約の適用をヘッドレスモードとGUIモードで提供する256のツール。

リポジトリを見る

Ghidra MCP Server

Tests Release License GitHub Sponsors

Python Java Ghidra MCP

Stars Last commit Discussions Issues OpenSSF Scorecard

これが役に立つと思われたら、ぜひ ⭐ スターをお願いします。他の方にも見つけてもらいやすくなります!

Ghidra MCP が時間の節約になるなら、プロジェクトへのスポンサーを検討してください。一度限りの支援でも継続的な支援でも、互換性更新、本番環境の強化、ドキュメント、新しいツールの開発に役立ちます。

Ghidra の強力なリバースエンジニアリング機能と、最新の AI ツールや自動化フレームワークを結びつける、プロダクション対応の Model Context Protocol (MCP) サーバーです。271 個の MCP ツール、実戦で鍛えられた AI ワークフロー、そして現在利用可能な最も包括的な Ghidra-MCP 統合を提供します — 新たに P コードエミュレーション、ライブデバッガー統合、PCode グラフデータフロー解析に対応しました。

Ghidra MCP の特長

ほとんどの Ghidra MCP 実装は、読み取り専用のツールを数個提供して終わりです。しかし、このプロジェクトは違います — デモではなく、実際のバイナリを日常的に分析するリバースエンジニアによって作られました。

  • 271 個の MCP ツール — 競合実装の 3 倍以上の数。読み取り操作だけでなく、名前変更、型付け、コメント付与、構造体作成、スクリプト実行、P コードエミュレーション、ライブデバッグのための完全な書き込みアクセスを提供します。
  • 実戦で鍛えられた AI ワークフロー — 数百の関数にわたって洗練された実証済みのドキュメントワークフロー(V5)。ステップバイステップのプロンプト、ハンガリアン記法リファレンス、バッチ処理ガイド、孤立コード発見を含みます。
  • プロダクション品質の信頼性 — アトミックトランザクション、バッチ操作(API 呼び出しを 93% 削減)、設定可能なタイムアウト、優雅なエラーハンドリング。静かな失敗はありません。
  • バイナリ間のドキュメント転送 — SHA-256 関数ハッシュマッチングにより、バイナリバージョン間で自動的にドキュメントを伝搬。一度ドキュメントを作成すれば、どこにでも適用できます。
  • 完全な Ghidra Server 統合 — 共有 Ghidra Server への接続、リポジトリ管理、バージョンコントロール、チェックアウト/チェックインワークフロー、マルチユーザーコラボレーション。
  • ヘッドレスモードと GUI モード — Ghidra GUI の有無にかかわらず実行可能。CI/CD パイプラインや大規模自動解析のために Docker 対応。
  • 設計上の意見表明 — v5.0 では、命名規則、型安全性、ドキュメント標準をツール層に移動しました。AI エージェントと人間のエンジニアは、毎回プロンプトにスタイルガイドを貼り付けなくても、一貫した出力を生成します。

規則の強制

あなたも経験したことがあるでしょう:プロジェクトの半年前に、同じコードベースで ProcessItem、process_items、handleItem、ItemProc が見つかる — 4 つの異なるセッションやエンジニアによって、共通の契約なしで名前付けられた、同じことをする 4 つの関数。修正には必要以上に時間がかかり、問題は再発します。

v5.0 では、規則を「覚えておくべきこと」から、実際に強制できるツール層に移動しました。

AI エージェントにとって、これは毎回のセッション、モデル、実行で一貫した出力を意味します — スタイルガイドをプロンプトに貼り付ける必要はありません。ツールがルールを知っており、モデルは決定を下すだけでよいのです。

チームにとって、これは「それは我々の命名規則ではない」という種類のレビューコメント全体を排除します。規則の調整はツール内で行われ、コードレビューではありません。

大規模な個人作業にとって、analyze_function_completeness は 0–100% のスコアを正直に測定します:構造上の推論(修正不可能なコンパイラアーティファクト)は有効スコアで許容され、対数スケーリングにより一つの悪いカテゴリが全てを台無しにするのを防ぎ、階層化されたプレートコメント品質により何が欠けているのか、なぜなのかが正確にわかります。

🌟 機能

コア MCP 統合

  • 完全な MCP 互換性 — Model Context Protocol の完全実装
  • 271 個の MCP ツール — バイナリ解析のあらゆる側面をカバーする包括的な API サーフェス
  • プロダクション対応の信頼性 — アトミックトランザクション、バッチ操作、設定可能なタイムアウト
  • リアルタイム解析 — Ghidra の解析エンジンとのライブ統合

互換性に関する注意: MCP ツール名は GitHub Copilot CLI と CAPI 検証用に正規化されています。公開されるツール名は小文字、数字、アンダースコア、ハイフンのみを使用します。/debugger/status のようなネストされた HTTP パスは、静的なブリッジツールとの衝突を避けるために、必要に応じて debugger_status_2 のような名前で公開されます。

バイナリ解析機能

  • 関数解析 — 逆コンパイル、呼び出しグラフ、相互参照、完全性スコア
  • データフロー解析 — 任意の変数やレジスタからの PCode グラフ値伝搬(前方/後方)
  • データ構造発見 — フィールド解析と名前提案を伴う構造体/共用体/列挙型の作成
  • 文字列抽出 — 正規表現検索、品質フィルタリング、文字列を起点とした関数発見
  • インポート/エクスポート解析 — シンボルテーブル、外部ロケーション、序数インポート解決
  • メモリとデータ検査 — 生メモリ読み取り、バイトパターン検索、配列境界検出
  • バイナリ間ドキュメント — 関数ハッシュマッチングとバージョン間のドキュメント伝搬

動的解析(v5.4.0)

  • P コードエミュレーション — Ghidra の EmulatorHelper を使用して任意の関数を分離実行;API ハッシュをミリ秒単位でブルートフォース解決
  • ライブデバッガー統合 — Ghidra の TraceRmi フレームワークを介した 17 の Java エンドポイント + 22 の Python ブリッジツール(Windows PE では dbgeng、それ以外では gdb/lldb):アタッチ、ステップ実行、ブレークポイント、レジスタ、メモリ読み取り、非中断関数トレース、ASLR 対応の静的↔動的アドレス変換

AI 駆動のリバースエンジニアリングワークフロー

  • 関数ドキュメントワークフロー V5 — ハンガリアン記法、型監査、自動検証スコアリングを含む完全な関数ドキュメント作成のための 7 ステッププロセス
  • バッチドキュメント — 複数の関数を同時にドキュメント化するための並列サブエージェントディスパッチ
  • 孤立コード発見 — 既知のコードの間にあるギャップから未発見の関数を自動的にスキャン
  • データ型調査 — 構造体発見とフィールド解析のための体系的なワークフロー
  • バージョン間マッチング — 異なるバイナリバージョン間でのハッシュベースの関数マッチング

開発と自動化

  • Ghidra スクリプト管理 — MCP 経由での Ghidra スクリプトの作成、実行、更新、削除
  • マルチプログラム対応 — 複数の開いているプログラムの切り替えと比較
  • バッチ操作 — 一括名前変更、コメント付与、型付け、ラベル管理(API 呼び出しを 93% 削減)
  • ヘッドレスサーバー — Ghidra GUI なしでの完全解析 — Docker および CI/CD 対応
  • プロジェクトとバージョン管理 — プロジェクト作成、ファイル管理、Ghidra Server 統合
  • 解析制御 — Ghidra アナライザの一覧表示、設定、プログラムからのトリガー

🚀 クイックスタート

前提条件

  • Java 21 LTS(OpenJDK 推奨)
  • Apache Maven 3.9+
  • Ghidra 12.1.2(または互換バージョン)
  • Python 3.10+ と uv(推奨)または pip + venv

共有 Ghidra Server ユーザーへ:Ghidra 12.1.2 クライアントを使用するには、Ghidra Server が 12.1、12.0.5、またはそれより新しい互換バージョンである必要があります。12.1 クライアントからこのプラグインを使用する前に、サーバーをアップグレードしてください。

Ghidra 12.1.2 には Jython がオプションの拡張機能として同梱されています。Java スクリプトはデフォルトで動作しますが、ghidra_scripts/ にある .py スクリプトを使用するには、File > Install Extensions から Jython 拡張機能をインストールし、Ghidra を再起動する必要があります。

インストール

すべてのプラットフォームで推奨:python -m tools.setup を直接使用してください。

ensure-prereqs は、ローカルの Maven リポジトリに必要な Ghidra JAR に加えて、Python ランタイム要件をインストールします。 deploy はビルド出力をコピーし、ユーザープロファイル拡張機能をインストールし、Ghidra ユーザー設定にパッチを適用します。

  1. リポジトリをクローン: ```bash git clone https://github.com/bethington/ghidra-mcp.git cd ghidra-mcp
    root@kitploit:~
  2. 推奨: 最初に環境の事前確認を実行してください: ```text python -m tools.setup preflight --ghidra-path "F:\ghidra_12.1.2_PUBLIC"
    root@kitploit:~
  3. Ghidra にビルドしてデプロイする: ```text python -m tools.setup ensure-prereqs --ghidra-path "F:\ghidra_12.1.2_PUBLIC" python -m tools.setup build python -m tools.setup deploy --ghidra-path "F:\ghidra_12.1.2_PUBLIC"
    root@kitploit:~

deploy は、既に実行中の一致する Ghidra インスタンスを保存/閉じ、 必要に応じて拡張機能をインストールし、Ghidra を起動し、MCP のヘルスを待ち、 スキーマのスモークチェックを実行します。

  1. オプションの厳格/手動モード (高度): ```text

    Skip automatic prerequisite setup

    python -m tools.setup build python -m tools.setup deploy --ghidra-path "F:\ghidra_12.1.2_PUBLIC"
    root@kitploit:~
  2. コマンドのヘルプを表示: ```text python -m tools.setup --help
    root@kitploit:~
  3. オプションのビルド専用モード (上級/トラブルシューティング): ```text python -m tools.setup build
    root@kitploit:~

サポートされているビルドパス: python -m tools.setup build は内部でMavenを使用しており、リポジトリタスクやドキュメントで使用される標準的なワークフローです。 ```bash

Manual Maven build (requires Ghidra deps already installed in local .m2)

mvn clean package assembly:single -DskipTests

root@kitploit:~
入力:   ```bash
# Secondary/manual Gradle build path only (not used by tools.setup or VS Code tasks)
GHIDRA_INSTALL_DIR=/path/to/ghidra gradle buildExtension

インストール (Linux — Ubuntu/Debian)

  1. リポジトリをクローンする: ```bash git clone https://github.com/bethington/ghidra-mcp.git cd ghidra-mcp
    root@kitploit:~
  2. システムの前提条件をインストール(まだインストールされていない場合): ```bash sudo apt update && sudo apt install -y openjdk-21-jdk maven python3 python3-pip python3-venv curl jq unzip
    root@kitploit:~

Debian/Kali/Ubuntu 23.04+ の注意(PEP 668): これらのディストリビューションはシステム Python を 外部管理 としてマークしているため、そのまま pip install を実行すると error: externally-managed-environment で失敗します。--break-system-packages で回避しないでください — apt で管理されるツールを破壊する可能性があります。代わりに uv(推奨 — これはプロジェクトローカルの .venv を自動的に作成・管理し、このリポジトリのコマンドが使用するものです)を使用してください:

root@kitploit:~
curl -LsSf https://astral.sh/uv/install.sh | sh
uv run bridge-mcp-ghidra    # deps を .venv に解決してブリッジを起動

またはクラシックな仮想環境:

root@kitploit:~
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
bridge-mcp-ghidra
  1. 環境の事前チェックを実行: ```bash python -m tools.setup preflight --ghidra-path ~/ghidra_12.1.2_PUBLIC
    root@kitploit:~
  2. Ghidra にビルドしてデプロイ (単一コマンド): ```bash python -m tools.setup ensure-prereqs --ghidra-path ~/ghidra_12.1.2_PUBLIC python -m tools.setup build python -m tools.setup deploy --ghidra-path ~/ghidra_12.1.2_PUBLIC
    root@kitploit:~

This will:

  • Install Ghidra JAR dependencies into your local ~/.m2/repository
  • Build GhidraMCP-<version>.zip with Maven
  • Extract the extension to ~/.config/ghidra/ghidra_<version>_PUBLIC/Extensions/
  • Update preferences with LastExtensionImportDirectory
  • Install Python requirements
  1. Optional: setup only Maven dependencies: ```bash python -m tools.setup install-ghidra-deps --ghidra-path ~/ghidra_12.1.2_PUBLIC
    root@kitploit:~
  2. コマンドのヘルプを表示: ```bash python -m tools.setup --help
    root@kitploit:~

Linuxのパス: 拡張機能は $HOME/.config/ghidra/ghidra_<version>_PUBLIC/Extensions/GhidraMCP/ にインストールされます。 Ghidraの設定ファイルは $HOME/.config/ghidra/ghidra_<version>_PUBLIC/ にあります。

インストール (macOS — Homebrew)

  1. 前提条件のインストール: ```bash brew install openjdk@21 maven python ghidra
    root@kitploit:~
  2. リポジトリをクローンする: ```bash git clone https://github.com/bethington/ghidra-mcp.git cd ghidra-mcp
    root@kitploit:~
  3. GhidraのJARをローカルMavenにインストールする: ```bash python -m tools.setup install-ghidra-deps
    --ghidra-path /opt/homebrew/opt/ghidra/libexec
    root@kitploit:~
  4. ビルドとデプロイ: ```bash python -m tools.setup ensure-prereqs
    --ghidra-path /opt/homebrew/opt/ghidra/libexec python -m tools.setup build python -m tools.setup deploy
    --ghidra-path /opt/homebrew/opt/ghidra/libexec
    root@kitploit:~

The extension is installed to ~/Library/ghidra/ghidra_12.1.2_PUBLIC/Extensions/GhidraMCP/.

Note: --ghidra-version is required when using the Homebrew path because the path contains no version string.

  1. Ghidraを起動し、プラグインを有効にしてください: ```bash /opt/homebrew/opt/ghidra/libexec/ghidraRun
    root@kitploit:~

メインプロジェクトウィンドウで: Tools > GhidraMCP > Start MCP Server

  1. Cursor/Claude MCP を設定 (~/.cursor/mcp.json): ```json { "mcpServers": { "ghidra": { "command": "uv", "args": ["run", "--directory", "/path/to/ghidra-mcp", "bridge-mcp-ghidra"] } } }
    root@kitploit:~

インストール (Arch Linux — AUR)

@Pandoriaantje がコミュニティ AUR パッケージをメンテナンスしています:

  • ghidra-mcp-git — main ブランチを追跡
  • ghidra-mcp — タグ付きリリースを追跡

お好みの AUR ヘルパーでインストールしてください(例:)```bash yay -S ghidra-mcp # or ghidra-mcp-git

root@kitploit:~
### 基本使用法
#### オプション 1: Stdio Transport (AIツール向け推奨)```bash
uv run bridge-mcp-ghidra          # or: python -m bridge_mcp_ghidra

クローンしたチェックアウトから Autohand Code にブリッジを追加するには:```bash autohand mcp add ghidra uv run --directory /path/to/ghidra-mcp bridge-mcp-ghidra

root@kitploit:~
Add `--scope project` before `ghidra` to save the server in the current project's `.autohand` configuration instead of your user configuration.

#### オプション2: ストリーム可能なHTTPトランスポート (Web/HTTPクライアントに推奨)```bash
uv run bridge-mcp-ghidra --transport streamable-http --mcp-host 127.0.0.1 --mcp-port 8081

MCPクライアントのHTTPトランスポート用設定(クライアントのMCP設定ファイルに追加):```json { "mcpServers": { "ghidra-mcp-http": { "url": "http://127.0.0.1:8081/mcp" } } }

root@kitploit:~
ブラウザベースのクライアント(例:[MCP Inspector](https://github.com/modelcontextprotocol/inspector))は
そのまま動作します。HTTPトランスポートはCORSプリフライト(`OPTIONS`)リクエストに応答し、
`mcp-session-id` / `mcp-protocol-version` ヘッダーをスクリプトに公開します。
許可されるオリジンはHostヘッダーポリシーを反映します — 任意のポート上のループバックは常に許可され、
さらにバインドホストと `GHIDRA_MCP_ALLOWED_HOSTS` にリストされたすべてのホストが許可されます。

#### オプション3: SSEトランスポート(非推奨 — 代わりにstreamable-httpを使用)```bash
uv run bridge-mcp-ghidra --transport sse --mcp-host 127.0.0.1 --mcp-port 8081

高度なブリッジフラグ

厳格なプログラムルーティング(マルチプログラムの安全性)

GHIDRA_MCP_REQUIRE_PROGRAM_SELECTORS=1 を設定すると、ブリッジはプログラムセレクタを省略したプログラムスコープの呼び出しを拒否し、サーバーの共有「現在のプログラム」(switch_program やアクティブなGUIタブが移動するプログラム)に呼び出しを乗せる代わりに、明確なエラーを返します。```bash export GHIDRA_MCP_REQUIRE_PROGRAM_SELECTORS=1 uv run bridge-mcp-ghidra

root@kitploit:~
これがないと、`program=` を省略した呼び出しは、その時点でカレントのプログラムに対して実行されます。これは単一プログラムのワークフローでは問題ありませんが、複数のプログラムが開かれていると危険です。その呼び出しがエラーなく間違ったバイナリを読み取ったり編集したりする可能性があるからです。複数のクライアントがサーバーを共有する場合、それぞれがそのカレントプログラムのグローバル状態を他のクライアントの下から奪い合うため、危険性はさらに高まります。

strict モードがオンの場合、プログラムスコープのすべての呼び出しはターゲットを指定する必要があります。これは、開かれているプログラムを選択するすべてのセレクタに適用されます。単純な `program=` や、クロスプログラムツールの `source_program`/`target_program`、`program_a`/`program_b`(必須として宣言されていますが、サーバーは空で届いた場合にカレントプログラムにフォールバックします)などです。セレクタを忘れると、間違ったバイナリへの無言の書き込みではなく、最初の不正な呼び出しで大きなエラーとして表面化します。プログラムセレクタのないツール(`open_program` や `close_program` は `path`/`name` を受け取ります)は影響を受けません。デフォルトではオフです。変数が設定されていない場合、ブリッジは呼び出しを変更せずに送信します。

#### ツールコンテキストのオーバーヘッド削減

ブリッジは大規模なカタログを公開します。モデルのツールサーフェスを小さく保つために、`--lazy` を指定して実行します(接続時に `listing,function,program` のみをロードします)。モデルにすべてを登録させる代わりに、**オンデマンドで**残りを**探索**させます。

- `search_tools("rename function")` — グループがロードされていないツールも含め、**カタログ全体**をキーワード検索します。各結果は、現在呼び出し可能かどうか、および不可能な場合にそれを有効にするための正確な `load_tool_group(...)` 呼び出しを示します。
- `list_tool_groups()` — すべてのカテゴリとそのロード状態を一覧表示します。
- `load_tool_group("datatype")` / `unload_tool_group("datatype")` — 実行時にカテゴリをロードまたは削除します。
- `check_tools("rename_or_label,batch_set_comments")` — 指定されたツールが現在呼び出し可能であることを確認します。

`search_tools` は eager モードと `--lazy` モードの両方で動作するため、`tools/list_changed` を尊重するエージェントは、事前のコンテキストコストなしで完全な探索を得られます。

#### オプション: スタンドアロンデバッガサーバーの起動```bash
uv sync --group debugger
uv run python -m debugger

デバッガサーバーはデフォルトで http://127.0.0.1:8099/ をリッスンし、MCPブリッジが公開する debugger_* プロキシツールに必要です。

デバッガサーバーフラグ:

デフォルトのポートまたはホストを変更した場合は、.env で GHIDRA_DEBUGGER_URL を設定してブリッジがそれを見つけられるようにします。

Ghidra内で

  1. Ghidraを起動し、CodeBrowser ウィンドウを開きます。
  2. CodeBrowser で、ファイル > 設定 > すべてのプラグインを設定 > GhidraMCP からプラグインを有効にします。
  3. オプション: CodeBrowser > 編集 > ツールオプション > GhidraMCP HTTP サーバー からカスタムポートを設定します。
  4. ツール > GhidraMCP > MCP サーバーを起動 からサーバーを起動します。
  5. サーバーはデフォルトで http://127.0.0.1:8089/ で実行されます。

動作確認```bash

Quick health check

curl http://127.0.0.1:8089/check_connection

Expected: "Connected: GhidraMCP plugin running with program ''"

Get version info

curl http://127.0.0.1:8089/get_version

root@kitploit:~
## このプロジェクトを支援する

Ghidra MCPがエンジニアリングやリバースエンジニアリングの時間を節約してくれるなら、[プロジェクトのスポンサーになる](https://github.com/sponsors/bethington)ことを検討してください。

- 一回限りのスポンサーは、修正、互換性更新、リリース作業の資金となります。
- 継続的なスポンサーは、メンテナンス、ドキュメント、本番環境の堅牢化を維持するのに役立ちます。
- 企業の支援は、ブリッジ、ヘッドレスサーバー、デバッガ統合、ワークフローツールの長期的な信頼性を優先するのに役立ちます。

## 🔒 セキュリティ

GhidraMCPは**ローカルホストのみの開発**向けに設計されています。デフォルト設定(HTTPサーバーが `127.0.0.1` にバインドされ、認証なし)は、信頼されたシングルユーザーワークステーション上で安全であり、v5.4.1以前の動作と一致します。

**サーバーをループバックの外部に公開する場合は、まずこれら3つの環境変数を設定してください。** トークンがない場合、サーバーは非ループバックバインドでの起動を拒否します。

| 環境変数 | 効果 |
|---|---|
| `GHIDRA_MCP_AUTH_TOKEN` | 設定すると、すべてのHTTPリクエストは `Authorization: Bearer <token>` を保持しなければなりません。タイミングセーフな比較を行います。`/mcp/health`、`/health`、`/check_connection` は例外です。 |
| `GHIDRA_MCP_ALLOW_SCRIPTS` | `1`、`true`、`yes` に設定すると `/run_script_inline` と `/run_ghidra_script` が有効になります。**v5.4.1以降はデフォルトでオフ** — これらのエンドポイントはGhidraプロセスに対して任意のJavaを実行します。ヘッドレスモードでは、サーバー起動時にOSGi `BundleHost` の初期化(Felixフレームワーク、約数百ミリ秒)もトリガーされます。スクリプト実行が必要でなければオフのままにしてください。 |
| `GHIDRA_MCP_FILE_ROOT` | ディレクトリパスを設定すると、ファイルシステムパスエンドポイント(`/load_program`、`/import_file`、`/open_project`、`/delete_file` など)は入力を正規化し、このルート配下にあることを要求します。パストラバーサルを防ぎます。 |

名前品質の強制はセキュリティとは別です。デフォルトでは、`rename_function_by_address` とグローバル書き込みエンドポイントは、組み込みの品質ゲートに合格しない名前を拒否し、構造体フィールド書き込みは組み込みのフィールドプレフィックス規則を適用します。**Edit > Tool Options > GhidraMCP HTTP Server > Strict Naming Enforcement** で組み込みの規則レイヤーを無効にできます。同じTool Optionsチェックボックスは、`rename_data`、`rename_global_variable`、`set_global`、`apply_data_type` のプレフィックス/型ガード、および `create_struct`、`add_struct_field`、`modify_struct_field` での構造体フィールドのハンガリアンプレフィックスの自動修正をカバーします。この設定はMCPサーバーの起動時または再起動時に読み取られます。強制が無効になっている場合でも、関数/グローバル規則の警告は返されます。

### 例: 認証付きでプライベートLANに公開する```bash
export GHIDRA_MCP_AUTH_TOKEN=$(openssl rand -hex 32)
export GHIDRA_MCP_ALLOW_SCRIPTS=1     # only if your workflow needs it
export GHIDRA_MCP_FILE_ROOT=/srv/ghidra/inputs

java -jar GhidraMCPHeadless.jar --bind 0.0.0.0 --port 8089

Ghidra Server 認証

共有Ghidra Serverに接続する場合、GhidraMCPは自動的にパスワードダイアログを抑制できます。次の順序で資格情報を解決します(最初の空でない値が優先されます):

互換性に関する注意:Ghidra 12.1.2クライアントにはGhidra Server 12.1.2、12.0.5、またはそれ以降の互換性のあるサーバーが必要です。古い共有サーバーは、12.1クライアントへのアップグレードの安全な対象ではありません。

  1. GHIDRA_SERVER_PASSWORD 環境変数(またはGhidraインストールディレクトリまたは ~ 内の .env ファイル)
  2. ~/.ghidra-cred — ホームディレクトリ内の1行パスワードファイル
  3. <ghidra-install-dir>/.ghidra-cred

ユーザー名も同様に解決されます:GHIDRA_SERVER_USER 環境変数 → user.name システムプロパティ。

パスワードが見つからない場合、Ghidraは通常のGUIプロンプトを表示します。サイレント認証を有効にするには、これらを .env(完全なブロックについては .env.template を参照)に設定してください。

v5.4.0 から v5.4.1 への移行

  • スクリプトエンドポイントはデフォルトでオフになりました。 /run_script_inline または /run_ghidra_script に依存していた場合は、GHIDRA_MCP_ALLOW_SCRIPTS=1 をエクスポートしてください。これは意図的な破壊的変更です。以前のデフォルトは安全ではありませんでした。
  • ローカルホストのみのデプロイメントでは変更は必要ありません。 認証、バインド拒否、パスルートチェックはすべてオプトインです。

❓ トラブルシューティング

ツールに「GhidraMCP」メニューが表示されない

原因: プラグインが有効化されていないか、正しくインストールされていません。

解決策:

  1. 拡張機能がインストールされていることを確認:ファイル > 拡張機能のインストール — GhidraMCP がリストに表示されるはずです
  2. プラグインを有効化:ファイル > 設定 > すべてのプラグインの設定 > GhidraMCP(チェックボックスをオン)
  3. インストール/有効化後に Ghidra を再起動

サーバーが応答しない / 接続が拒否されました

原因: サーバーが起動していないか、ポートが間違っています。

解決策:

  1. サーバーを起動したことを確認:ツール > GhidraMCP > MCPサーバーを起動
  2. 設定されたポートを確認:編集 > ツールオプション > GhidraMCP HTTPサーバー
  3. ポートが使用中かどうかを確認: ```bash

    Linux/macOS

    lsof -i :8089

    Windows

    netstat -ano | findstr :8089
    root@kitploit:~
  4. Ghidraコンソールでエラーを探す: Window > Console

pip install が error: externally-managed-environment で失敗する

原因: PEP 668。Debian系ディストリビューション(Debian 12+、Kali、Ubuntu 23.04+)はシステムPythonを外部管理としてマークしており、apt管理のパッケージを保護するためにグローバルなpip installをブロックしています。

解決策: 仮想環境を使用してください — --break-system-packagesは絶対に使わないでください。推奨される方法は uv で、プロジェクトローカルの.venvを自動的に管理します:```bash curl -LsSf https://astral.sh/uv/install.sh | sh cd ghidra-mcp uv run bridge-mcp-ghidra

root@kitploit:~
またはクラシックなvenv:```bash
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
bridge-mcp-ghidra

python -m debugger で ModuleNotFoundError が発生し、pybag または comtypes が見つからない

原因: スタンドアロンのデバッガサーバは、デフォルトではインストールされないオプションのWindows専用Python依存関係を使用します。

解決方法:```text uv sync --group debugger uv run python -m debugger

root@kitploit:~
If you have both a global Python and a project venv, make sure you install
into and run from the same interpreter.
(グローバルのPythonとプロジェクトのvenvの両方がある場合は、同じインタプリタにインストールして実行するようにしてください。)

### 500 Internal Server Errors(500内部サーバーエラー)

**原因:** サーバー側の例外。多くの場合、プログラムデータの不足が原因です。

**解決方法:**
1. CodeBrowserでバイナリが読み込まれていることを確認する
2. 最初に自動解析を実行する: **Analysis > Auto Analyze**
3. Ghidraコンソール(**Window > Console**)でJava例外を確認する
4. 一部の操作では、完全に解析されたバイナリが必要です

### 404 Not Found Errors(404 Not Foundエラー)

**原因:** エンドポイントが存在しない、またはURLが間違っている。

**解決方法:**
1. エンドポイントが存在することを確認する: `curl http://127.0.0.1:8089/get_version`
2. エンドポイント名のタイプミスを確認する
3. 正しいHTTPメソッドを使用していることを確認する (GET vs POST)

### Python Ghidra scripts fail with "No script provider found"(Python Ghidraスクリプトが「No script provider found」で失敗する)

**原因:** Ghidra 12.1.2では、Jythonサポートがデフォルトで有効になっていません。`.py`スクリプトにはバンドルされたJython拡張機能が必要です。Python 3スクリプトは、Ghidra Script Managerの代わりにPyGhidraを使用する必要があります。

**解決方法:**
1. Ghidraフロントエンドで、**File > Install Extensions**を開く。
2. **Jython**にチェックを入れ、Ghidraを再起動してからScript Managerを更新する。
3. 新しい自動化には、Java GhidraスクリプトまたはPyGhidraを推奨します。

### Extension not appearing in Install Extensions(拡張機能がInstall Extensionsに表示されない)

**原因:** JARファイルの場所が間違っている。

**解決方法:**
1. 手動インストール場所: `~/.ghidra/ghidra_12.1.2_PUBLIC/Extensions/GhidraMCP/lib/GhidraMCP.jar`
2. または、**File > Install Extensions > Add**を使用してZIPファイルを選択する
3. JAR/ZIPがご使用のGhidraバージョン用にビルドされていることを確認する

### Build fails with "Ghidra dependencies not found"(ビルドが「Ghidra dependencies not found」で失敗する)

**原因:** Ghidra JARがローカルのMavenリポジトリにインストールされていない。

**解決方法:**```text
# Windows (recommended)
python -m tools.setup install-ghidra-deps --ghidra-path "C:\ghidra_12.1.2_PUBLIC"

📊 本番パフォーマンス

  • MCP ツール: 271 ツールが完全実装済み
  • 速度: ほとんどの操作でサブ秒応答
  • 効率性: バッチ操作による API 呼び出しの 93% 削減
  • 信頼性: 全か無かのセマンティクスによるアトミックトランザクション
  • AI ワークフロー: 数百の実関数で洗練された実績のあるドキュメントプロンプト
  • デプロイ: バージョン認識型の自動デプロイスクリプト

🛠️ API リファレンス

271 の MCP ツールは HTTP エンドポイントをバックエンドとし、カタログカテゴリ別にグループ化されています。python -m tools.gen_readme_api_reference --write によって tests/endpoints.json から生成されます。実行時には /mcp/schema のライブスキーマが信頼できます。使用パターン: docs/prompts/TOOL_USAGE_GUIDE.md.

プログラム & セッション管理

  • analysis_status - 開いているプログラムの自動解析ステータスを取得
  • close_program - プロジェクトパスまたは名前で開いているプログラムを閉じる
  • create_property_map - アドレスをキーとする型付き値を格納するユーザープロパティマップを作成
  • delete_property_map - ユーザープロパティマップとそのすべての値を削除
  • exit_ghidra - Ghidra を保存して終了
  • get_address_spaces - プログラム内のすべての物理アドレス空間とオーバーレイアドレス空間を一覧表示(オーバーレイには is_overlay フラグと overlayed_space 名を含む)
  • get_current_program_info - 現在のプログラム情報を取得
  • get_language_metadata - プログラムの言語記述をダンプ: アドレス空間、レジスタ、デフォルトシンボル、エンディアン、ポインタサイズ (issue #192)
  • get_program_options - プログラムオプショングループ内のすべてのオプションを、型、現在値、デフォルト値、説明とともに読み取る
  • get_property - プロパティマップ内のアドレスに格納された値を読み取る
  • import_file - ディスク上のバイナリファイルを現在の Ghidra プロジェクトにインポートして開く
  • list_open_programs - 開いているプログラムを一覧表示

プロジェクト構成

  • create_folder - プロジェクトにフォルダを作成
  • delete_file - プロジェクトからファイルを削除
  • delete_project - Ghidra プロジェクトを削除
  • list_projects - 利用可能な Ghidra プロジェクトを一覧表示
  • move_file - ファイルを別のプロジェクトフォルダに移動
  • move_folder - フォルダを別の場所に移動
  • project_info - 実行中のツールや開いているプログラムを含む詳細なプロジェクト情報を取得

ヘッドレスプロジェクト & プログラムライフサイクル

スタンドアロンのヘッドレスサーバー(GhidraMCPHeadlessServer)で利用可能。

  • archive_project - 現在開いているプロジェクトを Ghidra ネイティブの .gar ファイルにアーカイブ
  • checkin_program - 開いているプログラムを共有 Ghidra サーバーに新しいバージョンとしてチェックイン
  • close_project - 現在開いているプロジェクトを閉じる
  • create_project - 新しい Ghidra プロジェクトを作成
  • export_program - 開いているプログラムまたはプロジェクト内のプログラムを Ghidra Zip ファイル (.gzf) にエクスポート
  • get_project_info - 現在開いているプロジェクトの情報を取得
  • import_program - Ghidra Zip ファイル (.gzf) を現在開いているプロジェクトに新しい DomainFile としてインポート(target_folder に、デフォルトは '/')
  • load_program - 解析のためにバイナリファイルをヘッドレスサーバーにロード
  • load_program_from_project - Ghidra プロジェクトからプログラムをロード(ヘッドレス)
  • open_project - 既存の Ghidra プロジェクト (.gpr ファイルまたはディレクトリ) を開く
  • restore_project - Ghidra .gar アーカイブを parent_dir/project_name の新しいオンディスクプロジェクトに復元

一覧表示 & 列挙

  • list_bookmarks - ブックマークを一覧表示
  • list_calling_conventions - 利用可能な呼び出し規約を一覧表示
  • list_classes - 名前空間/クラス名を一覧表示
  • list_data_items - 定義済みデータを一覧表示
  • list_data_items_by_xrefs - クロスリファレンス数でソートされたデータを一覧表示
  • list_exports - エクスポートされたシンボルを一覧表示
  • list_external_locations - 外部ロケーションを一覧表示
  • list_functions - アドレス付きで関数を一覧表示
  • list_functions_enhanced - メタデータ付きで関数を一覧表示
  • list_globals - グローバル変数を一覧表示
  • list_imports - インポートされたシンボルを一覧表示
  • list_methods - すべての関数名をページネーション付きで一覧表示
  • list_namespaces - すべての名前空間を一覧表示

コンテキスト & ルックアップ

  • get_current_address - カーソルアドレスを取得(GUIのみ)
  • get_current_function - カーソル位置の関数を取得(GUIのみ)
  • get_current_selection - CodeBrowser リスト内のハイライトされたアドレス範囲を取得(GUIのみ)
  • get_entry_points - プログラムのエントリポイントを取得
  • get_enum_values - 列挙値を取得
  • get_external_location - 外部ロケーションの詳細を取得
  • get_full_call_graph - 完全なコールグラフを取得
  • get_function_by_address - アドレスから関数を取得
  • get_function_call_graph - コールグラフを取得
  • get_function_callees - 呼び出される関数を取得
  • get_function_callers - 呼び出し元の関数を取得
  • get_function_count - ロードされたプログラム内の関数の数を返す

検索

  • find_similar_functions - 類似関数を検索
  • search_byte_patterns - バイトパターンを検索
  • search_data_types - データ型を検索
  • search_functions - 名前で関数を検索
  • search_functions_enhanced - 高度な関数検索
  • search_strings - 正規表現/サブ文字列パターンで定義済み文字列を検索

逆コンパイル & 逆アセンブル

  • decompile_function - 関数を逆コンパイル
  • disassemble_bytes - バイト範囲を逆アセンブル
  • disassemble_function - 関数を逆アセンブル
  • force_decompile - 強制的に新たに逆コンパイル

関数タグ、変数 & 属性

  • add_function_tag - 関数に1つ以上のタグを付与
  • batch_add_function_tags - 1回のトランザクションで多数の関数にタグを付与
  • batch_remove_function_tags - 1回のトランザクションで多数の関数からタグを削除
  • clear_flow_and_repair - シード範囲に対して Ghidra の GUI アクション「Clear Flow and Repair」を実行: シードから到達可能な命令フローをクリアし、関数本体を修復し、保持されたフローを再逆アセンブル(ClearFlowAndRepairCmd、clear_data=false、clear_labels=false、repair=true)
  • create_function_tag - オプションのコメント付きでプログラム全体の関数タグ定義を作成
  • delete_function_tag - プログラム全体の関数タグ定義を削除
  • get_function_tags - 特定の関数に割り当てられたすべてのタグを一覧表示
  • list_class_members - C++ クラスのメンバー関数を一覧表示
  • list_function_tags - すべてのプログラム全体の関数タグ定義とその使用回数を一覧表示
  • remove_function_tag - 関数から1つ以上のタグを削除
  • search_functions_by_tag - 指定されたタグが付与されたすべての関数を一覧表示
  • - 逆コンパイラ(高レベル)変数またはパラメータの型を名前で設定

クロスリファレンス

  • add_memory_reference - 自動アナライザが推測できない2つのメモリアドレス間のユーザー定義クロスリファレンスを作成(実行時に設定されるポインタテーブル、vtable、遅延バインド関数ポインタ、見逃したジャンプ/スイッチテーブル)
  • get_bulk_xrefs - 複数アドレスのクロスリファレンスを一括取得
  • get_function_xrefs - 関数のクロスリファレンスを取得
  • get_xrefs_from - アドレスからの参照を取得
  • get_xrefs_to - アドレスへの参照を取得
  • remove_reference - あるアドレスから別のアドレスへのメモリクロスリファレンスを削除 — add_memory_reference の逆操作

データ型 & 構造体

  • add_struct_field - 構造体フィールドを追加
  • analyze_global_completeness - グローバル変数のドキュメント完全性を予算制限付きの0-100スケールでスコアリング — analyze_function_completeness のデータアドレス版
  • apply_data_type - データ型を適用
  • audit_global - グローバル変数のドキュメント状態を監査
  • audit_globals_in_function - 関数内から参照されるすべてのグローバル変数を1回の呼び出しで監査
  • batch_set_variable_types - 複数の変数型を一括設定
  • clone_data_type - データ型をクローン
  • create_array_type - 配列型を作成
  • create_data_type_category - データ型カテゴリを作成
  • create_enum - 列挙を作成
  • create_function_signature - 関数シグネチャ型を作成
  • create_pointer_type - ポインタ型を作成

名前変更 & ラベル

  • batch_create_labels - 複数のラベルを作成
  • batch_delete_labels - 複数のラベルを削除
  • batch_rename_function_components - 関数コンポーネントを一括で名前変更
  • create_label - ラベルを作成
  • delete_label - アドレスのラベルを削除
  • rename_data - データシンボルの名前を変更
  • rename_external_location - 外部ロケーションの名前を変更
  • rename_function - 名前で関数の名前を変更
  • rename_function_by_address - アドレスで関数の名前を変更
  • rename_global_variable - グローバル変数の名前を変更
  • rename_label - ラベルの名前を変更
  • rename_or_label - 名前を変更またはラベルを作成
  • rename_variable - 関数内の変数の名前を変更

コメント & ブックマーク

  • batch_set_comments - 複数のコメントを設定
  • clear_function_comments - 関数のすべてのコメントをクリア
  • delete_bookmark - ブックマークを削除
  • get_comment - 任意のアドレス(データアドレスを含む)でリストコメント(plate/pre/eol/post/repeatable)を取得(関数が必要な get_plate_comment とは異なる)
  • get_plate_comment - プレートコメントを取得
  • set_bookmark - ブックマークを設定
  • set_comment - 任意のアドレス(データアドレスを含む)で指定された種類(plate/pre/eol/post/repeatable)のリストコメントを設定
  • set_decompiler_comment - PRE_COMMENT を設定
  • set_disassembly_comment - EOL_COMMENT を設定
  • set_plate_comment - プレートコメントを設定

解析

  • analyze_api_call_chains - API 呼び出しチェーンを解析
  • analyze_call_graph - 関数コールグラフのパターンを解析
  • analyze_control_flow - 制御フローを解析
  • analyze_data_region - データ領域を解析
  • analyze_dataflow - 関数内の値伝播をトレース(PCode グラフ、前方/後方)
  • analyze_for_documentation - 複合 RE ドキュメント解析(逆コンパイル + 分類 + 変数 + 完全性)
  • analyze_function_complete - 包括的な単一呼び出し関数解析
  • analyze_function_completeness - ドキュメントの完全性を解析
  • analyze_struct_field_usage - 構造体フィールドの使用状況を解析
  • apply_data_classification - データ分類を適用
  • batch_analyze_completeness - 複数関数の完全性を一括解析
  • batch_apply_documentation - 1回の呼び出しで関数にすべてのドキュメントを適用

クロスバイナリドキュメント & アーカイブ

  • archive_ingest_function - 単一関数のドキュメントをクロスバージョンアーカイブ(bsim Postgres 上の re_kb.functions)に取り込む
  • archive_ingest_program - プログラム内のすべての関数をクロスバージョンドキュメントアーカイブに一括取り込み
  • batch_string_anchor_report - ソースファイルの文字列とその FUN_* 関数のレポート
  • bulk_fuzzy_match - クロスバイナリ関数の一括ファジーマッチング
  • find_similar_functions_fuzzy - クロスバイナリファジー関数マッチング
  • merge_program_documentation - 一括マージ: あるプログラムから別のプログラムに、一致するアドレスのすべての RE ドキュメント(関数名、シグネチャ、プレートコメント、EOL/PRE/POST の命令コメント、非デフォルトラベル、グローバルシンボル)をコピー

ユーティリティ & ドキュメント転送

  • apply_function_documentation - 関数ドキュメントを適用
  • check_connection - ヘルスチェックエンドポイント
  • compare_programs_documentation - プログラム間のドキュメントを比較
  • convert_number - 数値を基数間で変換
  • diff_functions - 2つの関数を差分
  • find_undocumented_by_string - 文字列を参照する未ドキュメント関数を検索
  • get_bulk_function_hashes - 関数ハッシュを一括取得
  • get_function_documentation - 関数ドキュメントをエクスポート
  • get_function_hash - 関数ハッシュを取得
  • get_function_signature - 関数特徴シグネチャを取得
  • get_metadata - プログラムメタデータを取得
  • get_version - プラグインバージョンを取得

エミュレーション

  • emulate_function - 制御されたレジスタ/メモリ入力で単一の関数をエミュレート
  • emulate_hash_batch - API ハッシュ解決をブルートフォース

スクリプティング

  • run_ghidra_script - 出力キャプチャ付きでスクリプトを実行
  • run_script_inline - インラインスクリプトコードを実行

Ghidra サーバー & バージョン管理

  • server_admin_set_permissions - リポジトリのユーザー権限を設定
  • server_admin_terminate_all_checkouts - フォルダ内のすべてのチェックアウトを再帰的に終了
  • server_admin_terminate_checkout - 単一ファイルのすべてのチェックアウトを終了
  • server_admin_users - サーバー上のすべてのユーザーを一覧表示
  • server_authenticate - プログラム認証用のサーバー資格情報を登録
  • server_checkouts - フォルダ内のすべてのチェックアウトファイル(サーバー側チェックアウトを含む)を一覧表示
  • server_connect - Ghidra サーバーに接続
  • server_disconnect - Ghidra サーバーから切断
  • server_repositories - 接続したサーバー上のリポジトリを一覧表示
  • server_repository_create - サーバー上に新しいリポジトリを作成
  • server_repository_file - サーバーリポジトリからファイル情報を取得
  • server_repository_files - サーバーリポジトリフォルダ内のファイルを一覧表示

デバッガ (Ghidra TraceRmi — GUIのみ)

ブリッジの WinDbg デバッガプロキシがアクティブな Windows ホストでは(GHIDRA_DEBUGGER_URL)、競合する名前に _2 サフィックスが付きます(例: debugger_status_2)。

  • debugger_dynamic_to_static - 現在のトレースからランタイム動的アドレスを静的な Ghidra プログラムアドレスに変換
  • debugger_interrupt - 実行中のターゲットを割り込み(ブレークイン)
  • debugger_launch - Ghidra の Trace RMI デバッガランチャーを通じて実行可能ファイルを起動
  • debugger_launch_offers - 現在のプログラムで利用可能なデバッガ起動/アタッチオプションを一覧表示
  • debugger_list_breakpoints - 現在のトレース内のすべてのブレークポイントを一覧表示
  • debugger_modules - デバッグプロセスにロードされているモジュール(DLL/EXE)を一覧表示
  • debugger_read_memory - デバッグプロセスからメモリを読み取り
  • debugger_registers - 現在のデバッグトレーススナップショットから CPU レジスタを読み取り
  • debugger_remove_breakpoint - アドレスのブレークポイントを削除
  • debugger_resume - デバッグプロセスの実行を再開
  • debugger_set_breakpoint - トレース内のアドレスにソフトウェア実行ブレークポイントを設定
  • debugger_stack_trace - 現在のスレッドのコールスタックバックトレースを取得

システム

  • prompt_policy - スコープ付き自動化プロンプト処理を一時的に有効化、無効化、または照会

ブリッジ静的ツールPythonブリッジ自身に定義されています(インスタンス発見、ツールグループ管理)。Ghidra接続前でも常に利用可能です。また、GHIDRA_DEBUGGER_URLがスタンドアロンデバッガサーバーを指している場合、ブリッジは22個のdebugger_* WinDbgツールをプロキシします。

  • check_tools - 現在登録されて呼び出し可能なツールを報告します
  • connect_instance - ブリッジを特定のGhidraインスタンスに接続します
  • import_file - ディスクからバイナリを現在のプロジェクトにインポートして開きます
  • list_instances - 実行中のGhidra MCPインスタンスを検出します(UDS + TCPポートスキャン)
  • list_tool_groups - ツールグループとそのロード状態を一覧表示します
  • load_tool_group - ツールグループの動的ツールをMCPクライアントに登録します
  • search_tools - キーワードで全ツールカタログを検索します
  • unload_tool_group - ツールグループの動的ツールの登録を解除します

変更履歴はCHANGELOG.mdを参照してください。

🏗️ アーキテクチャ```

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ AI/Automation │◄──►│ MCP Bridge │◄──►│ Ghidra Plugin │ │ Tools │ │ (bridge_mcp_ │ │ (GhidraMCP.jar) │ │ (Claude, etc.) │ │ ghidra/) │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ MCP Protocol HTTP REST Ghidra API (stdio/streamable-http) (localhost:8089) (Program, Listing)

root@kitploit:~
### Components

- **python/bridge_mcp_ghidra/** — Python MCPサーバーパッケージ(`ghidra-mcp-bridge` ホイールとして提供;`bridge-mcp-ghidra` コンソールスクリプト)。MCPプロトコルをHTTP呼び出しに変換します(225カタログエントリ)
- **GhidraMCP.jar** — 分析機能をHTTP経由で公開するGhidraプラグイン(175のGUIエンドポイント)
- **GhidraMCPHeadlessServer** — スタンドアロンヘッドレスサーバー — 183エンドポイント、GUI不要
- **ghidra_scripts/** — 一般的なタスク用の自動化スクリプト集

## 🔧 開発

### ソースからのビルド```bash
# Recommended: direct Python-first workflow
python -m tools.setup ensure-prereqs --ghidra-path "C:\ghidra_12.1.2_PUBLIC"
python -m tools.setup build
python -m tools.setup deploy --ghidra-path "C:\ghidra_12.1.2_PUBLIC"

# Version bump (updates all maintained version references atomically)
python -m tools.setup bump-version --new X.Y.Z

現在の標準的なビルドシステムはMavenです。tools.setup、VS Codeタスク、および文書化されたデプロイフローはすべてpom.xmlを通じてビルドし、成果物をtarget/に書き込みます。build.gradleは、直接Ghidra/Gradleを使用するユーザーのための手動フォールバックとしてリポジトリに残っていますが、主要なパスではありません。

Command Reference

ほとんどのコマンドで受け入れられる共通フラグ:

デプロイテストティアはオプトインです。ベンチマークティアがアクティブなGhidraプロジェクト内のBenchmark.dllとBenchmarkDebug.exeをインポート/リセットできるためです。リリースをカットする前には--test releaseを使用するか、マシン上のすべてのデプロイでライブベンチマーク回帰を実行したい場合は、ローカルの.envにGHIDRA_MCP_DEPLOY_TESTS=releaseを設定してください。テストとリリース回帰を参照してください。```text

Standard first-time setup and deploy

python -m tools.setup ensure-prereqs --ghidra-path "C:\ghidra_12.1.2_PUBLIC" python -m tools.setup build python -m tools.setup deploy --ghidra-path "C:\ghidra_12.1.2_PUBLIC"

Preflight check before deploying

python -m tools.setup preflight --strict --ghidra-path "C:\ghidra_12.1.2_PUBLIC"

Version bump and tag

python -m tools.setup bump-version --new X.Y.Z --tag

Run offline Java tests

python -m tools.setup run-tests

Show full help

python -m tools.setup --help

root@kitploit:~
### プロジェクト構造```
ghidra-mcp/
├── pyproject.toml           # uv project (ghidra-mcp-bridge wheel + dependency groups)
├── python/bridge_mcp_ghidra/ # MCP server package (Python, 225 catalog entries)
├── src/main/java/           # Ghidra plugin + headless server (Java)
│   └── com/xebyte/
│       ├── GhidraMCPPlugin.java         # GUI plugin (196 endpoints)
│       ├── headless/                    # Headless server (183 endpoints)
│       └── core/                        # Shared service layer (12 services)
├── debugger/                # Optional standalone debugger server (port 8099)
├── ghidra_scripts/          # Automation scripts for batch workflows
├── tests/                   # Python unit tests + endpoint catalog
│   ├── unit/               # Catalog consistency, schema, tool function tests
│   └── endpoints.json      # Endpoint specification (225 entries)
├── docs/                    # Documentation
│   ├── prompts/            # AI workflow prompts (V5 documentation workflows)
│   ├── releases/           # Version release notes
│   └── project-management/ # Contributor planning docs (Gradle migration, etc.)
├── tools/setup/             # Build and deployment CLI (python -m tools.setup)
├── fun-doc/                 # Internal RE curation tool — not part of the MCP plugin
│                            #   Priority-queue worker, LLM scoring, web dashboard.
│                            #   See fun-doc/README.md for details.
└── .github/workflows/      # CI/CD pipelines

Library Dependencies

Ghidra JARは、コンパイル前にローカルのMavenリポジトリ(~/.m2/repository)にインストールする必要があります。 これはマシンごとに一度だけのセットアップであり、Ghidraのバージョンが変更された場合にも再度必要です。 -Deployはデフォルトでこれらを自動的にインストールします。

このツールは、次の間でバージョンの一貫性を強制します:

  • pom.xml (ghidra.version)
  • --ghidra-path バージョンセグメント(例:ghidra_12.1.2_PUBLIC)

これらが一致しない場合、デプロイメントは明確なエラーを表示して即座に失敗します。

トラブルシューティング:バージョンの不一致

バージョンの不一致エラーが表示された場合は、両方の値を一致させてください:

  1. pom.xml → ghidra.version
  2. --ghidra-path バージョンセグメント(ghidra_X.Y.Z_PUBLIC)

その後、再実行してください:

root@kitploit:~
mvn clean package -Deploy -DskipTests
``````text
python -m tools.setup preflight --ghidra-path "C:\ghidra_12.1.2_PUBLIC"

Maltegoをローカルにインストールする場合、DockerイメージをプルしてDockerコマンドで実行します。 最新バージョンのDockerを使用します。

  1. Clone the repository:

    root@kitploit:~
    git clone https://github.com/pathtorepo/maltego-docker.git
    cd maltego-docker
    
  2. Build the Docker image:

    root@kitploit:~
    docker build -t maltego .
    
  3. Run the Docker container:

    root@kitploit:~
    docker run -d --name maltego-container maltego
    

詳細なドキュメントは WATCH.md ファイルで参照してください。```text

Windows

python -m tools.setup install-ghidra-deps --ghidra-path "C:\path\to\ghidra_12.1.2_PUBLIC"

root@kitploit:~
**必要なライブラリ(14個のJAR、約37MB):**

| ライブラリ | ソースパス | 目的 |
|---------|------------|---------|
| **Base.jar** | `Features/Base/lib/` | Ghidraのコア機能 |
| **Decompiler.jar** | `Features/Decompiler/lib/` | 逆コンパイルエンジン |
| **PDB.jar** | `Features/PDB/lib/` | Microsoft PDBシンボルサポート |
| **FunctionID.jar** | `Features/FunctionID/lib/` | 関数識別 |
| **SoftwareModeling.jar** | `Framework/SoftwareModeling/lib/` | プログラムモデルAPI |
| **Project.jar** | `Framework/Project/lib/` | プロジェクト管理 |
| **Docking.jar** | `Framework/Docking/lib/` | UIドッキングフレームワーク |
| **Generic.jar** | `Framework/Generic/lib/` | 汎用ユーティリティ |
| **Utility.jar** | `Framework/Utility/lib/` | コアユーティリティ |
| **Gui.jar** | `Framework/Gui/lib/` | GUIコンポーネント |
| **FileSystem.jar** | `Framework/FileSystem/lib/` | ファイルシステムサポート |
| **Graph.jar** | `Framework/Graph/lib/` | グラフ/コールグラフ解析 |
| **DB.jar** | `Framework/DB/lib/` | データベース操作 |
| **Emulation.jar** | `Framework/Emulation/lib/` | Pコードエミュレーション |

> **注意**: ライブラリはリポジトリに含まれていません(`.gitignore`を参照)。ビルド前にGhidraのインストールからインストールする必要があります。

> **自動化エントリポイント**:
> - `python -m tools.setup` はサポートされているセットアップ/ビルド/デプロイ/バージョン管理インターフェースです
> - `ensure-prereqs`、`build`、`deploy`、`preflight`、`clean-all`、`bump-version` を直接使用してください
> - これらのコマンドは現在、正規のJavaビルドバックエンドとしてMavenを使用しています。

### 開発機能
- **自動デプロイ**: バージョン認識デプロイスクリプト
- **バッチ操作**: API呼び出しを93%削減
- **アトミックトランザクション**: オール・オア・ナッシングのセマンティクス
- **包括的なロギング**: デバッグおよびトレース機能

## 📚 ドキュメント

### コアドキュメント
- [ドキュメントインデックス](https://github.com/bethington/ghidra-mcp/blob/HEAD/docs/README.md) - 完全なドキュメントナビゲーション
- [プロジェクト構造](https://github.com/bethington/ghidra-mcp/blob/HEAD/docs/PROJECT_STRUCTURE.md) - プロジェクト構成ガイド
- [テストとリリース回帰](https://github.com/bethington/ghidra-mcp/blob/HEAD/docs/TESTING.md) - ローカルテスト、CI、ライブGhidra回帰、リリースゲート
- [命名規則](https://github.com/bethington/ghidra-mcp/blob/HEAD/docs/NAMING_CONVENTIONS.md) - コード命名基準
- [ハンガリアン記法](https://github.com/bethington/ghidra-mcp/blob/HEAD/docs/HUNGARIAN_NOTATION.md) - 変数命名ガイド

### AIワークフロープロンプト
- [関数ドキュメント V5](https://github.com/bethington/ghidra-mcp/blob/HEAD/docs/prompts/FUNCTION_DOC_WORKFLOW_V5.md) — 主要ワークフロー: ハンガリアン記法、型監査、検証スコアリングを備えた7ステッププロセス
- [バッチドキュメント V5](https://github.com/bethington/ghidra-mcp/blob/HEAD/docs/prompts/FUNCTION_DOC_WORKFLOW_V5_BATCH.md) — マルチ関数処理のための並列サブエージェントディスパッチ
- [孤立コード発見](https://github.com/bethington/ghidra-mcp/blob/HEAD/docs/prompts/ORPHANED_CODE_DISCOVERY_WORKFLOW.md) — 未発見の関数のための自動スキャナー
- [データ型調査](https://github.com/bethington/ghidra-mcp/blob/HEAD/docs/prompts/DATA_TYPE_INVESTIGATION_WORKFLOW.md) — 体系的な構造発見
- [クロスバージョンマッチング](https://github.com/bethington/ghidra-mcp/blob/HEAD/docs/prompts/CROSS_VERSION_MATCHING_COMPREHENSIVE.md) — ハッシュベースの関数マッチング
- [クイックスタートプロンプト](https://github.com/bethington/ghidra-mcp/blob/HEAD/docs/prompts/QUICK_START_PROMPT.md) — 初心者向け簡易ワークフロー
- [すべてのプロンプト](https://github.com/bethington/ghidra-mcp/blob/HEAD/docs/prompts/README.md) — 完全なプロンプトインデックス

### リリース履歴
- [完全な変更ログ](https://github.com/bethington/ghidra-mcp/blob/HEAD/CHANGELOG.md) - 全バージョンのリリースノート
- [リリースノート](https://github.com/bethington/ghidra-mcp/blob/HEAD/docs/releases/) - 詳細なリリースドキュメント

## 🐳 ヘッドレスサーバー(Docker)

GhidraMCPには、Ghidra GUIなしで自動分析を行うためのヘッドレスサーバーモードが含まれています。

### Dockerでのクイックスタート```bash
# Build and run
docker-compose up -d ghidra-mcp

# Test connection
curl http://localhost:8089/check_connection
# Connection OK - GhidraMCP Headless Server v5.17.0

ヘッドレスAPIワークフロー```bash

1. Load a binary

curl -X POST -d "file=/data/program.exe" http://localhost:8089/load_program

2. Run auto-analysis (identifies functions, strings, data types)

curl -X POST http://localhost:8089/run_analysis

3. List discovered functions

curl "http://localhost:8089/list_functions?limit=20"

4. Decompile a function

curl "http://localhost:8089/decompile_function?address=0x401000"

5. Get metadata

curl http://localhost:8089/get_metadata

root@kitploit:~
### 主要なヘッドレスエンドポイント

| エンドポイント | メソッド | 説明 |
|----------|--------|-------------|
| `/load_program` | POST | 解析用のバイナリファイルをロード |
| `/run_analysis` | POST | Ghidra自動解析を実行 |
| `/list_functions` | GET | 検出されたすべての関数を一覧表示 |
| `/list_exports` | GET | エクスポートされたシンボルを一覧表示 |
| `/list_imports` | GET | インポートされたシンボルを一覧表示 |
| `/decompile_function` | GET | 関数をCコードに逆コンパイル |
| `/create_function` | POST | アドレスに関数を作成 |
| `/get_metadata` | GET | プログラムのメタデータを取得 |
| `/create_project` | POST | Ghidraプロジェクトを作成 |
| `/list_analyzers` | GET | 利用可能なアナライザーを一覧表示 |
| `/server/status` | GET | Ghidraサーバーの接続を確認 |

### 設定

Docker用の環境変数:
- `GHIDRA_MCP_PORT` - サーバーポート (デフォルト: 8089)
- `GHIDRA_MCP_BIND_ADDRESS` - バインドアドレス (デフォルト: Docker内では0.0.0.0)
- `JAVA_OPTS` - JVMオプション (デフォルト: -Xmx4g -XX:+UseG1GC)

## 🤝 貢献

詳細なコントリビューションガイドラインについては [CONTRIBUTING.md](https://github.com/bethington/ghidra-mcp/blob/HEAD/CONTRIBUTING.md) を参照してください。

### クイックスタート
1. リポジトリをフォーク
2. 機能ブランチを作成 (`git checkout -b feature/amazing-feature`)
3. 変更をビルドしてテスト (`mvn clean package assembly:single -DskipTests` または `GHIDRA_INSTALL_DIR=/path/to/ghidra gradle buildExtension`)
4. 必要に応じてドキュメントを更新
5. 変更をコミット (`git commit -m 'Add amazing feature'`)
6. ブランチにプッシュ (`git push origin feature/amazing-feature`)
7. プルリクエストを作成

## 📄 ライセンス

このプロジェクトはApache License 2.0の下でライセンスされています。詳細は [LICENSE](https://github.com/bethington/ghidra-mcp/blob/HEAD/LICENSE) ファイルを参照してください。

## 🏆 プロダクションステータス

| 指標 | 値 |
|--------|-------|
| **バージョン** | 5.17.0 |
| **MCPツール** | 249件完全実装 |
| **GUIエンドポイント** | 196 (GhidraMCPPlugin) |
| **ヘッドレスエンドポイント** | 195 (GhidraMCPHeadlessServer) |
| **コンパイル** | ✅ 100%成功 |
| **バッチ効率** | 93%のAPI呼び出し削減 |
| **AIワークフロー** | 7つの実績あるドキュメンテーションワークフロー |
| **Ghidraスクリプト** | 自動化スクリプト含む |
| **ドキュメント** | AIプロンプトを含む包括的 |

バージョン履歴とリリースノートについては [CHANGELOG.md](https://github.com/bethington/ghidra-mcp/blob/HEAD/CHANGELOG.md) を参照してください。


## 🙏 謝辞

このプロジェクトは、2025年8月に [LaurieWired/GhidraMCP](https://github.com/LaurieWired/GhidraMCP) から派生し、その後大幅に書き直され拡張されました。出発点としてLaurieWired氏のオリジナル作品を認めます。ライセンスの帰属については [NOTICE](https://github.com/bethington/ghidra-mcp/blob/HEAD/NOTICE) を参照してください。

## 👥 コントリビューター

このプロジェクトは、献身的なコントリビューターの作業によって恩恵を受けています。

### 主要コントリビューター

**[@heeen](https://github.com/heeen)** — 主な貢献:
- バイナリ間比較のためのファジー関数マッチングと構造化差分 (#13)
- スクリプト実行の改善とバグ修正 (#12)
- 新しいAPIエンドポイント: `save_program`, `exit_ghidra`, `delete_function`, `create_memory_block`, `run_script_inline` (#11)
- アーキテクチャビジョン: アノテーション駆動設計、UDSトランスポート、Pythonブリッジ最適化提案

**[@huehuehuehueing](https://github.com/huehuehuehueing)** — 主な貢献:
- アドレス空間プレフィックスサポート — エンドポイント全体のアドレス解析に `<space>:<hex>` 構文(例: `mem:1000`, `code:ff00`)を追加し、組み込みファームウェアのようなマルチスペースターゲットを可能に (#84, closes #65)
- オプションの `program` パラメータ + 必須パラメータスキーマ修正 — すべてのエンドポイントで `program` をオプションにし、適切な currentProgram フォールバックを設定、カタログが継承していた必須/オプションのスキーマバグを修正 (#92)
- #44 (データ型/列挙型ツール) の種 — v5.0の列挙型+構造体強制レイヤーを動機付けた issue


- **Ghidraチーム** - 素晴らしいリバースエンジニアリングプラットフォームに対して
- **Model Context Protocol** - 標準化されたAI統合フレームワークに対して
- **コントリビューター** - テスト、フィードバック、改善に対して

---

## 🔗 関連プロジェクト

- [re-universe](https://github.com/bethington/re-universe) — Ghidra BSim PostgreSQLプラットフォームによる大規模バイナリ類似性解析。AI駆動のリバースエンジニアリングワークフローでGhidraMCPと完全に連携。
- [cheat-engine-server-python](https://github.com/bethington/cheat-engine-server-python) — 動的メモリ解析とデバッグのためのMCPサーバー。

---

**エンタープライズ級の信頼性と包括的なバイナリ解析機能を備えた本番環境へのデプロイ準備完了。**
ツールをダウンロード
階層動作例
自動修正静かに適用されるuint32 上の count フィールド → 保存時に自動的に dwCount にプレフィックス
警告変更は通るが、警告が返されるprocessData → 「名前は動詞を含む PascalCase であるべき: ProcessData」
拒否説明付きで変更がブロックされるundefined → undefined 型変更 → 「型が変わっていないため、拒否:変更なし」
フラグデフォルト説明
--transportstdiostdio (AIツール), streamable-http (ウェブクライアント), sse (非推奨)
--mcp-host127.0.0.1HTTPトランスポートのバインドホスト
--mcp-port—HTTPトランスポートのポート
--lazyoff接続時にデフォルトのツールグループのみを読み込みます。起動が高速ですが、tools/list_changed をサポートしていないMCPクライアントでは不完全なツールリストが表示されます。Claude Codeでは推奨されません。
--no-lazy(default)接続時にすべてのツールグループを即座に読み込みます。ほとんどのAIクライアントで必要です。
--default-groupslisting,function,program--lazy が設定されている場合に接続時に読み込まれるカンマ区切りのグループ。
フラグデフォルト説明
--port8099HTTPサーバーポート
--host127.0.0.1バインドアドレス(LAN上に公開するには 0.0.0.0)
--exports-dir—序数から名前への解決のための dll_exports/ ディレクトリへのパス
--log-levelINFODEBUG, INFO, WARNING, または ERROR
  • list_option_groups - プログラムオプショングループを一覧表示(例:
  • list_project_files - プロジェクトファイルを一覧表示
  • list_properties - プロパティマップに格納された (アドレス, 値) エントリをページネーション付きで一覧表示
  • list_property_maps - ユーザー定義のプロパティマップ(アドレスごとの型付きキー→値ストア)を一覧表示
  • open_program - プロジェクトからプログラムを開く
  • reanalyze - プログラムで完全な自動解析をトリガー
  • remove_program_option - プログラムオプショングループからオプションを削除
  • remove_property - プロパティマップ内の単一アドレスに格納された値を削除
  • save_all_programs - 開いているすべてのプログラムを保存
  • save_program - 現在のプログラムを保存
  • set_image_base - プログラムのベースアドレスを設定(すべてのアドレスを再ベース)
  • set_program_option - 型付きプログラムオプションを設定
  • set_property - プロパティマップ内のアドレスに値を設定
  • switch_program - 現在のプログラムを切り替え
  • server_status - ヘッドレスサーバーの接続ステータスを確認
  • list_scripts - 利用可能な Ghidra スクリプトを一覧表示
  • list_segments - メモリセグメントを一覧表示
  • list_strings - 定義済み文字列を一覧表示
  • get_function_jump_targets - ジャンプターゲットを取得
  • get_function_labels - 関数内のラベルを取得
  • get_function_variables - 関数内のすべての変数を一覧表示
  • get_struct_layout - 構造体レイアウトを取得
  • get_valid_data_types - 有効なデータ型名を取得
  • set_decompiler_variable_type
  • set_function_no_return - no-return 属性を設定
  • set_function_tag_comment - 既存のプログラム全体の関数タグのコメント/説明を更新
  • set_function_this_type - 暗黙の 'this' ポインタ(x86 __thiscall/__fastcall では ECX)の逆コンパイラ/データベース型を設定
  • set_variables - 複数の変数の型と名前をアトミックに設定
  • create_struct - 構造体を作成
  • create_typedef - typedef を作成
  • create_union - 共用体を作成
  • delete_data_type - データ型を削除
  • embed_struct_field - 構造体フィールドを値による埋め込み構造体型に置き換え(例:
  • get_data_type_size - データ型のサイズ(バイト)を取得
  • get_type_size - データ型のサイズと情報を取得
  • import_data_types - GDT からデータ型をインポート
  • list_data_type_categories - データ型カテゴリを一覧表示
  • list_data_types - データ型を一覧表示
  • modify_struct_field - 構造体フィールドを変更
  • modify_struct_field_type - 名前またはオフセット(offset:N)で構造体フィールドの型を設定
  • move_data_type_to_category - データ型をカテゴリに移動
  • recreate_struct - 1ステップで構造体を置き換え: オプションで既存の同名型を削除し、フィールド JSON で新規作成(create_struct と同じ形式)
  • remove_struct_field - 構造体フィールドを削除
  • resize_struct - 既存の構造体を合計バイトサイズで拡大または縮小
  • resolve_duplicate_type - 単純な名前で重複データ型を見つけ、使用されていない /Demangler サイズ1のスタブを、より大きな正規型が存在する場合に削除
  • set_function_prototype - 関数プロトタイプを設定(戻り値型、パラメータ型、呼び出し規約)
  • set_global - グローバル変数に名前、型、プレートコメント、配列長をアトミックに適用
  • set_local_variable_type - 変数型を設定
  • set_parameter_type - パラメータ型を設定
  • set_variable_storage - 変数ストレージを設定
  • validate_data_type - データ型の構文を検証
  • validate_data_type_exists - データ型の存在をチェック
  • validate_function_prototype - 関数プロトタイプを検証
  • rename_variables - 変数を一括で名前変更
  • batch_decompile - 複数の関数を一度に逆コンパイル
  • can_rename_at_address - アドレスで名前変更が可能かチェック
  • clear_instruction_flow_override - フローオーバーライドをクリア
  • configure_analyzer - 解析プラグインを設定
  • create_function - アドレスに関数を作成
  • create_memory_block - メモリブロックを作成
  • delete_function - アドレスの関数を削除
  • detect_array_bounds - 配列境界を検出
  • detect_crypto_constants - 暗号定数を検出
  • detect_malware_behaviors - マルウェアの動作を検出
  • extract_iocs_with_context - コンテキスト付きで IOC を抽出
  • find_anti_analysis_techniques - アンチ解析手法を検出
  • find_code_gaps - 実行可能メモリ内の関数間の未定義バイトのギャップを検出
  • find_dead_code - デッドコードを検出
  • find_next_undefined_function - 次の未定義関数を検出
  • get_assembly_context - アセンブリコンテキストを取得
  • get_field_access_context - フィールドアクセスコンテキストを取得
  • get_function_pcode - 関数の生の P コードをダンプ (issue #192)
  • inspect_memory_content - メモリバイトを検査
  • list_analyzers - 利用可能な解析プラグインを一覧表示
  • read_memory - 生のメモリを読み取り
  • run_analysis - 現在のプログラムで自動解析を実行
  • search_instructions - ニーモニックおよび/またはオペランドのサブ文字列で命令を検索
  • suggest_field_names - フィールド名を提案
  • health - ヘッドレスサーバーのヘルスチェックエンドポイント
  • mcp_health - HTTP サーバーヘルス: プール統計、稼働時間、メモリ、アクティブリクエスト数
  • mcp_schema - エンドポイントメタデータ付きの機械可読 API スキーマ
  • tool_goto_address - CodeBrowser のリストと逆コンパイラを特定のアドレスに移動
  • tool_launch_codebrowser - ファイルを CodeBrowser で開き、必要に応じて新規起動
  • tool_running_tools - 実行中のすべての Ghidra ツールウィンドウを一覧表示
  • server_version_control_add - ファイルをバージョン管理に追加
  • server_version_control_checkin - バージョン管理ファイルをチェックイン
  • server_version_control_checkout - バージョン管理ファイルをチェックアウト
  • server_version_control_undo_checkout - ファイルのチェックアウトを元に戻す
  • server_version_history - ファイルのバージョン履歴を取得
  • debugger_static_to_dynamic - 静的な Ghidra プログラムアドレスを現在のトレース内のランタイム動的アドレスに変換
  • debugger_status - デバッガステータスを取得: アクティブトレース、スレッド、実行状態、モジュール数
  • debugger_step_into - 次の命令にシングルステップイン(コールに従う)
  • debugger_step_out - 現在の関数からステップアウト(リターンまで実行)
  • debugger_step_over - 次の命令をステップオーバー(コールには従わない)
  • debugger_traces - 開いているすべてのデバッグトレースを一覧表示
  • Command説明
    ensure-prereqsPython依存関係とGhidra Maven JARを一括インストールします。新しいマシンではここから始めてください。
    preflightPython、ビルドツール、Ghidraパス、JARの可用性を変更せずに検証します。--strictを追加すると、ネットワーク到達可能性も確認します。
    buildMaven(またはTOOLS_SETUP_BACKEND=gradleの場合はGradle)を使用してプラグインJARと拡張ZIPをビルドします。
    deployビルドした拡張をGhidraプロファイルにコピーし、自動起動のためにFrontEndTool.xmlをパッチします。
    start-ghidra設定されたGhidraインストールを起動します。
    cleanMaven/Gradleのビルド出力(target/、build/)を削除します。
    clean-allビルド出力とローカルキャッシュ成果物(.m2 Ghidra JARなど)を削除します。
    install-ghidra-depsGhidra JARのみを~/.m2にインストールします。ビルド環境が変わった場合に便利です。
    install-python-depsuv syncを使用してPython依存関係グループをインストールします。
    run-testsJavaオフラインテストスイートを実行します(ライブGhidraは不要)。
    verify-versionバージョン文字列がpom.xml、CHANGELOG.md、README.md間で一貫しているか確認します。
    bump-version --new X.Y.Zすべてのバージョン参照を原子的に更新します。--tagを渡すとgitタグを作成します。
    フラグ説明
    --ghidra-path PATHGhidraインストールディレクトリ。デフォルトは.envのGHIDRA_PATH。
    --dry-runアクションを実行せずに表示します。
    --forceGhidra JARが既に存在する場合でも再インストールします(install-ghidra-deps、ensure-prereqs)。
    --with-debuggerデバッガPython要件を強制インストールします(Windowsのみ)。
    --use-debugger-toggle.envからINSTALL_DEBUGGER_DEPSを読み取り、デバッガ依存関係をインストールするかどうかを判断します。
    --test TIER(deployのみ)releaseやdebugger-liveなどのライブデプロイ回帰ティアにオプトインします。
    --strict(preflightのみ)Maven CentralおよびPyPIのネットワーク到達可能性も確認します。