REST local seguro, CLI, MCP e ponte de agente para IDA Pro 9.x
Camada de Controle Autônoma de IA e MCP para IDA Pro 9.x
Transforme o IDA Pro em uma potência agêntica de engenharia reversa. Conecte Claude Desktop, Cursor, Antigravity ou agentes LLM personalizados via Model Context Protocol (MCP) ou API REST de alto desempenho.
┌─────────────────────────────────────────────────────────┐
│ 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 é uma camada de controle exclusiva de localhost para o IDA Pro 9.x. Ele combina um plugin IDA autocontido, uma API REST JSON, um cliente Python, uma CLI, 54 ferramentas MCP nativas e backends de IA autônomos opcionais.
A versão 6.2.0 traz compatibilidade total com o IDA 9.3, mutações atômicas de banco de dados, autenticação de token em tempo constante, rastreamento de cursor SSE e cobertura completa da suíte de testes.
Conecte o Claude Desktop, o Cursor ou qualquer cliente MCP à sua instância do IDA Pro em execução em 60 segundos:
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"
(Ou copie ida_plugin/ph4ntom_ida_bridge.py e api_schema.json diretamente para o seu diretório plugins/ do IDA).
Edite %APPDATA%\Claude\claude_desktop_config.json (Windows) ou ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"ida-bridge": {
"command": "python",
"args": [
"C:/path/to/ph4ntom-ida-bridge/mcp_server.py"
]
}
}
}
Adicione a .cursor/mcp.json ou em Cursor Settings → MCP:
{
"mcpServers": {
"ida-bridge": {
"command": "python",
"args": ["-m", "mcp_server"],
"cwd": "C:/path/to/ph4ntom-ida-bridge"
}
}
}
Inicie o IDA Pro, pressione Ctrl+Shift+A para alternar o servidor e solicite ao seu assistente de IA:
"Inspecione a função em 0x140001000. Rastreie referências cruzadas, analise o microcódigo, descompile para pseudocódigo C e renomeie variáveis ofuscadas para nomes significativos."
| Recurso | ph4ntom IDA Bridge | Gepetto / IDAGPT | Hex-Rays Copilot |
|---|---|---|---|
| Arquitetura | MCP bidirecional + REST + CLI | Wrapper de prompt único | Plugin de UI proprietário |
| Quantidade de Ferramentas | 54 Ferramentas MCP Granulares | 1 (Prompt de descompilação) | Ações de prompt fixas |
| AST e Fluxo de Controle | AST ctree completo + Microcode IR (0-7) | Apenas texto de pseudocódigo | Apenas texto de pseudocódigo |
| Mutações Seguras | Mutações em lote atômicas com rollback | Apenas inserção de comentários | Sugestões na UI |
| Depurador ao Vivo | Registradores, Pilha, Memória, Breakpoints | Não | Não |
| Execução Dinâmica | Motor de execução IDAPython em tempo real | Não | Não |
| LLMs Suportados | Qualquer Cliente MCP / Claude / GPT / Gemini / Ollama | Apenas API OpenAI | Nuvem proprietária |
| Segurança e Autenticação | Apenas localhost, token de 256 bits, DACL de Proprietário | Chave de API exposta em texto simples | Proprietário |
| Suporte ao IDA Pro 9.3 | Verificado e totalmente testado | Quebrado no IDA 9+ | Oficial |
O servidor MCP expõe 54 ferramentas dedicadas em 7 domínios de engenharia reversa:
| Categoria | Ferramentas | Descrição |
|---|---|---|
| 🔍 Binário e Segmentos | ping, get_binary_info, list_segments, read_bytes, read_vtable | Metadados do binário, bitness, permissões, extração de vtable |
| 🧩 Descompilação e AST | decompile, get_disassembly, get_ctree, get_microcode, get_local_variables, get_function_details | Pseudocódigo C do Hex-Rays, AST ctree em JSON, Microcode IR (0=PREOPT a 7=LVARS), informações de protótipo |
| 🕸️ Callgraphs e Xrefs | get_xrefs_to, get_xrefs_from, get_callers, get_callees, get_call_graph, get_basic_blocks, get_strings_used | Referências cruzadas, árvores recursivas de chamadores, fluxo de controle de blocos básicos |
| 🔎 Busca e Exploração | search_function, search_bytes, search_text, list_strings, list_names, list_imports, list_exports | Busca de bytes com curinga (??), funções importadas de DLLs, exportações, filtragem de strings |
| 🏷️ Tipos e Structs | list_structs, get_struct, list_enums, list_types, get_type, create_type, create_struct | Análise de declarações C, definições de estruturas, inspeção de membros de enum |
| ✏️ Mutação do Banco de Dados | 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 | Renomeação verificada, tipagem de variáveis locais, patch de binário, rollback atômico |
| 🐞 Depurador ao Vivo | dbg_start, dbg_set_breakpoint, dbg_continue, dbg_step_into, dbg_step_over, dbg_get_registers, dbg_read_memory, dbg_get_stack | Controle de execução de processo, breakpoints de hardware, dump de registradores e memória ao vivo |
| ⚡ IDAPython Dinâmico | execute_idapython | Execução de IDAPython em tempo real com captura estruturada de result |
| 📦 Recursos MCP | ida://info, ida://schema | Metadados de binário em tempo real e schema OpenAPI completo |