ObliInjection:针对多源数据 LLM 智能体的顺序无关提示注入攻击




xiaohack博客专注前沿科技动态与实用技术干货分享,涵盖 AI 代理、大模型应用、编程工具、文档解析、SEO 实战、自动化部署等内容,提供开源项目教程、科技资讯日报、工具使用指南,助力开发者、AI 爱好者获取前沿技术与实战经验。




Copilot提示词注入缺陷是漏洞还是AI的局限?
这一进展凸显了供应商与研究人员在定义生成式AI系统风险时日益明显的分歧。
AI漏洞还是已知局限?
"上个月,我在Microsoft Copilot中发现了4个漏洞。随后他们关闭了我的案例,称这些不符合可修复标准。"网络安全工程师John Russell在LinkedIn上发帖称。
具体而言,Russell披露但被微软驳回、认为不属于安全漏洞的问题包括:
其中,文件上传限制绕过尤其值得关注。Copilot通常不允许上传"高风险"文件格式。但用户只需将其编码为base64文本字符串即可绕过此限制。
"一旦以纯文本文件形式提交,内容会通过初始文件类型检查,在会话中被解码,随后重建的文件会被分析——这有效地绕过了上传策略控制。"Russell解释道。
该工程师的帖子迅速引发了争论,安全社区给出了不同看法。
资深网络安全专业人士Raj Marathe认同这些发现的有效性,并引用了自己过去观察到的类似问题:
"去年我目睹了一个演示,其中提示词注入被隐藏在Word文档中并上传到Copilot。当Copilot读取文档时,它变得失控并锁定了用户。它并不可见或明文显示,而是巧妙地隐藏在文档中。我尚未听说那个人是否收到了微软关于此发现的回复。"
然而,其他人质疑系统提示词泄露是否应被视为漏洞。
"这些问题在于它们相对已知。至少其路径是已知的。"安全研究员Cameron Criswell辩称。
"要在不牺牲实用性的前提下消除这些通常很困难。所有这些都表明LLM仍然无法[区分]数据和指令。"
Criswell认为,这种行为反映了大语言模型更广泛的局限性,它们难以可靠地区分用户提供的数据和指令。实际上,这意味着如果潜在指令能被注入,就可能导致数据投毒或非预期信息泄露等问题。
但Russell反驳道,像Anthropic Claude这样的竞争性AI助手"拒绝了我发现的在Copilot中有效的所有方法",并将此问题归因于缺乏足够的输入验证。
系统提示词是指引导AI引擎行为的隐藏指令,如果设计不当,可能包含有助于攻击者的内部规则或逻辑。
OWASP GenAI项目持更细致的观点,仅当提示词包含敏感数据或被依赖作为安全控制措施时,才将系统提示词泄露归类为潜在风险,而非将提示词泄露本身视为独立漏洞:
"简而言之:系统提示词本身的泄露并不构成真正的风险——安全风险在于底层要素,无论是敏感信息泄露、系统防护措施绕过、权限分离不当等。
即使确切的措辞未被泄露,攻击者在与系统交互的过程中,几乎肯定能够通过使用应用程序、向模型发送语句并观察结果,推断出系统提示词语言中存在的许多防护措施和格式限制。"
微软对AI漏洞的立场
微软根据其公开的漏洞评级标准评估所有与AI缺陷相关的报告。
一位微软发言人告诉BleepingComputer,报告已审核但不符合公司的漏洞可修复标准:
"我们感谢安全社区调查和报告潜在问题的工作……这位发现者报告了几个案例,根据我们已发布的标准,这些案例被评估为超出范围。
案例超出范围的原因有多种,包括未跨越安全边界、影响仅限于请求用户的执行环境,或提供了其他不被视为漏洞的低权限信息。"
归根结底,争议在于定义和视角。
Russell认为提示词注入和沙箱行为暴露了显著风险,而微软则将其视为预期局限,除非它们跨越了明确的安全边界,例如实现未授权访问或数据外泄。
随着这些工具在企业环境中更广泛地部署,AI风险定义上的这种分歧很可能将持续成为反复出现的摩擦点。