Безопасный локальный REST, CLI, MCP и мост для агентов для IDA Pro 9.x
Автономный слой управления ИИ и MCP для IDA Pro 9.x
Превратите IDA Pro в мощный инструмент агентного реверс-инжиниринга. Подключайте Claude Desktop, Cursor, Antigravity или собственных LLM-агентов через Model Context Protocol (MCP) или высокопроизводительный REST API.
┌─────────────────────────────────────────────────────────┐
│ IDA Pro 9.x │
│ ph4ntom_ida_bridge.py (102 REST Endpoints) │
│ 127.0.0.1:13370 (Bearer Token Protected) │
└────────────────────────────┬────────────────────────────┘
│ REST / JSON / SSE
┌────────────────────────────────┼───────────────────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ MCP Server │ │ CLI / SDK │ │ AI Agents │
│ 54 Tools │ │ `ph4ntom-ida`│ │ Multi-LLM │
│ Claude │ │ Automation │ │ Gemini │
│ Cursor │ │ Headless │ │ Ollama │
│ Antigravity │ │ Testing │ │ Claude / GPT │
└───────────────┘ └───────────────┘ └───────────────┘
ph4ntom IDA Bridge — это уровень управления, доступный только через localhost, для IDA Pro 9.x. Он объединяет самодостаточный плагин IDA, JSON REST API, клиент Python, CLI, 54 нативных инструмента MCP и опциональные автономные бэкенды ИИ.
Версия 6.2.0 обеспечивает полную совместимость с IDA 9.3, атомарные изменения базы данных, аутентификацию по токену с постоянным временем, отслеживание курсора SSE и полное покрытие тестового набора.
Подключите Claude Desktop, Cursor или любой клиент MCP к вашему запущенному экземпляру IDA Pro за 60 секунд:
git clone https://github.com/ph4ntom-rev/ph4ntom-ida-bridge.git
cd ph4ntom-ida-bridge
python -m pip install -e ".[mcp]"
python cli.py install-plugin --ida-dir "C:\Program Files\IDA Professional 9.0"
(Или скопируйте ida_plugin/ph4ntom_ida_bridge.py и api_schema.json напрямую в каталог plugins/ вашей IDA).
Отредактируйте %APPDATA%\Claude\claude_desktop_config.json (Windows) или ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"ida-bridge": {
"command": "python",
"args": [
"C:/path/to/ph4ntom-ida-bridge/mcp_server.py"
]
}
}
}
Добавьте в .cursor/mcp.json или в Cursor Settings → MCP:
{
"mcpServers": {
"ida-bridge": {
"command": "python",
"args": ["-m", "mcp_server"],
"cwd": "C:/path/to/ph4ntom-ida-bridge"
}
}
}
Запустите IDA Pro, нажмите Ctrl+Shift+A, чтобы включить сервер, и дайте команду вашему ИИ-ассистенту:
"Изучи функцию по адресу 0x140001000. Проследи перекрёстные ссылки, проанализируй микрокод, декомпилируй в C-псевдокод и переименуй обфусцированные переменные в осмысленные имена."
| Возможность | ph4ntom IDA Bridge | Gepetto / IDAGPT | Hex-Rays Copilot |
|---|---|---|---|
| Архитектура | Двунаправленный MCP + REST + CLI | Обёртка над одним промптом | Проприетарный UI-плагин |
| Количество инструментов | 54 детализированных MCP-инструмента | 1 (промпт декомпиляции) | Фиксированные действия промптов |
| AST и поток управления | Полный AST ctree + Microcode IR (0-7) | Только текст псевдокода | Только текст псевдокода |
| Безопасные изменения | Атомарные пакетные изменения с откатом | Только вставка комментариев | Предложения в UI |
| Живой отладчик | Регистры, стек, память, точки останова | Нет | Нет |
| Динамическое выполнение | Движок выполнения IDAPython на лету | Нет | Нет |
| Поддерживаемые LLM | Любой MCP-клиент / Claude / GPT / Gemini / Ollama | Только OpenAI API | Проприетарное облако |
| Безопасность и аутентификация | Только localhost, 256-битный токен, DACL владельца | Открытый API-ключ в виде plain text | Проприетарно |
| Поддержка IDA Pro 9.3 | Проверено и полностью протестировано | Не работает на IDA 9+ | Официально |
MCP-сервер предоставляет 54 специализированных инструмента в 7 областях обратной инженерии:
| Категория | Инструменты | Описание |
|---|---|---|
| 🔍 Бинарный файл и сегменты | ping, get_binary_info, list_segments, read_bytes, read_vtable | Метаданные бинарного файла, разрядность, права доступа, извлечение vtable |
| 🧩 Декомпиляция и AST | decompile, get_disassembly, get_ctree, get_microcode, get_local_variables, get_function_details | C-псевдокод Hex-Rays, JSON AST ctree, Microcode IR (0=PREOPT до 7=LVARS), информация о прототипе |
| 🕸️ Графы вызовов и перекрёстные ссылки | get_xrefs_to, get_xrefs_from, get_callers, get_callees, get_call_graph, get_basic_blocks, get_strings_used | Перекрёстные ссылки, рекурсивные деревья вызывающих, поток управления базовых блоков |
| 🔎 Поиск и исследование | search_function, search_bytes, search_text, list_strings, list_names, list_imports, list_exports | Поиск байтов по шаблону (??), импортируемые функции DLL, экспорты, фильтрация строк |
| 🏷️ Типы и структуры | list_structs, get_struct, list_enums, list_types, get_type, create_type, create_struct | Разбор C-объявлений, определения структур, просмотр членов перечислений |
| ✏️ Изменение базы данных | rename_function, comment_function, set_inline_comment, rename_variable, set_variable_type, set_function_type, patch_bytes, batch_mutations, undo, redo, save_database, navigate_to | Проверенное переименование, типизация локальных переменных, бинарный патчинг, атомарный откат |
| 🐞 Живой отладчик | dbg_start, dbg_set_breakpoint, dbg_continue, dbg_step_into, dbg_step_over, dbg_get_registers, dbg_read_memory, dbg_get_stack | Управление выполнением процесса, аппаратные точки останова, дамп регистров и памяти в реальном времени |
| ⚡ Динамический IDAPython | execute_idapython | Выполнение IDAPython в реальном времени со структурированным захватом result |
| 📦 MCP-ресурсы | ida://info, ida://schema | Метаданные бинарного файла в реальном времени и полная схема OpenAPI |