MCP地毯式骗局
风险概览
风险编号:GAARM.0046.001
风险归属:GAARM.0046
安全阶段:应用安全
生命周期:应用阶段
创建时间:2025.05.20
修改时间:2025.05.20
攻击概述¶
MCP地毯式骗局攻击是指由于MCP架构允许服务器在客户端授权后动态修改工具描述,攻击者可利用这一机制在用户信任的基础上植入恶意指令(如篡改功能逻辑或劫持操作)。即使安装时经过安全审核,后续的隐蔽篡改仍可能在导致工具描述被植入恶意利用指令(如数据泄露或未授权操作)。
攻击案例¶
| 案例 | 描述 |
|---|---|
| 案例一 | 恶意 MCP 工具函数描述中嵌入“读取用户私钥”等隐蔽提示,用户批准工具后,模型调用时误执行这些提示,泄露本地文件 |
攻击风险¶
- 工具越权行为:模型调用工具时,因描述内容被投毒,导致执行非预期指令。
- 敏感数据泄露:攻击者诱导模型访问并输出如
~/.ssh/id_rsa等敏感文件。 - 模型功能劫持:攻击者可利用 Prompt 操纵模型行为,如传播虚假信息、生成非法内容。
- 绕过审核机制:工具注册时字段验证通过,但真实执行时模型被描述内容劫持。
缓解措施¶
| 缓解方式 | 描述 |
|---|---|
| 白盒评估机制 | 对MCP Server的代码进行白盒审计,及时发现恶意的工具描述以及代码行为 |
| 审计与监控 | 实时监控模型行为,记录工具调用日志,及时检测异常操作 |
| 模型安全训练 | 对模型进行对抗性训练,增强对投毒攻击的防御能力 |
| API访问控制 | 限制工具对敏感数据的访问,降低泄露和滥用风险 |
| 执行上下文隔离 | 限制模型访问工具描述字段,或使用结构化调用协议(如 OpenAI ChatML 工具调用语法)避免描述污染 |