新型提示词注入攻击借助恶意 MCP 服务器实现攻击者资源窃取
HackerNews 编译,转载请注明出处: 恶意 MCP 服务器引发提示词注入攻击 安全研究人员发现了模型上下文协议(MCP)采样功能中存在的严重漏洞,同时揭示了恶意服务器如何利用集成大语言模型(LLM)的应用,实施资源窃取、对话劫持以及未授权系统修改等攻击行为。 攻击向量 攻击机制 攻击影响 资源窃取 在采样请求中植入隐藏指令,诱导大语言模型生成额外的不可见内容 在用户无感知的情况下运行未授权工作负载,消耗人工智能计算配额与应用程序编程接口(API)额度 对话劫持 改变助手在整个会话中的行为模式,可能降低其使用价值或触发有害操作 全程篡改助手交互表现,既会削弱工具实用性,也可能诱发恶意行为 秘密工具调用 嵌入指令使大语言模型在用户未明确知晓或同意的情况下调用各类工具 可实现未授权文件操作、恶意程序驻留,甚至可能造成数据窃取或系统篡改 模型上下文协议由 Anthropic 公司于 2024 年 11 月推出,其作用是规范大语言模型与外部工具及数据源的集成方式。尽管该协议的初衷是提升人工智能的能力,但协议中的采样功能(允许 MCP 服务器请求大语言模型生成完成内容)在缺乏完善安全防护措施的情况下,会带来极大的安全风险。 三大核心攻击向量 帕洛阿尔托网络的研究人员在一款广泛使用的代码辅助工具上,完成了三类概念验证攻击的演示,具体如下: 资源窃取用户向代码辅助工具提出需求,希望其帮忙总结当前代码文件。 攻击者在采样请求中注入隐藏指令,使大语言模型在向用户呈现正常响应的同时,生成未授权内容。 例如某恶意代码总结工具,会在合法代码分析内容之外,额外附加生成虚构故事的指令,在用户毫无察觉的情况下消耗大量计算资源与 API 额度。 对话劫持 被攻陷的 MCP 服务器可植入持久性指令,影响整个对话会话。用户虽能正常收到代码文件总结内容,但隐藏提示会强制人工智能助手在后续所有回复中 “模仿海盗口吻说话”。这一演示直观体现了恶意服务器可从根本上改变系统行为,进而可能破坏工具核心功能。 秘密工具调用 恶意服务器利用提示词注入触发未授权的工具执行操作。研究人员证实,隐藏指令可触发文件写入操作,进而实现数据窃取、恶意程序持久化驻留,以及未经用户明确许可的系统修改。其攻击链路为:大语言模型遵照 MCP 隐藏提示的要求,在响应内容中嵌入恶意指令;随后代码辅助工具会执行这些暗藏的恶意指令,最终响应恶意工具调用请求。 漏洞根源与防御方案 该漏洞的根源在于 MCP 采样功能的隐式信任模型,以及内置安全管控机制的缺失 —— 服务器可篡改提示词与响应内容,在伪装成正常工具的同时,悄悄植入隐藏指令。 有效的防御需要构建多层防护体系: 采用严格模板对请求进行净化,实现用户内容与服务器修改内容的分离; 对响应内容进行过滤,剔除类指令表述; 增设访问控制机制,限制服务器的操作权限; 按操作类型设置令牌额度限制; 要求工具执行操作必须获得用户明确批准。 帕洛阿尔托网络建议,各组织应评估人工智能安全解决方案,包括运行时防护平台与全面的安全评估服务。这些研究结论也凸显出,随着大语言模型集成在企业级应用中日益普及,保障人工智能基础设施安全已成为至关重要的工作。 消息来源:cybersecuritynews; 本文由 HackerNews.cc 翻译整理,封面来源于网络; 转载请注明“转自 HackerNews.cc”并附上原文