Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
pyghidra-mcp — Python コマンドライン Ghidra MCP | Kitploit
ツール/GitHubGitHub/clearbluejar/pyghidra-mcp
組み込みシステムセキュリティ静的分析コード分析リバースエンジニアリングデバッガマルウェア分析バイナリ解析学習と教育AI支援リバースエンジニアリングファームウェア解析
GitHubclearbluejar/pyghidra-mcp

pyghidra-mcp

40455255日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Python コマンドライン Ghidra MCP

リポジトリを見る

GitHub Workflow Status (with event) PyPI - Downloads

PyGhidra-MCP - Ghidra Model Context Protocol サーバー

概要

pyghidra-mcp は、堅牢なソフトウェアリバースエンジニアリング(SRE)スイートである Ghidra の分析機能のすべてを、インテリジェントエージェントや LLM ベースのツールの世界にもたらすコマンドライン Model Context Protocol (MCP) サーバーです。 pyghidra と jpype を使用して Ghidra の ProgramAPI と FlatProgramAPI を Python に橋渡しし、その機能を Model Context Protocol を介して公開します。

MCP は、言語モデル、開発ツール(VS Code など)、自律エージェントが構造化されたコンテキストにアクセスし、ツールを呼び出し、インテリジェントに連携できるようにする統一インターフェースです。MCP は、強力な分析ツールと LLM エコシステムの間の架け橋だと考えてください。

pyghidra-mcp を使うと、Ghidra はインテリジェントなバックエンドになります。コンテキストが豊富なクエリに応答し、高度なリバースエンジニアリングタスクを自動化し、AI 支援ワークフローに統合する準備が整います。

pyghidra-mcp は現在、2 つの動作モードをサポートしています。

  • CLI 駆動の分析と自動化のための headless モード
  • pyghidra-mcp を通じて Ghidra を起動し、実行中の GUI とライブなプログラム状態を共有する --gui モード

[!NOTE] このベータプロジェクトは活発に開発中です。フィードバック、バグ報告、機能リクエスト、コードをお待ちしています。

また別の Ghidra MCP?

ええ、元の ghidra-mcp は素晴らしいです。しかし pyghidra-mcp は異なるアプローチを取ります:

  • 🐍 ヘッドレス優先、GUI 対応 – 効率的な自動化のため CLI だけで完全に実行するか、ライブな GUI ナビゲーションと編集が必要な場合は --gui で Ghidra を起動します。
  • 🔁 自動化向け設計 – LLM、CI パイプライン、再現可能な動作を必要とするツールとの統合に最適です。
  • ✅ CI/CD フレンドリー – クライアントとサーバーセッションの両方に対して堅牢なユニットテストと統合テストを備えています。
  • 🚀 高速起動 – 非同期起動により、バックグラウンドでバイナリの分析が続く間もサーバーはリクエストの処理を開始できます。最小限のセットアップで高速なコマンドライン起動をサポートします。
  • 📦 プロジェクト全体の分析 – Ghidra プロジェクト内のすべてのバイナリを並行してリバースエンジニアリングできます
  • 🤖 エージェント対応 – インテリジェントエージェント駆動のワークフローと大規模なリバースエンジニアリング自動化向けに構築されています。
  • 🔍 セマンティックコード検索 – ベクトル埋め込み(ChromaDB 経由)を使用して、逆コンパイルされた関数、コメント、シンボルにわたる高速でファジーな検索を可能にします。疑似 C 言語の探索やエージェント駆動のトリアージに最適です。

このプロジェクトは、ローカル開発、ヘッドレス環境、テスト可能なワークフロー向けに最適化された Python ファーストのエクスペリエンスを提供します。

セットアップ図

各コンポーネントの接続方法```mermaid

flowchart LR subgraph Clients["Clients"] Agent["MCP host / agent"] Cli["pyghidra-mcp-cli"] User["Ghidra user"] end

subgraph Process["pyghidra-mcp process"]
    Transport["stdio or streamable-http"]
    Tools["MCP tools"]
    Context["PyGhidra context"]
end

Project["Ghidra project<br/>.gpr / .rep"]
Artifacts["MCP artifacts<br/>ChromaDB + GZF cache"]
Gui["Ghidra GUI / CodeBrowser<br/>only with --gui"]

Agent -->|"stdio or HTTP"| Transport
Cli -->|"HTTP only"| Transport
Transport --> Tools
Tools --> Context
Context --> Project
Context --> Artifacts
Context -.-> Gui
User -.-> Gui
Gui -.-> Project
### モードの選択```mermaid
flowchart TD
    Start["What do you need?"]
    Start --> Headless["Agent or automation only"]
    Start --> GuiNeed["Live Ghidra GUI control"]
    Start --> Terminal["Interactive terminal client"]

    Headless --> Stdio["pyghidra-mcp -t stdio<br/>or -t streamable-http"]
    GuiNeed --> GuiMode["pyghidra-mcp --gui<br/>--transport streamable-http<br/>--project-path project.gpr"]
    Terminal --> HttpServer["Start pyghidra-mcp<br/>--transport streamable-http"]
    HttpServer --> CliMode["Run pyghidra-mcp-cli commands"]
  • ヘッドレスMCP: ローカルのMCPホストにはstdioを使用し、複数のクライアントが同じ長時間実行されるGhidraプロジェクトを必要とする場合はstreamable-httpを使用します。
  • GUIモード: pyghidra-mcpはGhidraを起動し、プロジェクトを開き、同じJVM内のCodeBrowserを制御する追加ツールを公開します。
  • CLIクライアント: pyghidra-mcp-cliはHTTPクライアントです。最初にstreamable-httpサーバーを起動し、その実行中のサーバーに対してターミナルコマンドを発行します。
詳細なアーキテクチャとツールサーフェス```mermaid flowchart TD subgraph Clients Agent["LLM / MCP host"] Cli["pyghidra-mcp-cli"] Automation["scripts and CI"] end
subgraph Transports
    Stdio["stdio"]
    Http["streamable-http"]
    Sse["sse legacy"]
end

subgraph Server["pyghidra-mcp server"]
    FastMcp["FastMCP tool server"]
    Context["PyGhidra context"]
    Indexing["background analysis and Chroma indexing"]

    subgraph Tools["MCP tools"]
        Analysis["decompile, xrefs, bytes, callgraph"]
        Search["symbols, strings, code"]
        ProjectOps["import, delete, metadata, list binaries"]
        Edits["rename function, rename variable, set type, set prototype, set comment"]
        GuiOnly["GUI only: open program, goto, list open programs, set current program"]
    end
end

subgraph GhidraRuntime["Ghidra runtime"]
    PyGhidra["pyghidra"]
    Jpype["JPype shared JVM"]
    Project["Ghidra project"]
    Programs["program databases"]
    CodeBrowser["Ghidra GUI / CodeBrowser"]
end

Agent --> Stdio
Agent --> Http
Automation --> Stdio
Automation --> Http
Automation --> Sse
Cli --> Http

Stdio --> FastMcp
Http --> FastMcp
Sse --> FastMcp

FastMcp --> Context
Context --> PyGhidra
PyGhidra --> Jpype
Jpype --> Project
Project --> Programs
Context --> Indexing
Indexing --> Search

FastMcp --> Tools
Tools --> Context
GuiOnly -.-> CodeBrowser
Context -.-> CodeBrowser
</details>

## 目次

- [PyGhidra-MCP - Ghidra Model Context Protocol Server](#pyghidra-mcp---ghidra-model-context-protocol-server)
    - [概要](#overview)
  - [また別のGhidra MCP?](#yet-another-ghidra-mcp)
  - [セットアップ図](#setup-diagrams)
    - [構成要素の接続方法](#how-the-pieces-connect)
    - [モードの選択](#choosing-a-mode)
  - [目次](#contents)
  - [はじめに](#getting-started)
  - [エージェント向け最適化](#optimized-for-agents)
  - [CLIクライアント](#cli-client)
    - [インストール](#installation)
    - [CLIでのクイックスタート](#quick-start-with-cli)
  - [プロジェクトの作成、管理、既存プロジェクトを開く](#project-creation-management-and-opening-existing-projects)
    - [新規プロジェクトの作成](#creating-new-projects)
      - [自己完結型プロジェクト構造](#self-contained-project-structure)
      - [基本的なプロジェクト作成](#basic-project-creation)
      - [カスタムプロジェクト作成](#custom-project-creation)
      - [複数の関連プロジェクトの作成](#creating-multiple-related-projects)
    - [既存のGhidraプロジェクトを開く](#opening-existing-ghidra-projects)
      - [.gprファイルで開く](#opening-by-gpr-file)
    - [GUIモード](#gui-mode)
    - [起動時のデフォルトと大規模プロジェクト](#startup-defaults-and-large-projects)
  - [開発](#development)
    - [セットアップ](#setup)
    - [テストと品質](#testing-and-quality)
  - [API](#api)
    - [ツール](#tools)
      - [バッチ操作](#batch-operations)
      - [読み取り/解析ツール](#read--analysis-tools)
      - [プロジェクト操作](#project-operations)
      - [編集/変更ツール](#edit--mutation-tools)
      - [GUI制御ツール(`--gui`のみ)](#gui-control-tools---gui-only)
  - [使用方法](#usage)
    - [Dockerでのバイナリマッピング](#mapping-binaries-with-docker)
    - [OpenWeb-UIとMCPOでの使用](#using-with-openweb-ui-and-mcpo)
      - [`uvx` を使用](#with-uvx)
      - [Docker を使用](#with-docker)
    - [標準入出力(stdio)](#standard-inputoutput-stdio)
      - [Python](#python)
      - [Docker](#docker)
    - [Streamable HTTP](#streamable-http)
      - [Python](#python-1)
      - [Docker](#docker-1)
    - [サーバー送信イベント(SSE)](#server-sent-events-sse)
      - [Python](#python-2)
      - [Docker](#docker-2)
  - [インテグレーション](#integrations)
    - [Claude Desktop](#claude-desktop)
  - [インスピレーション](#inspiration)
  - [コントリビュート、コミュニティ、ソースからの実行](#contributing-community-and-running-from-source)
    - [コントリビューターのワークフロー](#contributor-workflow)

## はじめに
ツールをダウンロード