GhidraMCP

MCP-сервер и плагин для Ghidra: агент декомпилирует бинарники, смотрит перекрестные ссылки и переименовывает функции в открытом проекте

  • 11 506 ★ репозитория
  • Последний коммит
  • Apache-2.0
MCP-сервер

Расширенный доступ

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

  • Плагин открывает локальный HTTP-сервер, через который агент читает декомпилированный код и память программы в открытом проекте
  • Инструменты переименования и смены типов меняют сам проект Ghidra, поэтому перед правками сохраните копию
Все причины и проверки

lauriewired/ghidramcp

Установка

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

claude mcp add ghidra -- uvx --from git+https://github.com/LaurieWired/GhidraMCP ghidra-mcp --ghidra-server http://127.0.0.1:8080/

Перед этим установите плагин из архива релиза в Ghidra 12.1.4 и включите его. Нужен uv.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Плагин открывает локальный HTTP-сервер, через который агент читает декомпилированный код и память программы в открытом проекте
  • Инструменты переименования и смены типов меняют сам проект Ghidra, поэтому перед правками сохраните копию

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

Что делает

GhidraMCP состоит из двух частей: плагина для Ghidra, который поднимает локальный HTTP-сервер на порту 8080, и Python-моста ghidra-mcp, который превращает этот сервер в MCP-инструменты. Агент получает сведения о программе, списки функций, классов, пространств имен, сегментов, импортов, экспортов и строк, а также поиск функций по имени. Для разбора кода есть декомпиляция и дизассемблирование функции по имени или адресу, перекрестные ссылки к адресу и от него, дерево вызовов функции и чтение памяти. Модель может и править проект: переименовывать функции, данные и переменные, менять прототип функции и тип локальной переменной, оставлять комментарии в декомпиляторе и в дизассемблере. Есть и безголовый режим: через PyGhidra мост сам импортирует и анализирует бинарник, и графическая оболочка Ghidra не нужна.

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

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

  • Нужно получить псевдокод десятков функций из бинарника и сразу присвоить им осмысленные имена
  • Вы ищете, откуда вызывается подозрительная функция, и просите агента пройти перекрестные ссылки по get_xrefs_to и get_function_calls
  • Требуется обзор импортов, экспортов и строк неизвестного исполняемого файла перед глубоким разбором
  • Анализ бинарника идет в скрипте или на сервере без экрана, и подходит безголовый режим ghidra-mcp --headless --binary
  • Хочется расставить комментарии в декомпиляторе по итогам разбора, не вводя их вручную

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

  • На машине нет Ghidra 12.1.4: плагин собран под эту версию, а мост без Ghidra не заработает
  • Нужен анализ в IDA Pro, Binary Ninja или другом дизассемблере: сервер работает только с Ghidra
  • Бинарник слишком секретный, чтобы отдавать декомпилированный код облачной модели: псевдокод уходит в контекст агента
  • Проект Ghidra должен остаться нетронутым, а модель может переименовать функции и изменить типы

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

Найди в открытом проекте Ghidra функцию, которая обращается к строке с адресом сервера, декомпилируй ее и предложи имена для функции и переменных

MCP

Транспорт
stdio, http
Авторизация
не нужна

Переменные окружения

GHIDRA_INSTALL_DIR
Путь к каталогу Ghidra 12.1.4, нужен только для безголового режима

Ограничения

  • Плагин собран под Ghidra 12.1.4 и ставится из архива релиза через File и Install Extensions, после этого Ghidra перезапускают и включают плагин в настройках разработчика.
  • Для моста нужны uv или Python 3.10 и новее.
  • Безголовому режиму нужны Python 3.10–3.13, расширение GhidraMCP и переменная GHIDRA_INSTALL_DIR. На macOS декомпилятор Ghidra один раз собирают командой gradlew buildNatives.
  • Автор пишет, что любой MCP-клиент теоретически подойдет, но подтверждает примеры только для VS Code и Claude Code.
  • Ключи и платные аккаунты не нужны.

Как отключить. Отключите сервер командой claude mcp remove ghidra или удалите блок ghidra из конфигурации клиента. Плагин выключается в Ghidra через File, Configure и Developer, а расширение снимается в File и Install Extensions.

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

Как подключить GhidraMCP к Claude Code?

Сначала установите плагин из архива релиза в Ghidra 12.1.4 и перезапустите программу. Затем выполните claude mcp add ghidra -- uvx --from git+https://github.com/LaurieWired/GhidraMCP ghidra-mcp --ghidra-server http://127.0.0.1:8080/. Если порт плагина менялся в Tool Options, подставьте его в адрес.

Можно ли запустить GhidraMCP без окна Ghidra?

Да. Команда uvx --python 3.13 --from "ghidra-mcp[headless] @ git+https://github.com/LaurieWired/GhidraMCP" ghidra-mcp --headless --binary /path/to/target сама импортирует бинарник через PyGhidra. Нужны расширение GhidraMCP и переменная GHIDRA_INSTALL_DIR. Параметр --project DIR сохраняет проект между запусками.

Как подключить клиент, который принимает только URL?

Запустите мост в режиме streamable-http: ghidra-mcp --transport streamable-http --mcp-host 127.0.0.1 --mcp-port 8081 --ghidra-server http://127.0.0.1:8080/. После этого добавьте в клиент удаленный сервер http://127.0.0.1:8081/mcp.

Чем GhidraMCP отличается от Ghidra MCP Server Бетингтона?

GhidraMCP Лори Вайред закрывает базовый набор: декомпиляция, ссылки, чтение памяти, переименования и комментарии. Ghidra MCP Server другого автора заметно шире по числу инструментов. Выбирайте базовый вариант, если нужен простой запуск через uvx и безголовый режим.

Что GhidraMCP может изменить в проекте Ghidra?

Переименовать функции, данные и переменные, поменять прототип функции и тип локальной переменной, оставить комментарии в декомпиляторе и дизассемблере. Остальные инструменты только читают. Перед длинной сессией сохраните копию проекта.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

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

MCP-серверШирокий доступ5,9 тыс.Звезды репозитория

Расширение Ghidra с MCP-сервером: агент читает псевдокод и дизассемблер, строит графы вызовов и правит имена, типы и структуры через 100 инструментов

MCP-серверШирокий доступ780Звезды репозитория

MCP-сервер для Ghidra: агент декомпилирует, переименовывает переменные, строит перекрестные ссылки и разбирает бинарные файлы через набор мелких инструментов

MCP-серверШирокий доступ879Звезды репозитория

Нативный MCP-плагин для отладчика x64dbg: агент управляет отладкой по HTTP, ставит точки останова, шагает по коду, читает и патчит память

MCP-серверШирокий доступ2,6 тыс.Звезды репозитория

MCP-сервер и агентный набор для реверс-инжиниринга: Ghidra, Frida, x64dbg и Rizin для анализа бинарей, CTF и исследования вредоносного ПО

MCP-серверШирокий доступ1,3 тыс.Звезды репозитория
Официальный

Официальный MCP-сервер Hex-Rays: агент открывает базы IDA, выполняет в них Python и разбирает бинарники. Плагины есть для Claude Code и Codex

ПлагинШирокий доступ1,4 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
GhidraMCP (эта запись)нетне нужна11 506
Ghidra MCP Serverнетне нужна5 869самостоятельный проект с гораздо более широким набором инструментов для обратной разработки
x64dbg MCPнетне нужна534плагин отладчика x64dbg и x32dbg с MCP-сервером на 79 инструментов и
GhidrAssistMCPнетне нужна780расширение Ghidra с MCP-сервером

Коротко о README

Страница объясняет, что проект дает языковым моделям инструменты Ghidra для самостоятельного разбора приложений. Дальше идут требования, порядок установки плагина с пошаговым списком и видеоинструкцией, затем JSON-конфиг для MCP-клиентов и два примера, для VS Code и для Claude Code. Отдельные разделы описывают запуск моста для клиентов с URL, безголовый режим и сборку расширения из исходников через Gradle и Java 21.

Бейдж для README

Сообщить о проблеме

Foxx AIGhidraMCP
Foxx AI

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