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