NSA 的 MCP 指南:加固模型上下文协议
NSA 于 2026 年 5 月发布的信息单梳理了模型上下文协议(MCP)的系统性安全风险,并为生产团队提供了一份具体的加固清单。
What is this?
2026 年 5 月 20 日,美国国家安全局(NSA)的人工智能安全中心(AISC)发布了一份网络安全信息单,题为《模型上下文协议(MCP):面向 AI 驱动自动化的安全设计考量》。这是首份由国家信号情报机构专门针对该协议发布的指南——如今大多数智能体式 AI 部署正是依靠该协议相互连接,而这份文件恰逢上半年 MCP 相关事件不断累积之际问世。该文件不是漏洞披露,而是一份设计层面的评估:它列举了使 MCP 部署变得脆弱的结构性弱点,随后为在生产环境或高风险环境中运行该协议的团队给出了具体建议。
MCP 是一种应用层协议,为 AI 系统提供一套约定的消息传递模式和传输格式,用于管理各服务之间的交互。NSA 指出,实际采用速度已超过其安全模型的成熟度,蔓延到企业、金融、法律和软件开发等领域的产品中,包括查询个人身份信息的工作流。
How it works
核心观察在于:MCP 颠倒了人们熟悉的客户端—服务器关系。客户端不再只是请求数据,而是可以要求 MCP 服务器去查询系统,并在某些配置下代表所连接的客户端执行操作。这种颠倒开辟了传统端点防御从未被设计去追踪的攻击路径。
该指南将各类关切归纳为若干反复出现的主题。序列化是开放式的,因此不可信的结构化内容可以夹带意料之外的指令。信任边界是隐式的而非强制的,这意味着智能体倾向于把工具返回的一切都当作权威。工具调用是动态的,因此模型可用的能力集合可能在运行时发生变化,有时还来自临时发现的来源。在此之上,是整个生态系统中被一致报告的运营缺口:薄弱的访问控制、令牌生命周期与审批流程中的捷径、各服务器之间不一致的实现行为,以及过于稀疏、无法记录调用的审计日志。
NSA 的核心观点是:这些并非可以逐一修补的接口缺陷。该机构将智能体环境描述为一个连续体——任一阶段中一个失准的假设都可能向下游传播、叠加,最终形成可被利用的条件。在发现阶段被信任的工具描述、在签发阶段被授予过宽范围的令牌,以及在执行阶段未被记录的操作,单独看都微不足道,合在一起却构成一条入侵路径。
Why it matters
MCP 已成为代码助手、企业副驾驶和自主智能体的默认底层管道,而其中大部分部署的推进速度都快于其安全模型的成熟。这份指南之所以重要,是因为它把 MCP 风险重新定义为系统性而非偶发性:认证、授权和输入校验仍然必要,但 NSA 明确指出,既有的网络防御策略本身并不足以应对动态工具调用、隐式信任和上下文共享。对安全负责人而言,由此可知「我们对 API 做了认证」对于一个 MCP 部署已不再是充分的答复。对工程师而言,这是一个提醒:智能体愿意依据工具输出而行动,本身就是一个攻击面。
Defenses
这份信息单可以很实用地当作一份清单来读。以下优先事项摘自其建议,适用于任何在生产环境中运行 MCP 的团队:
- 选择有维护的实现。 优先选用受支持的 MCP 项目,并对你运行的服务器进行代码审计,而不是信任任意的社区连接器。
- 显式定义信任边界。 决定哪些服务器和工具可信,并停止默认把工具输出当作权威指令。
- 校验参数并对执行进行沙箱隔离。 约束工具输入,并在隔离环境中执行工具,使被攻陷的调用无法触及宿主。
- 对消息进行签名和验证。 对消息以及任何动态发现的服务器要求可溯源性,使智能体不会悄然采用它无法归因的工具。
- 过滤链式输出。 把一个工具的输出视为下一个工具的不可信输入,打断指南所警告的那种传播。
- 实施最小权限令牌。 按操作、按工具限定凭据范围,并管理其生命周期,而不是签发宽泛且长期有效的授权。
- 记录每一次调用。 记录所有工具和模型调用,使操作事后可审计。
- 扫描非法服务器。 在网络中排查那些未经治理而出现的开放或未授权 MCP 端点。
值得记住的是更宏观的框定:加固的是整个连续体,而不仅仅是端点;应汲取以往插件生态与分布式系统的教训,而不是重新学一遍。
Status
| 项目 | 详情 |
|---|---|
| 发布方 | NSA 人工智能安全中心(AISC) |
| 文件 | CSI —《模型上下文协议(MCP):面向 AI 驱动自动化的安全设计考量》 |
| 发布日期 | 2026 年 5 月 20 日 |
| 类型 | 设计指南 / 加固建议(非漏洞披露) |
| 范围 | 各厂商基于 MCP 的智能体式 AI 部署 |
本文概述的是已公开发布的政府指南。在将其应用于你的环境之前,请查阅完整信息单以了解全部考量与建议。