“这不是 bug,这是规范。”当 OX Security 在 2026 年 4 月 15 日披露 CVE-2026-30615 时,得到的回应让安全社区炸开了锅。一个针对 AI 编程助手的零点击远程代码执行漏洞,只要打开项目、渲染 HTML 内容,就能静默重写 mcp.json 配置文件,无需任何点击或确认。与此同时,同一类别的 12 个以上 CVE 浮出水面,根源直指 MCP 官方软件开发包。Anthropic、Google 和微软却以“需要用户显式许可”为由,拒绝为自己的工具签发 CVE——而实际上的“许可”,往往只是你安装了这家公司的集成开发环境。
时间线拉回更早的阶段。我曾在之前的文章里提出,AI 编码代理真正的攻击面不在模型“叛变”,而在配置文件。当时最糟糕的案例 TrustFall 还需要人为介入:克隆恶意仓库、打开、在信任对话框上按个回车。到了第二步 AWS Kiro,间接提示注入静默写入 trustedCommands: ["*"],配置在审查之后被篡改,错过察觉的瞬间。而这一次,攻击链彻底抹去了最后那个回车。OX 测试发现,在 Windsurf IDE 1.9544.26 上,攻击者只需准备 IDE 会渲染的 HTML 内容——恶意网页、被投毒的仓库 README、篡改过的工具描述——注入指令就会悄悄覆盖本地的 mcp.json,并注册由攻击者控制的 STDIO 服务器。接下来,MCP SDK 重新读取配置并启动注册的二进制文件,实现任意命令执行,CVSS 评分达到 8 分(高危)。
![]()
无一确认对话框,无一确认步骤。在被测的 IDE 中,Windsurf 是唯一真正的零点击案例。Cursor、Claude Code 和 Gemini 命令行工具都至少需要用户的一次操作。Codeium(Windsurf 背后的公司)随后发布了补丁,这一点没有人有异议。争议的焦点在于,其他厂商和 SDK 的维护者该如何应对。
OX 把同一攻击模式下的 12 个以上 CVE 归为一类——通过 MCP STDIO 实现远程代码执行。漏洞列表包括 LangFlow、GPT Researcher、LiteLLM、Agent Zero、DocsGPT、Flowise、Upsonic、Bisheng、Jaaz 等。它们有一个共同的根因:官方 MCP SDK 会将用户可控的配置值直接传入 StdioServerParameters,不经任何清理,最终流入生成子进程的调用。OX 在漏洞报告中罕见地标注了“不会被修补”的分类,因为 Anthropic 的立场认定这是符合协议规范的行为,而非需要在协议层面修正的缺陷。
值得一提的是,已知的运营缓解措施是将 STDIO 命令值白名单化,只允许指向常见的启动器,例如 npx、uvx、python、python3、node、docker、deno。这样做可以堵住“指向任意二进制文件”的通道。但这项措施需要每个下游实现自行添加,并非 SDK 的默认设置。也就是说,同样的问题仍可能在其他未被测试的工具中反复出现。把三个事件并排看,攻击面缩小的趋势清晰得令人不安:从 TrustFall 的显式对话框,到 AWS Kiro 的静默篡改已审查配置,再到 Windsurf 的零点击,用户几乎再也察觉不到风险。而厂商轻描淡写的态度,让“不是 bug,是规范”成为了一句足以写入安全史册的黑色幽默。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.