Repolode
bethington

bethington/ghidra-mcp

MCP-сервер позволяет AI-ассистентам управлять Ghidra для анализа бинарных файлов и предоставляет более 200 инструментов для декомпиляции, переименования и аннотирования.

Звёзды
5,821
Форки
347
Открытые issues
33
Последний коммит
5 дней назад

Что это?

GhidraMCP — это MCP-сервер, который предоставляет AI-ассистентам и инструментам автоматизации возможности Ghidra для реверс-инжиниринга. Он открывает доступ к более чем 200 инструментам для декомпиляции, анализа графов вызовов и перекрёстных ссылок, работы с типами данных и структурами, анализа строк и импортов, а также операций записи — переименования, назначения типов и добавления комментариев. Сервер можно запустить как плагин в графическом интерфейсе Ghidra или в headless-режиме для скриптового анализа и работы в Docker.

Помимо статического анализа, проект поддерживает эмуляцию отдельных функций на P-code, интеграцию с отладчиком в реальном времени на базе фреймворка Ghidra TraceRmi и трассировку потока данных P-code от выбранной переменной или регистра. Сопоставление функций по хешам позволяет переносить документацию между версиями бинарного файла. По умолчанию инструменты загружаются по мере необходимости, чтобы не перегружать MCP-клиентов полным каталогом; выполнение скриптов отключено, если его явно не включить.

Для работы проекта нужны Ghidra 12.1.4 и Java 21. Python-мост можно установить из wheel-файла релиза с помощью uv или pip.

Ключевые возможности

  • 01Предоставляет более 200 MCP-инструментов для декомпиляции, анализа перекрёстных ссылок и графов вызовов.
  • 02Поддерживает операции записи: переименование, изменение типов, добавление комментариев и создание структур.
  • 03Работает как плагин с графическим интерфейсом в Ghidra или как headless-сервер, в том числе в Docker.
  • 04Поддерживает эмуляцию отдельных функций и трассировку потока данных на основе P-code.
  • 05Интегрируется с отладчиком в реальном времени через фреймворк Ghidra TraceRmi.
  • 06Переносит документацию функций между версиями бинарного файла, используя SHA-256-хеши функций.

Сценарии использования

  • Поручить AI-ассистенту исследовать бинарный файл без символов, присваивать имена функциям и документировать их.
  • Пакетно аннотировать большую программу, соблюдая единые правила именования в разных сеансах.
  • Переносить результаты работы аналитика с одной сборки бинарного файла на другую с помощью сопоставления функций по хешам.
  • Запускать автоматический анализ Ghidra в CI или Docker без графического интерфейса.

Быстрый старт

  1. 1

    Установите необходимые компоненты: Ghidra 12.1.4, Java 21 и uv

  2. 2

    Установите ZIP-архив расширения GhidraMCP в Ghidra через File > Install Extensions, затем перезапустите Ghidra

  3. 3

    Установите мост MCP из wheel-файла релиза с помощью uv

    uv tool install https://github.com/bethington/ghidra-mcp/releases/download/v7.0.0/ghidra_mcp_bridge-7.0.0-py3-none-any.whl
  4. 4

    Подключите клиент MCP к мосту, указав абсолютный путь к нему

Что важно знать

  • Расширение Ghidra загружается только в той же версии Ghidra, для которой оно было собрано, — 12.1.4.
  • Требуются Java 21 и запущенный экземпляр Ghidra с включённым плагином GhidraMCP.
  • main и релиз-кандидаты имеют статус бета-версии, а dev — экспериментальный статус, поэтому интерфейсы инструментов могут измениться.
  • Функции отладки в реальном времени доступны только через GUI-плагин Ghidra.

Темы

Частые вопросы

Что такое ghidra-mcp?
MCP-сервер позволяет AI-ассистентам управлять Ghidra для анализа бинарных файлов и предоставляет более 200 инструментов для декомпиляции, переименования и аннотирования. GhidraMCP — это MCP-сервер, который предоставляет AI-ассистентам и инструментам автоматизации возможности Ghidra для реверс-инжиниринга. Он открывает доступ к более чем 200 инструментам для декомпиляции, анализа графов вызовов и перекрёстных ссылок, работы с типами данных и структурами, анализа строк и импортов, а также операций записи — переименования, назначения типов и добавления комментариев. Сервер можно запустить как плагин в графическом интерфейсе Ghidra или в headless-режиме для скриптового анализа и работы в Docker.
ghidra-mcp можно использовать бесплатно? Какая у него лицензия?
ghidra-mcp распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
ghidra-mcp всё ещё поддерживается?
Активно поддерживается. Последний коммит в ghidra-mcp — 16 окт. 2026 г..
Для чего можно использовать ghidra-mcp?
Поручить AI-ассистенту исследовать бинарный файл без символов, присваивать имена функциям и документировать их. Пакетно аннотировать большую программу, соблюдая единые правила именования в разных сеансах. Переносить результаты работы аналитика с одной сборки бинарного файла на другую с помощью сопоставления функций по хешам. Запускать автоматический анализ Ghidra в CI или Docker без графического интерфейса.
Как установить ghidra-mcp?
Установите необходимые компоненты: Ghidra 12.1.4, Java 21 и uv Установите ZIP-архив расширения GhidraMCP в Ghidra через File > Install Extensions, затем перезапустите Ghidra Установите мост MCP из wheel-файла релиза с помощью uv: uv tool install https://github.com/bethington/ghidra-mcp/releases/download/v7.0.0/ghidra_mcp_bridge-7.0.0-py3-none-any.whl Подключите клиент MCP к мосту, указав абсолютный путь к нему
Где скачать ghidra-mcp?
Исходный код и инструкции по установке — на GitHub: https://github.com/bethington/ghidra-mcp

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Ghidra — открытая платформа АНБ для обратной разработки ПО: дизассемблирования, декомпиляции, визуализации графов и написания скриптов для скомпилированного кода.

92 тыс.10,3 тыс.JavaApache-2.0Обновлён 19 часов назад