
MCP-сервер для Ghidra

ghidraMCP — это сервер протокола контекста модели (MCP) для того, чтобы LLM могли автономно реверс-инжинирировать приложения. Он предоставляет множество инструментов из основной функциональности Ghidra клиентам MCP.
https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9
Сервер MCP + Плагин Ghidra
Сначала загрузите последний релиз из этого репозитория. В нём содержатся плагин для Ghidra и Python-клиент MCP. Затем вы можете напрямую импортировать плагин в Ghidra.
Файл -> Установить расширения+GhidraMCP-1-2.zip (или вашу версию) из загруженного релизаФайл -> Настроить -> РазработчикПравка -> Параметры инструмента -> HTTP-сервер GhidraMCPВидеоинструкция по установке:
Теоретически любой клиент MCP должен работать с ghidraMCP. Ниже приведены три примера.
Чтобы настроить Claude Desktop как клиент MCP для Ghidra, перейдите в Claude -> Настройки -> Разработчик -> Изменить конфигурацию -> claude_desktop_config.json и добавьте следующее:
{
"mcpServers": {
"ghidra": {
"command": "python",
"args": [
"/ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py",
"--ghidra-server",
"http://127.0.0.1:8080/"
]
}
}
}
Также вы можете отредактировать этот файл напрямую:
/Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json
IP-адрес и порт сервера настраиваются и должны указывать на нужный экземпляр Ghidra. Если они не заданы, по умолчанию используются localhost:8080.
Чтобы использовать GhidraMCP с Cline, необходимо также вручную запустить сервер MCP. Сначала выполните следующую команду:
python bridge_mcp_ghidra.py --transport sse --mcp-host 127.0.0.1 --mcp-port 8081 --ghidra-server http://127.0.0.1:8080/
Единственный обязательный аргумент — транспорт. Если все остальные аргументы не указаны, они примут значения по умолчанию (как выше). После запуска сервера MCP откройте Cline и выберите MCP Servers вверху.

Затем выберите Remote Servers и добавьте следующее, убедившись, что URL соответствует хосту и порту MCP:
http://127.0.0.1:8081/sseЕщё один клиент MCP, поддерживающий несколько моделей на бэкенде, — 5ire. Чтобы настроить GhidraMCP, откройте 5ire, перейдите в Tools -> New и установите следующие параметры:
python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.pylib/ этого проекта:Ghidra/Features/Base/lib/Base.jarGhidra/Features/Decompiler/lib/Decompiler.jarGhidra/Framework/Docking/lib/Docking.jarGhidra/Framework/Generic/lib/Generic.jarGhidra/Framework/Project/lib/Project.jarGhidra/Framework/SoftwareModeling/lib/SoftwareModeling.jarGhidra/Framework/Utility/lib/Utility.jarGhidra/Framework/Gui/lib/Gui.jarmvn clean package assembly:single
Сгенерированный zip-файл содержит собранный плагин Ghidra и его ресурсы. Эти файлы необходимы, чтобы Ghidra распознал новое расширение.