DownWithUp/IDADomainMCP

GitHub: DownWithUp/IDADomainMCP

一个基于 FastMCP 的轻量级服务器,使 AI 智能体能够无头调用 IDA Pro 的 Domain API 执行自动化逆向工程分析任务。

Stars: 1 | Forks: 0

# IDA Domain MCP Server 一个轻量级的 MCP server,允许 AI agents 在 IDA 数据库文件上无头执行逆向工程任务。 https://github.com/user-attachments/assets/86a98360-86d5-482c-98d7-ab45783e32e3 ## 关于 该项目有两个目标: * 帮助我更好地理解和学习 MCP 的工作原理以及 agents 如何使用它 * 允许利用 Hexrays 强大的反汇编器和反编译器进行无头“沉浸式”逆向工程。 这个 MCP server 使用了 [FastMCP](https://fastmcp.wiki/en/v2/getting-started/welcome)。 我建议阅读有关 [IDA Domain API](https://ida-domain.docs.hex-rays.com/) 的内容,以便您了解其用途以及它如何融入您的项目中。 ## 功能 目前所有的 MCPs tools 均不会修改数据库。 支持的操作: * 数据库的打开、关闭以及显示元数据 * 列出所有 segments * 列出所有字符串 * 读取 bytes * 所有的 Xrefs 调用/读取/写入 * 反汇编单个/范围 * 反编译为伪代码 * 列出数据库中的所有类型 * 列出函数中的局部变量 * 设置函数定义(更改返回值、参数类型和名称) ## 注意事项 * 您**必须**设置 `IDADIR` 环境变量。这是 IDA domain API 的必要要求。 * 根据 AI agent 的沙盒化方式,您可能需要为用户设置 IDAUSR 环境变量。这是因为 domain API 会尝试写入 `~/.idapro/ida.reg`。如果您的沙盒不允许写入,这将失败。 * 此外,您必须确保包含 .i64 数据库的目录具有可读和**可写**权限。 您需要添加一个 MCP server:
使用 OpenAI codex 的示例:
打开 ~/.codex/config.toml ``` [mcp_servers.ida_domain_mcp] command = "python3" args = ["ida_domain_mcp.py"] [mcp_servers.dwu_ida_domain.env] IDADIR = "/home/mike/ida-pro-9.1" IDAUSR = "/tmp/idauser" ```
标签:AI代理, IDA Pro, MCP, 云资产清单, 自动化分析, 跨站脚本, 逆向工具, 逆向工程