系统:运行中
← 返回所有攻击
AGENTS CRITICAL NEW

IDEsaster:当编辑器原生功能沦为智能体的 RCE 原语

Ari Marzouk 披露了一类漏洞:提示注入驱使 AI 编码智能体滥用底层编辑器的原生功能,在几乎所有 AI IDE 上实现数据外泄与远程代码执行。

2026-07-03 // 5 min affects: github-copilot, cursor, windsurf, zed, jetbrains-ides, coding-agents

这是什么?

2025 年 12 月 6 日,安全研究员 Ari「MaccariTA」Marzouk 发布了 IDEsaster,这是他约六个月深入研究 AI 编码编辑器的成果。它并非单一漏洞,而是一类漏洞类别:提示注入引导 AI 编码智能体滥用底层编辑器的原生功能——这些功能早于 AI 出现、一向被视为安全——从而实现数据外泄与远程代码执行。

数字令人瞩目。共报告 30 余个漏洞分配了 24 个编号,并有 AWS 安全公告Claude Code 文档更新 承认该风险。Marzouk 测试的每一款应用都受这条新攻击链影响——GitHub Copilot、Cursor、Windsurf、Kiro、Zed、Roo Code、JetBrains Junie、Cline、Gemini CLI、Claude Code 等等。由于缺陷位于共享的基础编辑器而非某一具体产品,一项技术即可一举攻陷整个生态。

工作原理

以往的攻击遵循已知链条:被投毒的提示驱动一个有漏洞的工具,或驱使普通工具修改智能体自身设置(其 MCP 配置、自动批准清单)以获得执行。IDEsaster 增加了大多数编辑器完全未纳入威胁模型的第三个环节:提示注入 → 工具 → 基础编辑器功能。智能体的写文件工具做的正是它该做的事——写入一个文件——但该文件会激活一项具有危险副作用的历史功能。Marzouk 列举了三个案例;本文不复现任何利用提示,且在部分厂商超过 90 天仍未修复期间,研究员刻意保留了确切载荷。

第一个案例滥用远程 JSON 模式(schema)。许多编辑器允许 .json 文件引用位于外部 URL 的验证模式,并自动拉取。智能体被诱导写入一个 $schema 指向攻击者域名(并把窃取的数据作为参数附加)的 JSON 文件后,编辑器便会自行发起请求。值得注意的是,即便在差异预览(diff-preview)模式下该拉取也会触发,从而绕过部分人工确认环节。

第二个案例是覆写 IDE 设置以执行代码。以往报告改动的是智能体的设置,而本案例针对基础编辑器的设置,因此适用于共享该编辑器的所有产品。在基于 VS Code 的编辑器上,智能体把载荷写入一个始终存在的可执行文件(例如某个 Git 钩子示例),再让某项验证器路径设置指向它;打开对应类型的文件便会立即运行该二进制。JetBrains 编辑器通过其项目配置提供了等效路径。

第三个案例是多根工作区,它展示了这类漏洞的深度:一个工作区定义文件可将任意文件夹添加为项目根目录,从而消解「文件必须已在工作区内」的前提,即使首个补丁已落地,也能重新启用设置覆写。堵住一项功能,另一项又冒出来——而这正是问题的要害。

为何重要

影响上限是开发者机器上的远程代码执行,外加对智能体可读取的一切进行静默外泄,而触发条件仅仅是智能体处理了某些内容——被投毒的 README、规则文件、含隐藏字符的粘贴 URL、被攻陷的 MCP 服务器。数百万开发者在使用受影响产品,且经测试者无一幸免。Marzouk 将根因归结为一个缺失的设计原则,他称之为**「Secure for AI」**:编辑器面向人类做到了安全设计,但加入能读、能写、能执行的自主智能体后,原本无害的历史功能便沦为无人重新评估的攻击原语。注入不可避免;持久之策在于收缩被劫持的智能体所能触及的范围。

防御

使用 AI IDE 的开发者:仅在可信项目上运行智能体,因为文件内容乃至文件名都是注入向量;仅连接可信的 MCP 服务器并监控其变更;对作为上下文添加的任何 URL 或文本,手动审查是否含隐藏或不可见指令;并在工具支持之处始终启用人工确认。

构建智能体的团队:对每个工具实施最小权限——将 read_file 限定在工作区内(禁止路径穿越与符号链接,屏蔽 dotfile 与凭据路径),将 write_file 限定在源码目录并对配置文件或 dotfile 要求确认,对 http_fetch 优先采用人工批准或域名白名单。假定已被攻破:对任何敏感操作要求确认,对执行的命令进行沙箱隔离,并在 IDE 层实施出站(egress)管控,使外泄类副作用(如自动模式拉取)在全局层面被拦截。最后,将基础编辑器的整套功能纳入威胁模型,并持续对工具做安全测试——攻击面在不断扩大。

状态

项目参考备注
IDEsaster 披露Ari Marzouk(MaccariTA),2025-12-0630+ 漏洞,24 个 CVE,「Secure for AI」原则
远程 JSON 模式(外泄)CVE-2025-49150(Cursor)、CVE-2025-53097(Roo Code)、CVE-2025-58335(Junie)自动拉取攻击者控制的 $schema URL
覆写 IDE 设置(RCE)CVE-2025-53773(Copilot)、CVE-2025-54130(Cursor)、CVE-2025-53536(Roo Code)、CVE-2025-55012(Zed)基础编辑器设置将验证器指向被植入的可执行文件
多根工作区(RCE)CVE-2025-64660(Copilot)、CVE-2025-61590(Cursor)、CVE-2025-58372(Roo Code)工作区文件添加任意根目录,消除前提条件
厂商确认AWS-2025-019;Claude Code 文档已更新部分产品无 CVE 已修复;少数超过 90 天仍未修复
在野利用据研究员,截至披露时未见报告;为保护用户已保留载荷

其教训超出编辑器本身:任何嫁接在早于它的软件之上的自主智能体,都会继承该软件的每一项功能作为潜在原语。提示注入是不可避免的投递途径——防御之道在于假定它会成功,并约束智能体随后能做什么。

Sources