Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
pyghidra-mcp — Ghidra MCP для командной строки на Python | Kitploit
Инструменты/GitHubGitHub/clearbluejar/pyghidra-mcp
Безопасность встроенных системСтатический анализАнализ КодаОбратная инженерияОтладчикиАнализ вредоносных программАнализ Бинарных ФайловОбучение и ОбразованиеОбратная Разработка с Помощью ИИАнализ Прошивок
GitHub
404554512 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
clearbluejar/pyghidra-mcp

pyghidra-mcp

Ghidra MCP для командной строки на Python

Репозиторий

GitHub Workflow Status (with event) PyPI - Downloads

PyGhidra-MCP - сервер Model Context Protocol для Ghidra

Обзор

pyghidra-mcp — это сервер Model Context Protocol (MCP) с интерфейсом командной строки, который привносит всю аналитическую мощь Ghidra, надёжного набора для обратной разработки программного обеспечения (SRE), в мир интеллектуальных агентов и инструментов на основе LLM. Он связывает ProgramAPI и FlatProgramAPI Ghidra с Python через pyghidra и jpype, а затем предоставляет эту функциональность через Model Context Protocol.

MCP — это унифицированный интерфейс, позволяющий языковым моделям, инструментам разработки (таким как VS Code) и автономным агентам получать доступ к структурированному контексту, вызывать инструменты и интеллектуально взаимодействовать. Воспринимайте MCP как мост между мощными инструментами анализа и экосистемой LLM.

С pyghidra-mcp Ghidra становится интеллектуальным бэкендом — готовым отвечать на контекстно-насыщенные запросы, автоматизировать глубокие задачи обратной разработки и интегрироваться в рабочие процессы с поддержкой ИИ.

pyghidra-mcp теперь поддерживает два режима работы:

  • режим headless для анализа и автоматизации через CLI
  • режим --gui, который запускает Ghidra через pyghidra-mcp и делится текущим состоянием программы с работающим GUI

[!NOTE] Этот бета-проект находится в активной разработке. Мы будем рады вашим отзывам, сообщениям об ошибках, запросам на новые функции и коду.

Ещё один Ghidra MCP?

Да, оригинальный ghidra-mcp великолепен. Но pyghidra-mcp использует другой подход:

  • 🐍 Headless-first, с поддержкой GUI – Полностью работает через CLI для оптимизированной автоматизации или запускает Ghidra с --gui, когда нужна живая навигация и правки в GUI.
  • 🔁 Создан для автоматизации – Идеален для интеграции с LLM, CI-конвейерами и инструментами, требующими воспроизводимого поведения.
  • ✅ Дружелюбен к CI/CD – Построен с надёжными модульными и интеграционными тестами как для клиентских, так и для серверных сессий.
  • 🚀 Быстрый запуск – Асинхронный запуск позволяет серверу начинать обработку запросов, пока бинарные файлы всё ещё анализируются в фоне. Поддерживает быстрый запуск из командной строки с минимальной настройкой.
  • 📦 Анализ в масштабе проекта – Обеспечивает параллельную обратную разработку всех бинарных файлов в проекте Ghidra
  • 🤖 Готов к работе с агентами – Создан для рабочих процессов на основе интеллектуальных агентов и крупномасштабной автоматизации обратной разработки.
  • 🔍 Семантический поиск по коду – Использует векторные эмбеддинги (через ChromaDB) для быстрого нечёткого поиска по декомпилированным функциям, комментариям и символам — идеально для исследования псевдокода и сортировки задач агентами.

Этот проект предлагает опыт, ориентированный в первую очередь на Python, оптимизированный для локальной разработки, headless-сред и тестируемых рабочих процессов.

Схемы настройки

Как всё связано

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

    subgraph Process["pyghidra-mcp process"]
        Transport["streamable HTTP (recommended)<br/>stdio (local fallback)"]
        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 -->|"HTTP (recommended)"| Transport
    Cli -->|"HTTP only"| Transport
    Transport --> Tools
    Tools --> Context
    Context --> Project
    Context --> Artifacts
    Context -.-> Gui
    User -.-> Gui
    Gui -.-> Project

Выбор режима

flowchart TD
    Start["What do you need?"]
    Start --> Headless["Agent or automation"]
    Start --> GuiNeed["Live Ghidra GUI control"]
    Start --> Terminal["Interactive terminal client"]

    Headless --> Http["pyghidra-mcp<br/>--transport 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"]
  • Headless MCP: используйте streamable-http. Он сохраняет Ghidra и её проект как один долго работающий сервер и работает как с MCP-хостами, так и с CLI-клиентом.
  • Режим GUI: pyghidra-mcp запускает Ghidra, открывает проект и предоставляет дополнительные инструменты, управляющие CodeBrowser в той же JVM.
  • CLI-клиент: pyghidra-mcp-cli — это HTTP-клиент. Сначала запустите сервер streamable-http, затем отправляйте терминальные команды этому работающему серверу.
  • stdio: сохраняйте этот режим только для MCP-хостов, которые не могут подключиться к HTTP-эндпоинту.
Подробная архитектура и набор инструментов
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"]
        McpServer["MCPServer 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 --> Http
    Automation --> Http
    Automation --> Sse
    Cli --> Http

    Stdio --> McpServer
    Http --> McpServer
    Sse --> McpServer

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

    McpServer --> Tools
    Tools --> Context
    GuiOnly -.-> CodeBrowser
    Context -.-> CodeBrowser

Содержание

Скачать инструмент