Ghidra MCP Server

MCP-сервер к дизассемблеру Ghidra: сотни инструментов для обратной разработки, декомпиляция, переименование, работа со структурами, эмуляция и отладка

MCP-сервер

Высокий риск

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

Почему такой уровень

  • Инструменты пишут в проект Ghidra: переименование, типы, комментарии, структуры
  • Есть эндпоинты запуска произвольных Java и Python скриптов и живая отладка
  • Сервер по умолчанию без аутентификации, при неверной настройке его можно вынести за localhost
Все причины и проверки

bethington/ghidra-mcp

Установка

Ручная установка

git clone https://github.com/bethington/ghidra-mcp.git
cd ghidra-mcp
python -m tools.setup ensure-prereqs --ghidra-path /path/to/ghidra
python -m tools.setup build
python -m tools.setup deploy --ghidra-path /path/to/ghidra

Укажите свой путь к установленной Ghidra. Деплой ставит расширение, запускает Ghidra и ждет готовности MCP. Нужны Java 21 и Python с uv или pip.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Проект связывает дизассемблер Ghidra с агентами через Model Context Protocol. Он состоит из плагина для Ghidra, который поднимает локальный HTTP-сервер, и Python-моста, отдающего инструменты агенту по MCP. Инструментов больше двухсот, и это не только чтение: декомпиляция и графы вызовов, переименование функций и переменных, комментарии, создание структур, союзов и перечислений, поиск строк и байтовых шаблонов, анализ импортов и экспортов, эмуляция кода через EmulatorHelper и интеграция с живым отладчиком. Есть пакетные операции для массовых правок, перенос документации между версиями бинарника по хешу функций и работа с общим сервером Ghidra. Часть правил именования и типизации перенесена в слой инструментов, чтобы результат оставался единообразным между сессиями. Поддерживаются режимы с GUI и без него, включая запуск в Docker.

Для кого. Для реверс-инженеров и аналитиков, которые разбирают бинарные файлы в Ghidra и хотят вести работу через агента.

Подходит, если

  • Нужно декомпилировать и документировать функции в Ghidra через агента
  • Нужно массово переименовать, прокомментировать и типизировать код в проекте Ghidra
  • Нужно перенести документацию между версиями одного бинарника или работать с общим сервером Ghidra

Не подходит, если

  • Нет установленной Ghidra и подходящей версии окружения (Java, Python)
  • Нужно только разовое чтение, ради которого не хочется поднимать плагин и мост

Пример запроса к агенту

Задокументируй эту функцию в Ghidra: разбери декомпиляцию, переименуй переменные и добавь комментарий

Ограничения

Нужны Ghidra, Java 21 и Python с uv или pip, а версия плагина привязана к конкретной версии Ghidra, указанной в проекте. Скрипты на Python внутри Ghidra требуют расширения Jython. По умолчанию HTTP-сервер плагина слушает только localhost и не аутентифицирует запросы, это модель доверенного локального пользователя. Эндпоинты запуска произвольных скриптов выключены и включаются отдельной переменной, а перед выносом сервера за пределы localhost обязательно задать токен доступа.

Как отключить. Удалите запись сервера ghidra-mcp из конфигурации MCP вашего агента и удалите расширение GhidraMCP из Ghidra через File > Install Extensions.

MCP

Транспорт
stdio, http
Авторизация
не нужна
Переменные окружения
Переменные окружения
GHIDRA_MCP_URL
Адрес HTTP-сервера плагина Ghidra, по умолчанию http://127.0.0.1:8089.
GHIDRA_MCP_ALLOW_SCRIPTS
Включает эндпоинты запуска произвольных скриптов, по умолчанию выключены.
GHIDRA_MCP_AUTH_TOKEN
секрет
Токен доступа, обязателен перед выносом сервера за пределы localhost.

Проверка безопасности

  • Инструменты пишут в проект Ghidra: переименование, типы, комментарии, структуры
  • Есть эндпоинты запуска произвольных Java и Python скриптов и живая отладка
  • Сервер по умолчанию без аутентификации, при неверной настройке его можно вынести за localhost

Коротко о README

README представляет MCP-сервер, который соединяет возможности обратной разработки Ghidra с агентами и предлагает более двухсот инструментов с полным доступом на запись. Помимо чтения и декомпиляции есть переименование, типизация, комментарии, создание структур, запуск скриптов, эмуляция P-code и интеграция с отладчиком. Установка идет через python -m tools.setup: подготовка зависимостей, сборка через Maven и деплой расширения в Ghidra, поддерживаются GUI, headless и Docker. Отдельный раздел описывает перенос конвенций именования в слой инструментов и защиту при выносе сервера за localhost. Лицензия Apache 2.0.

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

Это отдельная программа или дополнение к Ghidra?

Это плагин для уже установленной Ghidra плюс Python-мост. Плагин поднимает локальный HTTP-сервер, мост отдает инструменты агенту по MCP.

Агент может выполнять произвольный код?

Эндпоинты запуска скриптов выключены по умолчанию и включаются отдельной переменной окружения. Включайте их, только если действительно нужно исполнять скрипты и вы доверяете вызывающей стороне.

Выбор редакции

Скилл аудита безопасности кода от Cloudflare: агент проходит разведку, охоту по покрытию и независимую проверку находок и выдает структурированный отчет

СкиллСредний рискБез VPN22,6 тыс.Звезды репозитория
Выбор редакции

Открытый стек NVIDIA для запуска OpenClaw, Hermes и LangChain Deep Agents в песочницах OpenShell с сетевыми политиками и управляемым инференсом

CLIВысокий риск22,6 тыс.Звезды репозитория
Выбор редакции

Сканер безопасности для скиллов и MCP агентов: ищет промпт-инъекции, утечки данных и риски цепочки поставок до установки

CLIСредний рискБез VPN18,5 тыс.Звезды репозитория
Официальный

Статический анализ кода по правилам, похожим на сам код, со встроенным MCP-сервером для AI-агентов

CLIСредний риск16,8 тыс.Звезды репозитория
Foxx AIGhidra MCP Server

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.