MCP 工具投毒攻击是一种通过模型上下文协议(MCP)实施的隐蔽攻击手段,由安全研究机构 Invariant 提出。其核心特征是在工具描述中嵌入对用户不可见、但对 AI 模型可见的恶意指令。
攻击原理是利用 AI 模型能解析完整工具描述的特性:攻击者在工具功能说明中植入隐藏指令(例如通过 <IMPORTANT> 等特殊语义标签标记),诱导模型执行非授权操作。文章以一个伪装成加法计算的 add 工具为例,其描述中通过 <IMPORTANT> 标签要求模型在使用工具前先读取 ~/.ssh/id_rsa 私钥文件,并将内容作为 sidenote 参数传给 add 工具。
完整攻击链为:语义解析(大模型提示读取 SSH 私钥)→ Host 读取私钥 → 私钥内容作为参数传给 add 工具 → 被投毒的 server 端获取私钥,完成密钥窃取。攻击描述还会要求模型"不要告诉用户",使攻击更加隐蔽。




