---
title: "MCP 工具投毒：工具描述中的隐藏指令 · DotsAgent"
description: "Invariant Labs 展示了 MCP server 如何在模型读取的工具描述中隐藏指令，并介绍了工具影子攻击和 rug pull 变体。"
url: https://dotsagent.io/zh/security/incidents/2025-04-mcp-tool-poisoning
---

2025年4月1日

# 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 服务器](https://dotsagent.io/zh/security#supplyChainVetting)[重大操作须经人工批准](https://dotsagent.io/zh/security#humanApproval)

- [GitHub MCP 恶意 agent 流程通过公开 issue 泄露私有仓库数据](https://dotsagent.io/zh/security/incidents/2025-05-github-mcp-toxic-agent-flow)

[查看安全检查清单 →](https://dotsagent.io/zh/security/checklist)

## 来源

1. [invariantlabs.ai](https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks)/blog/mcp-security-notification-tool-poisoning-attacks

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

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