
安全研究人员在模型上下文协议(Model Context Protocol,MCP)的采样功能中发现严重漏洞。研究表明,恶意服务器可利用集成LLM的应用程序实施资源窃取、会话劫持和未经授权的系统修改。
攻击向量分析
| 攻击类型 | 攻击机制 | 影响范围 |
|---|---|---|
| 资源窃取 | 采样请求中隐藏指令使LLM生成额外不可见内容 | 在用户不知情的情况下消耗AI计算配额和API额度 |
| 会话劫持 | 改变整个会话中的助手行为 | 降低系统实用性或引发有害行为 |
| 隐蔽工具调用 | 嵌入指令使LLM未经用户明确同意调用工具 | 可能导致未授权文件操作、持久化驻留及数据泄露 |
协议安全风险
Anthropic公司于2024年11月推出的模型上下文协议(MCP)标准化了大型语言模型与外部工具和数据源的集成方式。虽然该协议旨在增强AI能力,但其采样功能(允许MCP服务器请求LLM补全)在缺乏适当防护措施时会带来重大安全风险。
三大攻击方式实证
Palo Alto研究人员通过广泛使用的编程助手演示了三种概念验证攻击:
资源窃取
攻击者在采样请求中注入隐藏指令,导致LLM在用户无感知的情况下生成未授权内容。例如,恶意代码摘要工具在正常代码分析之外附加生成虚构故事的指令,消耗大量计算资源和API额度。
会话劫持
被攻陷的MCP服务器可注入持久性指令影响整个会话。实验显示,隐藏提示强制AI助手在所有后续响应中"模仿海盗说话",证明恶意服务器能从根本上改变系统行为。
隐蔽工具调用
恶意服务器通过提示注入触发未授权工具执行。研究人员演示了隐藏指令如何触发文件写入操作,实现数据外泄。这些持久化机制和系统修改均未经用户明确同意。
漏洞根源与防御建议
该漏洞源于MCP采样功能的隐式信任模型和内置安全控制的缺失。服务器可修改提示和响应,在看似正常的工具操作中植入隐藏指令。
有效防御需要多层防护:
- 使用严格模板进行请求净化,分离用户内容与服务器修改
- 响应过滤移除类指令短语
- 实施基于操作类型的令牌限制
- 要求工具执行前获得明确批准
Palo Alto Networks建议企业评估AI安全解决方案,包括运行时保护平台和全面安全评估。随着LLM集成在企业应用中日益普及,这些发现凸显了保障AI基础设施安全的重要性。
参考来源:
New Prompt Injection Attack via Malicious MCP Servers Let Attackers Drain Resources
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)



