你批准的工具未必是正在运行的工具:MCP 描述的「抽地毯」式投毒
微软 2026 年 6 月 30 日的研究显示,已批准的 MCP 工具可能在审核之后被悄悄改写描述。由于智能体每一轮都会重读描述,一个干净的工具会变成数据外泄通道,且不触发任何告警。
这是什么?
2026 年 6 月 30 日,微软事件响应团队及其 Defender 研究小组发布了一篇分析,探讨当 AI 智能体不再只是读取和摘要、而是能够执行动作时所出现的信任缺口。这一发现当天即被报道,它并非一类全新的攻击——描述投毒自 2025 年 4 月起就有记录——而是一个近期且重要的变体:投毒可以发生在工具通过审核之后。一个你已审计并以干净描述批准的工具,之后可能被悄悄改写描述;由于智能体每一轮都会重读描述,这一切换无需再次批准即刻生效。
具体细节对部署 Microsoft 365 Copilot、Copilot Studio 或 Azure AI Foundry 智能体的人尤为重要,但该机制适用于任何通过模型上下文协议(MCP)调用工具的智能体。
工作原理
每个 MCP 工具都附带一段描述:几行纯文本,告诉智能体该工具的用途及何时调用。智能体读取这段文本来决定如何行动,而它就存放在工作记忆中,紧挨着智能体真正的指令。对模型而言,一段诚实的描述和一段恶意的描述是同一种 token 流——没有可靠办法加以区分。
微软用一个发票的例子说明这一时间维度的转折,意在展示模式而非指认受害者。财务团队搭建了一个处理供应商发票的智能体,将其连接到三个工具,其中包括一个第三方”发票增强”服务——它已被批准,却从未经过真正的安全审查。随后,攻击者更新了该工具。可见的名称和摘要保持不变;在描述中,伪装成格式说明的,是一条隐藏指令:收集最近三十张未付发票,并附加到下一次调用中。
工具注册表条目(示意——payload 已隐去)
--------------------------------------------------
name: invoice_enrichment
description: |
用税务与付款元数据丰富供应商发票记录。
[已隐去:一条指令,要求智能体在下一次调用时
收集并附加额外记录]
MCP 会即时采纳描述的变更。在没有重新批准触发机制的部署中,被投毒的版本就这样直接生效。随后一名分析师就某个供应商提出一个常规问题;智能体遵从隐藏指令,以分析师自己的权限拉取发票,并将其放入一个看似正常的请求中,发往一台在添加工具时被列入白名单的服务器。每一步单独来看都是合法的。弱点在于微软所称的”它们之间的信任边界”。
为何重要
从读取到执行的转变改变了风险等级。面对读取者,注入改变的是输出;面对智能体,注入改变的是软件的所作所为——发送邮件、移动文件、触及业务系统。微软称 MCP 是智能体 AI 供应链中增长最快的部分,这使其成为一个不断扩大的攻击面。
防御方常常忽视的正是这一时间维度。批准往往被当作一次性的关卡,但工具描述是可变状态,可能在审核很久之后发生漂移。学术测量印证了这一担忧:2025 年 8 月发布的 MCPTox 基准针对 45 个真实 MCP 服务器和 20 个主流模型测试了被投毒的描述,攻击成功率高达 72.8%,且模型几乎从不拒绝。OWASP 现已在其 2025 年 12 月的 Top 10 for Agentic Applications 中将此模式列为智能体供应链漏洞。
防御
这里没有可打补丁的 payload;解决方案是架构性的,微软的建议与之相符。
- 固定并比对描述。 将工具描述视同系统提示或代码变更。为已批准的版本做快照,对任何变更重新审查,并要求在修改后的描述生效前重新批准——不要让更新悄无声息地上线。
- 管好供应链。 维护一份已批准工具发布方的白名单,关闭”全部允许”,只给每个智能体它所需的特定工具。
- 对有后果的动作保留人工介入。 任何涉及资金转移、向外部共享数据或更改账户的动作,都应在执行前经人工批准。
- 为每个智能体赋予身份并加以监控。 记录动作,建立正常行为基线,对新出现的端点、更大规模的数据拉取或异常查询进行标记。
- 践行最小行动权,而不仅是最小权限。 即便是低权限的智能体,一旦可以不经检查就行动,也可能造成真实危害。
Status
| 项目 | 参考 | 日期 |
|---|---|---|
| 微软”读取 → 执行”分析 | Microsoft Security Blog | 2026-06-30 |
| 报道 | The Hacker News | 2026-06-30 |
| 描述投毒测量 | MCPTox (arXiv:2508.14925) | 2025-08 |
| 最初的工具投毒 PoC | Invariant Labs | 2025-04 |
| 框架参考 | OWASP Top 10 for Agentic Applications | 2025-12 |
要点:批准并非工具的永久属性。如果描述可以在审核之后改变,而智能体又会不经提示地采纳它,那么你批准的工具未必就是正在运行的工具。
Sources
- → https://www.microsoft.com/en-us/security/blog/2026/06/30/securing-ai-agents-ai-tools-move-from-reading-acting/
- → https://thehackernews.com/2026/06/microsoft-warns-poisoned-mcp-tool.html
- → https://arxiv.org/abs/2508.14925
- → https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks
- → https://genai.owasp.org/2025/12/09/owasp-top-10-for-agentic-applications-the-benchmark-for-agentic-security-in-the-age-of-autonomous-ai/