dotsagent.io
语言:简体中文

MCP 工具投毒:工具描述中的隐藏指令

Invariant Labs 展示了 MCP server 如何在模型读取的工具描述中隐藏指令,并介绍了工具影子攻击和 rug pull 变体。

事件经过

2025 年 4 月 1 日,Invariant Labs 发布了一则关于 Model Context Protocol 中工具投毒的安全通告。恶意 MCP server 会将指令藏在工具描述中。用户通常看不到这些文本,但模型会将其作为上下文的一部分读取,并可能据此采取行动。

该通告还介绍了两种相关攻击。在工具影子攻击中,一个 server 的描述会改变 agent 使用另一个受信任 server 的工具的方式。在 rug pull 攻击中,server 会在用户批准后更改工具描述。

攻击奏效的原因

客户端会将所有已连接 server 的工具描述加载到同一个上下文中,模型无法分辨厂商文档和攻击者指令。如果客户端只批准一次 server,之后不再检查,后续变更就会悄然通过。

应对措施

  • 连接 MCP server 前,先阅读完整的工具描述,不要只看工具名称。
  • 固定 server 版本并对工具描述进行哈希校验;哈希值变化时重新提示或发出警报。
  • 只连接任务所需的 server,避免一个 server 的文本影响另一个 server 的工具。
  • 对发送数据或修改文件的工具调用,必须要求用户批准。

审查技能、插件和 MCP 服务器重大操作须经人工批准

查看安全检查清单 →

来源

  1. invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks

为 AI agent 开发者提供的独立参考资料。与此处提及的任何厂商均无关联。

© 2026 DotsAgent · 事实核查日期:2026年10月1日