文章总结: Hex-Rays发布官方IDAMCP服务器,免费开源,连接IDA与AI智能体,支持反汇编、反编译及逆向工程任务。其代码模式架构相比替代方案降低约20%token消耗,支持多智能体实时协作共享IDB,与模型无关且可在隔离环境运行。推荐配置包括ClaudeCode、Codex等框架及DeepSeek、Gemini等模型,并建议沙箱运行以降低安全风险。 综合评分: 82 文章分类: 安全工具,产品介绍,ai安全,逆向分析
Hex-Rays IDA MCP Server 正式发布
Duncan Ogilvie Duncan Ogilvie
securitainment
2026年9月29日 12:06 中国香港
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
我们很高兴推出官方 IDA MCP 服务器!这款免费开源软件把你的 IDA 安装环境与 AI 智能体连接起来,使它们能够反汇编、反编译并支持逆向工程任务。它与 Gemini、Qwen、Opus 等模型配合良好,可使用 Claude Code、Codex、Pi 等熟悉的运行框架。在我们内部以恶意软件分析为重点的基准测试中,IDA MCP 的「代码模式」(code mode)架构相比流行的替代方案,将 token 消耗降低了约 20%。
过去一年,LLM 的逆向工程能力大幅提升,编码智能体的采用率也急剧上升。模型代码协议(Model Codex Protocol)已经成为常态,我们将为你提供最好的工具,把 LLM 融入你的日常逆向工程工作流。
IDA MCP 最令人兴奋的特性之一,是它可以让多个智能体(以及一个人类)同时共享多个 IDB。这意味着一个智能体编队可以协作完成同一个项目,或者一个编排器智能体可以用子智能体并发研究同一个程序的不同部分。当 IDA 在图形界面中打开时,重命名、添加注释、应用类型等改动会立即生效。
该 MCP 服务器与模型无关,可与任何有能力的 LLM 无缝集成,无论是在本地部署还是通过云服务商访问。这意味着它非常适合隔离(airgapped)环境。由于它通过 idalib 以无头(headless)方式工作,你可以把 IDA MCP 部署到 AI 支持的逆向工程系统中,例如大规模流水线处理。
IDA MCP 免费、开源,支持 IDA Pro、Home、Classroom 与 OEM 各版本。
如果你已安装 uv,可以通过 HCLI 用这一行命令立即开始使用 IDA MCP:
uvx ida-hcli mcp install
核心特性与用法
安装 IDA MCP 服务器后,你的智能体就能使用 IDA 的反汇编器与反编译器来辅助逆向分析程序。其能力中最值得关注的几点包括:
- 代码模式架构极其节省 token,相比流行的替代方案约降低 20% 的消耗。
- 底层 ida-nexus库负责协调多个智能体对多个 IDB 文件的访问,实现一群用户之间的实时协作。
- 该服务器与模型无关且完全在本地运行,因此是隔离环境的良好选择。
下面我们详细展开。
代码模式架构
我们发现,许多 LLM 已经对 IDA 有相当好的了解,能迅速高效地探索程序。IDA MCP 服务器向智能体提供一套极简而强大的工具,并配有说明何时以及如何使用它们的描述:
-
Database
(数据库):打开、关闭、列出、保存
-
IDAPython
:读写/更新数据库,并用 Python 评估逻辑
-
Reference
(参考):用关键词搜索 API 文档与示例
注意这是非常小的一组工具!许多其他 MCP 服务器为每个操作都提供独立的工具:列出函数、列出字符串、列出导入、反编译一个或多个函数、反汇编某个地址范围等等。由于 IDA 功能如此之多,你很容易最终拥有 100 多个需要各自调优的工具。每个工具都占用上下文窗口空间,更重要的是,这些工具不可组合,而且所有中间输出也都会进入上下文窗口。这类系统缓慢、耗 token、效率低下。
相反,IDA MCP 采用了由 Cloudflare 推广的、被称为代码模式(Code Mode)的架构。智能体通过评估用 Python 或 JavaScript 等语言编写的程序来与结构化数据交互。根据用户反馈,只要 IDAPython 可用,模型本来就会自然地使用它,因此我们决定把这条路径作为模型与 IDB 交互的主要方式。另一个优势是:为你的智能体提供通用的 IDAPython / IDA 领域代码片段作为技能,会自动提升它使用 IDA MCP 的表现。
这种方式有一个权衡:由于 IDA 目前尚未把它的 Python 解释器与更广泛的系统隔离,智能体可以评估超出 IDA 数据库范围的脚本。虽然编码智能体通常已经拥有操作系统的 Bash 工具,但理解 IDA MCP 带来的这块额外攻击面仍然很重要。因此,在处理不可信数据时,我们建议把运行框架与 IDA MCP 放在沙箱环境中运行。
IDA Nexus 资源协调
当智能体与一个已在 IDA 图形界面中打开的 IDB 交互时,改动会即时反映在界面上,就好像智能体与人类正在同一个会话中协作。
不过,IDA MCP 服务器并不要求用户先在 IDA 图形界面中打开二进制文件。智能体可以独立创建或打开一个新数据库,这会派生一个无头的 idalib 实例来管理分析。该会话随后可被同一二进制的下一次 open_database调用自动复用。这使智能体能够从恶意软件样本中提取出二阶载荷,独立打开它并在无需任何用户交互的情况下继续分析。
每个已打开的 IDB 始终有一个 IDA 实例(无头或图形界面)在运行,一个或多个并行智能体连接到这些实例进行分析。IDA MCP 通过 ida-nexus协调这种资源跟踪。最终的效果是:智能体所做的改动会即时反映到 IDA 图形界面中,反之亦然。你也可以在自己的项目中使用 IDA Nexus!
一个社区集成示例是 ida_buddy,这是一个用于与 IDA 交互的 CLI 工具。由于 ida_buddy 使用了 IDA Nexus 库,它可以操作一个当前同时被 MCP 使用的 IDB。
另一个例子是 ida-tui,它让你可以在终端中使用 IDA。如果你在 IDA 图形界面中打开了一个二进制文件,你可以 SSH 到你的机器上,在不关闭图形界面的情况下远程查看或编辑该二进制文件。
IDA MCP 与模型无关
虽然 Anthropic、OpenAI 等机构提供的最先进(SOTA)模型在逆向工程任务上表现优异,但我们知道并非每位逆向工程师都能使用这些选项。前沿模型的 token 成本非常高,各服务商的数据留存政策各不相同,而且有些模型在没有厂商繁琐的额外审批时会拒绝网络安全类任务。好消息是:开放权重(open weight)模型已经广泛可用,并且近来在逆向工程任务上变得相当熟练!
根据我们内部以恶意软件分析为重点的基准测试,我们发现 DeepSeek v4.1 Flash、Kimi K3 与 GLM 5.3的表现水平接近 GPT-6-Luna 与 Gemini 3.8 Flash。遗憾的是,它们确实需要专用硬件。对于「专业消费者级」硬件(128–256GB 显存),DeepSeek V4 Flash 0731 与 GLM 5.3 Flash也能给出不错的结果。
我们还测试了 Qwen 3.8 27B,它可以(量化后)在单张消费级 GPU(24GB NVIDIA RTX 3090)上运行。这一类模型能够执行逆向工程任务,但容易卡住并过度思考,因此你需要采取更亲力亲为的方式。话虽如此,像 Pi这样的极简运行框架,配合 IDA MCP 工具的小占用,对于预填充速度相对较低的消费级硬件来说是合适的组合。
推荐配置
根据我们的经验,以下模型与运行框架的组合与 IDA MCP 配合良好:
- 通过 Claude Code使用 Opus 5.5,搭配月度编码套餐。不过,网络安全类安全防护会频繁打断工作,因此可能有必要回退到 Opus 4.6。
- 通过 Codex使用 GPT-6-Sol 或 Astra,搭配月度编码套餐。
- 通过 OpenRouter使用 Pi搭配 DeepSeek 4.1 Flash、Gemini 3.8 Flash、Kimi K3 或 GLM 5.3。
我们建议使用虚拟机或其他沙箱环境。用 HCLI 安装 IDA。一旦 IDA MCP 安装完成,每当你有逆向工程任务时,你的智能体就会主动使用 IDA!
演示
为演示 IDA MCP,我们研究了一个名为 ParcelDesk的场景,它涉及多个相互关联的 PE 文件。该挑战的思路是:你需要输入一个包裹标识符以及对应的取件码,才能打开一扇门并取出邮件。在我们的场景中,我们需要获取包裹 ZX-4815的取件码。
[提示] 如果你想在家跟着做,可以在这里找到这些文件。
首先,我们把挑战文件解压到一个新文件夹,并在其中打开一个编码智能体(本次演示我们使用 Claude Code 配合 Sonnet 5)。然后我们可以这样提问:
能否获取 ParcelDesk.exe 中包裹 ZX-4815 的取件码?
智能体会工作几分钟,对相关二进制文件反复调用 open_database与 execute_python,然后应该会返回类似这样的答案。在本例中,没有任何二进制文件是在 IDA 图形界面中打开的,但从智能体的角度看这毫无差别。对一个已在 IDA 中打开的文件调用 open_database,会复用该实例,而不是派生新的无头 idalib 工作进程。
值得注意的是,该挑战要求智能体遍历三个不同的 DLL 文件,并从资源区段中提取原始数据。借助 IDA MCP,它成功跨二进制追踪数据流、识别出正确的 DLL、提取并解析 PE 资源,并复现了一个自定义解密算法。
如果你好奇智能体是如何得出这些结论的,可以阅读我们导出到这里的工具调用轨迹。看着智能体如何决定组合 API 函数来收集数据,并与人类处理逆向工程的方式作对比,相当有趣。
安装
由于 IDA MCP 需要与外部 AI 系统通信,其使用可能并不符合每个组织的安全政策或气隙隔离部署政策。因此,IDA MCP 必须显式安装并配置后才能使用。它以免费开源软件的形式提供。
你可以在我们的文档中找到详细的安装说明。简而言之,安装好 uv后,你就可以用 HCLI为 IDA 与你的编码智能体安装插件。目前我们支持对 Claude Code、Codex、GitHub Copilot、Pi 与 oh-my-pi的一键安装,但任何支持 stdio MCP 服务器的客户端都可以使用,包括 LM Studio与 Antigravity。
uvx ida-hcli mcp install
或者,如果你已经安装了 hcli:
hcli mcp install
致谢
我们感谢 Joe T. Sylve在 PyPI 上把 ida-mcp 这个名称让给我们。此外,我们还要感谢早期访问测试者提供的反馈与想法!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:securitainment Duncan Ogilvie Duncan Ogilvie《Hex-Rays IDA MCP Server 正式发布》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论