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提取, 二进制分析, 云安全运维, 云资产清单, 反编译, 逆向工具, 逆向工程