JordanRO2/idamesh

GitHub: JordanRO2/idamesh

idamesh 是一个将 IDA Pro 的反汇编与反编译能力通过 MCP 协议暴露给 AI 客户端的服务器,用于让 AI 辅助进行二进制逆向分析。

Stars: 1 | Forks: 0

# idamesh 一个用于 **IDA Pro** 的 [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server。它将 IDA 的反汇编器和 Hex-Rays 反编译器作为工具和资源暴露给 MCP 客户端(Claude 等),并通过一个 supervisor 在一个 endpoint 后方代理多个数据库,从而支持多个 agent 并行工作。 ## 它的功能 - **读取** — 反编译(Hex-Rays)、反汇编、交叉引用、调用图、类型和结构体检查、内存读取,以及字符串 / 字节 / 文本搜索。 - **查询** — 对函数、指令、xrefs、类型、导入进行结构化过滤。 - **分析** — 调查 / 分类、加密和危险 API 检测、漏洞启发式分析、栈字符串重建,以及 dataflow / taint 追踪。 - **修改** — 重命名、注释、重新定义类型、定义代码和数据、编辑栈帧、修补字节 / 汇编、书签,以及注释导出 / 导入。 - **并行化** — 通过私有副本打开每个数据库,以便多个 agent 可以同时处理同一个二进制文件,并将它们的编辑合并回一个数据库。 只读的 IDB 状态也会作为 `ida://…` MCP 资源被映射。 ## 环境要求 - Python **3.9+** - 已授权的 **IDA Pro** 安装,提供 `idapro` / `idalib` Python API。将 `IDADIR` 环境变量指向您的 IDA 安装目录。 ## 安装 ``` pip install idamesh ``` 或者从克隆的仓库安装,用于开发: ``` pip install -e .[dev] # editable install + pytest, to run the test suite ``` 这会提供带有三个子命令的 `idamesh` 命令:`worker`、`supervisor` 和 `install`。 ## 用法 **Headless worker** — 通过 stdio 操作单个数据库(由客户端启动): ``` idamesh worker /path/to/target.exe ``` **Supervisor** — 代理多个数据库的单一 HTTP endpoint: ``` idamesh supervisor # http://127.0.0.1:8745/mcp ``` 通过 `idb_open` / `idb_list` / `idb_close` 工具打开和关闭其背后的数据库;使用可选的 `database` 键将任何工具路由到某个会话(当仅打开单个数据库时可以省略)。 两次打开同一个二进制文件会产生两个独立的会话;`idb_merge` 用于合并它们的编辑。 **GUI 插件** — 在您实时打开的 IDA 数据库上提供 MCP 服务: ``` idamesh install # deploy the plugin into IDA's user directory, then restart IDA ``` 运行 `idamesh supervisor`(或者设置 `IDAMESH_AUTOLAUNCH_SUPERVISOR=1` 让插件自动启动一个),然后在 IDA 中打开一个二进制文件 — supervisor 将接管该实时会话并路由至该会话。 worker(`--transport http`)和 supervisor 都在单一的 `/mcp` endpoint 上使用 MCP **Streamable HTTP** 通信,绑定到 loopback 并进行 `Origin` 验证。 ## 从 Claude Code 连接 ``` claude mcp add --scope user --transport http idamesh http://127.0.0.1:8745/mcp ``` 或者直接启动单个 stdio worker: ``` claude mcp add --scope user -e IDADIR=/path/to/IDA-Pro \ idamesh -- idamesh worker /path/to/target.exe ``` ## 测试 ``` pip install -e .[dev] python -m pytest -q ``` 当 IDA 不可用(没有设置 `IDADIR`)时,实时的 `idalib` 端到端测试会自动跳过,因此即使没有安装 IDA,测试套件也能通过。 ## 许可证 [MIT](LICENSE)。
标签:AI辅助分析, Amass, Findomain, IDA Pro插件, MCP服务器, URL提取, 二进制分析, 云安全运维, 云资产清单, 反编译, 逆向工具, 逆向工程