Anthropic 确认将不会修复 CVE-2026-30623,这是一个存在于 Model Context Protocol (MCP) SDK 中的严重命令注入漏洞,导致超过 200,000 个已部署实例面临风险。依赖 MCP 进行工具集成的开发者应将此漏洞视为即时风险。

为什么该漏洞至关重要

MCP 允许由大语言模型 (LLM) 驱动的应用通过标准化协议调用外部工具。所有四个官方 SDK 都包含一个 STDIO 传输方式,它会接收来自模型的任意文本并将其直接传递给宿主 shell。CVE-2026-30623 漏洞允许恶意模型(或被篡改的工具描述)注入任何宿主进程可以执行的命令。Anthropic 表示这种行为是刻意设计的,并拒绝发布修复程序,这意味着该漏洞将保留在目前约 1.5 亿次 SDK 下载的供应链中。

攻击者可以做什么

  • 命令注入 (Command injection) – 任何能够编辑服务器配置文件的人都可以在宿主机器上运行 shell 命令,从而可能获得完整的系统访问权限。
  • 工具投毒 (Tool poisoning) – 通过在工具描述中嵌入恶意指令,攻击者可以诱骗模型将敏感数据(如云凭据)发送到外部端点。
  • 弱身份验证 (Weak authentication) – 对 1,400 个 MCP 服务器的调查发现,38.7% 的服务器完全没有身份验证,使得注入路径极易被触达。
  • 低信任评分 (Low trust scores) – 在已索引的 MCP 服务器中,仅有 12.9% 符合社区的高信任标准,这表明大多数服务器在运行时的安全防护极低。

这些攻击向量共同构成了一个可以大规模利用的供应链攻击面,尤其是在 MCP 服务器从公共 SDK 仓库自动配置的环境中。

即将到来的规范变更——以及为什么它们现在无济于事

一个新的 MCP 规范候选版本定于 7 月 28 日发布。它将授权机制推向 OAuth 2.1 和 OpenID Connect,并增加了对标准负载均衡器后方服务器的支持。虽然这些变更改进了安全模型,但它们并不能追溯修复那 200,000 个易受攻击实例所使用的 STDIO 传输方式。它们也无法阻止开发者在规范更新后发布被投毒的工具描述。

开发者今天如何降低风险敞口

  • 审计基于 STDIO 的服务器 (Audit STDIO-based servers) – 如果你无法控制启动 MCP 服务器的配置文件,请将其视为不可信,并避免使用 STDIO 传输方式。
  • 检查工具元数据 (Inspect tool metadata) – 仔细检查每个工具的描述,查看是否存在可能导致数据外泄的隐藏命令或 URL。
  • 忽略流行度指标 (Ignore popularity metrics) – 高安装量并不保证实现过程的安全;请将每次部署都视为独立的风险。
  • 验证 OAuth 2.1 的采用情况 (Validate OAuth 2.1 adoption) – 验证服务器是否真正实现了 OAuth 2.1 和 OpenID Connect,而不仅仅是声称“兼容 MCP”的状态。

后续关注点

请密切关注实现指南以及任何针对 STDIO 传输方式的后续补丁。在此之前,最安全的做法是用受控程度更高的传输层替换 STDIO,或者迁移到不依赖该漏洞代码路径的其他工具调用框架。

底线: Anthropic 的决定留下了一个庞大且易于利用的攻击面。无法保证 MCP 服务器完整性的开发者必须放弃使用 STDIO 传输方式,并仔细审查每个工具描述,以防止其系统成为恶意命令的通道。

来源: https://dev.to/gentic_news/mcps-cve-2026-30623-anthropic-wont-fix-stdio-command-injection-mh6