上下文窗口操纵

上下文窗口是大型语言模型部署中最重要但最不被理解的安全边界之一。它定义了LLM在单次推理调用期间可以访问的信息——而且它是攻击者可以故意利用的有限资源。

什么是上下文窗口?

大型语言模型将文本作为token处理(大约每个token 3/4个单词)。上下文窗口定义了模型一次可以处理的最大token数量。现代模型的范围从4K到超过1M个token,但都有限制。

在上下文窗口内,LLM处理:

  • 系统提示: 开发者定义的指令,建立聊天机器人的角色和约束
  • 对话历史: 当前会话中的先前轮次
  • 检索的内容: 由RAG或搜索返回的文档、数据库结果和工具输出
  • 用户输入: 当前用户消息

所有这些对模型来说都显示为统一的流。模型没有固有机制来区别对待来自不同来源的指令——而且它对上下文特定部分的注意力并不均匀。

上下文窗口攻击技术

上下文填充 / 上下文泛洪

攻击者提交一个极大的输入——通常是冗长的文档、代码块或文本转储——以将早期内容(特别是系统提示)推离模型的当前位置。

研究表明,LLM表现出"迷失在中间"的行为:它们更关注长上下文开头和结尾的内容,而较少关注中间的信息。通过淹没上下文,攻击者可以战略性地定位他们的恶意载荷(通常在结尾),而早期的安全指令则漂移到低注意力的中间区域。

实际示例: 聊天机器人的系统提示规定它不能讨论竞争对手的产品。攻击者提交一个50,000个token的文档,然后是询问竞争对手的提示。系统提示指令已被有效稀释。

上下文溢出 / 截断利用

当上下文填满时,LLM或其基础设施必须决定删除什么。如果截断优先考虑最近性(首先删除最旧的内容),攻击者可以溢出上下文以完全消除系统提示——使模型仅使用用户提供的上下文运行。

攻击序列:

  1. 建立一个有多个轮次的对话
  2. 生成长响应以最大化上下文消耗
  3. 继续直到系统提示内容被截断
  4. 现在在没有竞争系统提示的情况下发出恶意指令

通过检索内容进行上下文投毒

在RAG系统中,检索的文档消耗大量上下文空间。能够影响检索内容的攻击者(通过RAG投毒 )可以选择性地用服务于其目标的内容填充上下文,同时排挤合法信息。

位置注入

研究已经确定,上下文中特定位置的指令具有不成比例的影响力。了解上下文组装的攻击者可以制作旨在相对于其载荷落在高注意力位置的输入。

多次注入

在支持非常长上下文(数十万个token)的模型中,攻击者可以在实际恶意请求之前嵌入数百个"演示"示例,显示模型产生违反策略的输出。模型在这些演示的条件下,更有可能遵守。

Logo

准备好发展您的业务了吗?

今天开始免费试用,几天内即可看到结果。

针对上下文窗口操纵的防御

锚定关键指令

不要仅在系统提示的开头放置所有安全关键指令。在系统提示的末尾重复关键约束,并考虑在长对话的关键点注入简短提醒。

上下文大小限制

实施适合您用例的最大输入长度限制。客户服务聊天机器人很少需要处理100,000个token的输入——限制这一点可以降低泛洪攻击风险。

上下文监控

记录和监控上下文大小和组成。异常大的输入、快速的上下文增长或意外的上下文组成是潜在的攻击指标。

长对话的摘要

对于长时间运行的对话,实施保留关键事实和约束而不是原始对话历史的上下文摘要。这可以抵抗溢出攻击,同时保持对话的连续性。

对抗性上下文测试

AI渗透测试 项目中包含上下文操纵场景。测试安全行为是否在长上下文中保持,以及系统提示在上下文泛洪后是否仍然有效。

常见问题

LLM中的上下文窗口是什么?

上下文窗口是大型语言模型一次可以处理的文本量(以token为单位)。它包括系统提示、对话历史、检索的文档和工具输出。模型在会话期间'知道'的所有内容都必须适应这个窗口。

攻击者如何利用上下文窗口?

攻击者可以用无关内容淹没上下文,将早期指令(包括安全防护栏)推出模型的有效注意力范围;注入埋藏在长上下文中并被过滤器忽略的恶意载荷;或利用上下文截断行为确保恶意内容存活而合法指令不会。

如何防护上下文窗口操纵?

防御措施包括:在上下文的多个点(而不仅仅是开头)锚定关键指令,实施上下文大小限制,监控异常大的上下文载荷,对长对话使用上下文摘要,以及在安全评估中测试上下文操纵场景。

针对基于上下文的攻击测试您的聊天机器人

上下文窗口操纵是一个被低估的攻击面。我们的渗透测试包括上下文溢出和战略性投毒场景。

了解更多

提示词注入
提示词注入

提示词注入

提示词注入是排名第一的大语言模型安全漏洞(OWASP LLM01),攻击者在用户输入或检索内容中嵌入恶意指令,以覆盖AI聊天机器人的预期行为,可能导致数据泄露、安全防护绕过或未授权操作。...

1 分钟阅读
AI Security Prompt Injection +3
AI智能体的上下文工程:掌握Token优化与智能体性能
AI智能体的上下文工程:掌握Token优化与智能体性能

AI智能体的上下文工程:掌握Token优化与智能体性能

了解上下文工程如何通过策略性管理tokens、减少上下文臃肿,并采用卸载、压缩、检索和隔离等高级技术来优化AI智能体的性能。...

1 分钟阅读
AI Agents LLM +2
提示词注入攻击:黑客如何劫持AI聊天机器人
提示词注入攻击:黑客如何劫持AI聊天机器人

提示词注入攻击:黑客如何劫持AI聊天机器人

提示词注入是排名第一的LLM安全风险。了解攻击者如何通过直接和间接注入劫持AI聊天机器人,并提供真实案例和面向开发者及安全团队的具体防御措施。...

1 分钟阅读
AI Security Prompt Injection +3