
GhidraMCP
MCP-сервер для Ghidra: подключает ИИ-агента к реверс-инжинирингу и анализу вредоносного ПО.
GhidraMCP - проект для автоматизации реверс-инжиниринга и анализа вредоносного ПО с помощью искусственного интеллекта. Инструмент разработан известным исследователем кибербезопасности LaurieWired и представляет собой сервер на базе протокола MCP, совмещенный с плагином для популярного дизассемблера Ghidra.
Главная идея проекта заключается в том, чтобы дать возможность большим языковым моделям и агентам вроде Claude Desktop или Codex, напрямую управлять интерфейсом Ghidra и автономно проводить исследование бинарных файлов.
Как устроен проект Система состоит из двух основных элементов:
-
Плагин для Ghidra (Java): Работает внутри среды разработки, превращая Ghidra в локальный HTTP-сервер, готовый принимать внешние команды.
-
MCP-мост (Python): Скрипт-прослойка bridge_mcp_ghidra.py, которая переводит абстрактные запросы на естественном языке в точные программные инструкции для Ghidra.
Благодаря протоколу MCP, нейросеть видит структуру кода приложения, может сама вызывать встроенные функции дизассемблера и сразу оценивать результат работы.
Ключевые возможности для реверс-инжиниринга Через набор инструментов ИИ-агент получает доступ к базовым функциям Ghidra и может выполнять следующие действия:
- Автономная декомпиляция и анализ: Модель самостоятельно запрашивает декомпиляцию бинарного файла, изучает полученный псевдокод и пытается понять логику программы.
Контекстное переименование: ИИ может автоматически менять имена функций, классов, методов и локальных переменных с безликих (вроде FUN_00401000) на осмысленные, исходя из их поведения в коде.
-
Сбор метаданных бинарника: Нейросеть мгновенно получает списки классов, импортов, экспортов, глобальных данных и перекрестных ссылок (Xrefs).
-
Поиск строк и разметка: ИИ ищет текстовые строки в коде, меняет типы данных и расставляет комментарии к сложным участкам алгоритма.
Сценарии использования
-
Анализ вредоносного ПО: Нейросеть берет на себя рутину. Она переименовывает переменные, ищет скрытые строки, размечает код и выдает краткое резюме о том, что именно делает вирус или троян.
-
Ускорение онбординга в проект: При исследовании закрытых проприетарных протоколов или старых приложений, ИИ помогает человеку быстрее понять структуру огромной базы кода.
-
Автоматический поиск уязвимостей: ИИ может методично просматривать декомпилированные функции одну за другой в поисках переполнения буфера или других ошибок безопасности.
Проект написан на Java и Python, распространяется под лицензией Apache-2.0