系统:运行中
← 返回所有攻击
GOVERNANCE MEDIUM NEW

NSA AISC 发布生产 AI 中 MCP 安全设计指南

2026 年 5 月 20 日,美国 NSA 人工智能安全中心发布了一份关于 Model Context Protocol 的 15 页《网络安全信息表》:八类弱点、五起真实事件、九条防御性建议。

2026-05-28 // 9 分钟 affects: mcp, autogen-studio, harvey-ai, agentverse, copilot

这是什么?

2026 年 5 月 20 日,美国国家安全局(NSA)旗下的人工智能安全中心(AISC)发布了一份长达 15 页的《网络安全信息表》(CSI),题为 Model Context Protocol (MCP): Security Design Considerations for AI-Driven Automation(编号 U/OO/6030316-26 / PP-26-1834)。NSA 同步发布的新闻稿将该文件定位为:在生产环境或高风险环境中部署 MCP 之前,组织应当满足的最低安全基线。

这份 CSI 不是漏洞通告,也没有披露任何新攻击。它是美国政府首份专门针对 MCP 的正式立场文件——MCP 是 Anthropic 于 2024 年 11 月推出并被广泛采用的应用层协议,如今已嵌入 AutoGen Studio、Harvey AI、Agentverse 和 Microsoft Copilot 等产品。NSA 的表述直截了当:“MCP 的快速扩散已经超出其安全模型的发展速度”,采用方应该像业界曾经看待早期 Web 协议那样看待当下的 MCP 实现:强大、有用,但在没有纵深防御的前提下部署是危险的。

它如何运作

CSI 分为三个部分:一份设计与实现层面的弱点分类清单;一组用以证明上述每一类问题并非空谈的真实事件;以及一组面向运营方(而非协议作者)的建议。

NSA 列出的八类弱点。

#  类别                                  问题所在
-- ------------------------------------ -------------------------------------------------
1  访问控制                              会话与身份的绑定是可选的;许多服务器
                                        完全缺失认证;没有原生 RBAC,
                                        也没有 CRUD 级别的细粒度控制
2  上下文/数据序列化不安全               序列化负载可能携带可执行代码或嵌入
                                        模型调用;宽松的反序列化让人想起
                                        OWASP A08:2017
3  审批流程薄弱                          已被授信的 MCP 服务器在能力或数据访问
                                        变化时,常常绕过用户的二次同意
4  令牌/会话安全                         采用 OAuth 风格的 Bearer Token,但
                                        生命周期管理(刷新、撤销、防重放)未被
                                        强制;幂等性留给 JSON-RPC 处理
5  错误配置与糟糕的实现                  一台"天气服务器"被改用于敏感数据;
                                        共享接口的任务与数据之间没有隔离
6  行为不一致                            不同实现对同一上下文给出不同解释;
                                        非确定性被攻击者用作原语
7  审计日志缺失或贫瘠                    规范仅提供基础指引;许多服务器
                                        完全不记录日志,或只记录操作元数据
8  DoS 与"疲劳型"技术                   提示风暴、畸形输入、递归任务;通过
                                        合法但过于复杂的请求触发"嗜睡"攻击
                                        以耗尽服务器资源

NSA 引用的五起真实事件——全部由原始研究者公开披露,均出现在 CSI 参考文献中:

  • 开源 MCP 代理中的工具参数注入,未经清理的参数通过畸形消息进入执行环境 — HiddenLayer, 2025
  • 工具调用路径混淆,编排器从公共注册表或本地模块解析工具名,攻击者借此通过命名冲突让攻击代码被加载 — Zhao 等, arXiv 2509.06572
  • GitHub MCP 不受限访问,空白的仓库授权使被攻陷的工具能将私有仓库内容外泄到公共仓库 — Invariant Labs, 2025
  • WhatsApp MCP 数据外泄,一台与可信服务器并列安装的恶意服务器,先以”良性”工具描述获得授信,再切换为恶意描述以转储消息历史 — Invariant Labs, 2025
  • CVE-2025-49596 出现在 MCP-Inspector 中,因未经校验的输入导致 RCE,已在 0.14.1 版本修复 — Oligo, 2025

CSI 和本文均不再现任何攻击代码。该文件值得关注的新颖切入点在于,NSA 指出MCP 颠倒了我们熟悉的客户端/服务器模式:不是客户端向服务器拉取数据,而往往是服务器为已连接的客户端发起查询并执行动作。这种反转将信任边界推向了一个大多数现有检测与 DLP 栈未曾被设计去覆盖的方向。

为什么重要

即便已经追踪了今年所有的 MCP 事件,这份 CSI 仍有三点变化值得读者花时间。

第一,来源的权威性。近期关于 MCP 的报道多来自安全厂商、学术团体,以及我们自己关于 MCP 后端漏洞模式stdio-transport-by-design RCE 的分析。NSA AISC 加入这一对话,把 MCP 安全从”有意思的研究方向”提升为”联邦网络安全指南的对象”。对受 NIST AI RMF 约束的组织而言,这份 CSI 从此成为审计员可以索要的文档之一。

第二,将 MCP 风险定位为系统性而非端点级。CSI 表态明确:“这些问题不能在接口或端点层面打补丁解决。“按照 NSA 的看法,保护 MCP 需要把代理式环境视为一个连续体,协议、代理、工具、数据分级以及审计管线的所有假设必须一致。这种措辞之所以重要,是因为它推翻了”修补服务器”或”加一道护栏”就当作完成任务的本能反应。

第三,与盟友更广泛努力的对齐。CSI 引用了澳大利亚信号局的《Careful Adoption of Agentic AI Services》(我们在关于 CISA 五眼指南的文章中介绍过),以及 OASIS Coalition for Secure AI 在 MCP scope 控制方面的工作。五眼联盟在代理式 AI 上的立场正在收敛,而 MCP 正成为这一收敛的明确议题之一。

防御措施

NSA 的九条建议是可操作的;下面是面向”防御者本周能做什么”的转译。任何一条都不需要 NSA 级别的访问权限——所有控制都可以用现有工具落地。

  1. 盘点并选择仍在维护的服务器。 许多曾经流行的 MCP 服务器已被归档(参见 servers-archived 列表)。请建立一份所有在产 MCP 服务器的清单,将其映射到上游仓库,并把不再维护的标记为替换或下线。对于内部项目,可以在 MCP Registry preview 中登记,避免发现机制盲飞。

  2. 按信任边界进行设计。 代理、插件、模型和最终用户处于不同信任区。将工具与数据分级对齐:公共工具只处理公共数据;敏感工具必须显式管控并分隔。当涉及私有数据时优先使用本地 MCP 服务器,并在任何可访问公网的服务器前面放置过滤性出口代理(Squid、tinyproxy)或 DLP。

  3. 按上下文校验参数,而不仅是按形态。 模式校验是必要的但不够。NSA 给出的例子——一个数学解释器代理,其 context 参数会触发未预期的文件 I/O——准确刻画了问题:请把输入对照执行环境而非仅对照类型系统进行校验。当来源不明时,禁止参数转发。

  4. 对每一次工具执行都进行沙箱化。 把每一次通过 MCP 调用的工具都视为潜在高风险动作。使用操作系统级隔离(Windows 上的 AppContainer,Linux 上的 seccomp / AppArmor / SELinux)。对代理进程本身坚持最小权限:若一台服务器不需要访问文件系统或内部网络,就在运行时显式拒绝这些路径。

  5. 对 MCP 消息进行签名,不要把信任交给传输层。 TLS 保护通道,但协议本身并不强制完整性。请在 JSON 负载内加入加密签名,并附带过期时间戳与防重放元数据。OWASP ASVS V7(会话管理)在此处可直接套用。

  6. 把每一条工具输出当作下一阶段的不可信输入。 在多组件管线中,每两个工具之间都应运行输出过滤:长度检查、禁用关键字扫描、速率限制,以及对间接提示注入或工具链转向尝试的检测。被污染的工具描述符与隐藏在输出中的指令,正是 tool poisoningtoxic flows 在链式代理之间传播的通道。

  7. 记录一切并接入 SIEM。 对每一次工具与模型调用,记录确切参数、涉及身份,并在可行时记录输出的加密哈希。否则,事件响应就变成考古学。CSI 明确指出,审计缺口是最常见的实现失败之一。

  8. 把 MCP CVE 当成独立的工作流来跟踪。 MCP 特有的新漏洞正以月为单位出现在 CVE 流中。订阅相关源,维护每一个已部署 MCP 代理与工具的版本化清单,并以与身份验证或密码库同等的 SLA 处理 MCP 补丁。

  9. 在自己的网络中扫描未知的 MCP 服务器。 使用 MCP Scanner、Ramparts、CyberMCP、Proximity 等扫描器检测未经认证的服务器、运行未批准版本的部署,以及具有开放入/出站流量路径的实例。MCP 服务器可能动态更换端口,因此差分扫描是合适的节奏。

第十条隐含在 CSI 对持续审批的强调中,值得明确写出:当能力发生变化时,重新审批。一台已被信任的服务器在安装后悄悄添加新的工具描述或新的 scope,正是 WhatsApp 事件的模式。请像对待代码差异那样对待能力差异。

状态

条目来源日期备注
NSA AISC 新闻稿NSA2026-05-20宣布 CSI 发布
CSI 文档(PDF)NSA2026-05-20U/OO/6030316-26,15 页
Executive Gov 报道Executive Gov2026-05-21总结序列化、信任边界、滥用风险
Intelligence Community News 报道ICN2026-05-22转引新闻稿
配套指南Australian Signals Directorate / CISA2026Careful Adoption of Agentic AI Services(CSI 引用)
OASIS COSAI WS4CoSAI2026CSI 引用的 scope 控制与滥用研究
引用的 MCP 规范版本modelcontextprotocol.io2025-11-25auth、lifecycle、tools 子章节

这份 CSI 的恰当定位不是”NSA 发现了 MCP 的一个漏洞”——文件里没有零日。它是**“美国政府的 AI 安全中心现在把 MCP 视为需要治理的关键基础设施,并发布了一份防御者、审计员与采购团队都可以援引的基线”**。如果 MCP 已在你的栈中,这份文档从此成为承重的参考;如果 MCP 在你的路线图上,这是承诺投入之前可获得的最便宜、最快的一读。

Sources