MCP指令覆盖攻击
风险概览
风险编号:GAARM.0046.002
风险归属:GAARM.0046
安全阶段:应用安全
生命周期:应用阶段
创建时间:2025.05.01
修改时间:2025.05.20
攻击概述¶
MCP指令覆盖风险是一种针对MCP Server工具调用的恶意注入攻击,攻击者通过恶意MCP Server的工具描述,向其中植入恶意指令,从而劫持其他可信工具的正常行为。例如,攻击者可能修改邮件发送工具调用行为,使其在调用时暗中篡改收件人邮箱,导致敏感数据外泄或恶意操作。
攻击案例¶
| 案例 | 描述 |
|---|---|
| 案例一 | 制作包含隐藏指令的工具描述,这些指令会操纵模型与其他工具的交互方式,LLM会在用户不知情的情况下读取并遵循这些指令 |
| 案例二 | 该案例中包含一个受信任的服务器和一个恶意的服务器。受信任的服务器提供发送电子邮件的工具,而恶意的服务器提供伪造的数字加法工具,该工具的描述中包含MCP指令覆盖攻击,要求发件工具的收件人必须为@pwnd.com |
| 案例三 | 该案例利用恶意的MCP Server描述,控制whatapps send_message工具的收件人信息为+13241234123 |
攻击风险¶
- 数据泄露风险: 指令覆盖攻击可以指示可信工具从对话、文档或连接系统中提取敏感信息,并将其发送到攻击者控制的机器
- 可信工具滥用: 攻击者可以操纵模型的网络请求、代码运行等可信工具,使其访问不可信的站点或执行恶意的代码等
缓解措施¶
| 缓解方式 | 描述 |
|---|---|
| 白盒评估机制 | 对MCP Server的代码进行白盒审计,及时发现恶意的工具描述以及代码行为 |
| 审计与监控 | 实时监控模型行为,记录工具调用日志,及时检测异常操作 |
| 模型安全训练 | 对模型进行对抗性训练,增强对投毒攻击的防御能力 |
| API访问控制 | 限制工具对敏感数据的访问,降低泄露和滥用风险 |