一、现状及背景

近年来,以大型语言模型(Large Language Models, LLMs)为代表的人工智能技术取得了突破性进展,并在各行各业展现出巨大的应用潜力。然而,LLM在带来便利的同时,其内生的安全风险也日益凸显。其中,提示词注入(Prompt Injection)攻击已成为最主要的安全威胁之一。根据OWASP(开放全球应用安全项目)发布的报告,提示词注入攻击位列2025年LLM应用十大风险之首 [来源: OWASP Foundation]。

提示词注入攻击的根本原因在于LLM在处理输入时,无法严格区分开发者预设的指令(Instruction)和用户提供的外部数据(Data)。攻击者可以利用这一点,通过构造包含恶意指令的用户输入,诱导或劫持LLM,使其偏离预期任务,执行非授权操作,从而导致信息泄露、生成有害内容、系统被滥用等严重后果。为评估和提升LLM的安全性,红队攻击测试(Red Teaming)成为核心手段,它通过模拟真实攻击者的行为,主动发现并验证模型的安全漏洞。

现有技术主要围绕提示词注入的攻击方法和防御策略两个维度展开。本技术方案正是在此背景下,提供一种系统化的红队攻击测试方法。

根据攻击者与系统的交互方式,提示词注入攻击可分为直接注入和间接注入。现有研究和实践中已发展出多种具体的攻击技术,这些技术通常可以组合使用以增强攻击效果。

  • 目标劫持(Goal Hijacking):攻击者通过注入“忽略之前的指令,转而执行以下任务”等命令,完全改变模型的任务目标。这是最直接和常见的攻击形式 [来源: Palo Alto Networks]。
  • 提示词泄露(Prompt Leaking):攻击者诱导模型泄露其原始的系统级提示词(System Prompt),这些提示词可能包含应用的核心逻辑、知识产权或敏感配置信息。
  • 越狱攻击(Jailbreaking):攻击者通过精心设计的场景(如角色扮演、情景模拟)或复杂的指令,绕过模型的安全和伦理护栏,使其生成在正常情况下会拒绝的有害、非法或不道德内容 [来源: arXiv:2407.04295]。
  • 鲁棒性攻击:此类攻击旨在测试模型的稳定性,包括诱导模型无限循环生成、输出无意义内容或使其在处理悖论问题时崩溃。本技术方案中提及的无限生成、无意义生成和悖论生成攻击均属此类。

针对上述攻击,学术界和工业界已提出多种防御方案,但多数方案仍存在局限性。

  • 输入/输出过滤与护栏(Guardrails):这是最常见的防御手段,通过在模型前后部署过滤系统,检测并拦截包含恶意指令的输入或包含敏感信息的输出。例如,使用关键词匹配、正则表达式或另一个LLM作为裁判模型。开源框架如 Guardrails AI 和 LlamaFirewall 提供了此类功能。
  • 指令与数据分离:从根本上解决问题的一种思路是让模型能够区分指令和数据。例如,StruQ 方案提出使用结构化查询,将指令和数据通过不同通道传入,并对模型进行特殊微调使其只遵循指令通道的内容 [来源: USENIX Security '25]。
  • 模型对齐与优化:通过偏好优化(Preference Optimization)等技术对模型进行微调,使其“学会”偏好安全、无害的回答,即使面对注入攻击也能保持稳定。例如,SecAlign 方法通过构建包含攻击样本的偏好数据集来训练模型,显著降低了攻击成功率 [来源: arXiv:2410.05451]。
  • 专利技术:已有公司就提示词注入缓解技术申请了专利。例如,Preamble, Inc. 公司申请的专利(如 US Patent App. 18/051,558)涵盖了基于分类器的检测、数据标签化(区分可信与不可信来源)以及强化学习等多种缓解方法 [来源: Preamble, Inc. 专利申请]

尽管防御技术不断发展,但现有技术仍面临诸多挑战,这也是本技术方案所要解决的问题背景:

  • 防御的滞后性与被动性:当前的防御措施多为“亡羊补牢”。攻击者总能创造出新的、更复杂的注入方式(如多语言混淆、多轮对话诱导)来绕过已知的防御规则。防御技术的发展往往落后于攻击技术。
  • 缺乏系统化、自动化的攻击测试框架:现有的攻击研究多集中于个案分析或特定攻击方法的验证 [来源: USENIX Security '24]。企业和开发者缺少一个全面、公正、可复现的红队测试平台,用于系统性地评估模型在面对多样化、可叠加、自动化的攻击时的真实安全水位。虽然存在如 JailbreakBench 等评测基准,但它们更侧重于标准化的行为测试,而非提供一个灵活的、可组合的攻击生成与注入“靶场”。
  • 攻防效果难以量化对比:在实际测试中,需要一种直观的方式来对比注入攻击前后的模型行为差异,以量化评估攻击的有效性和模型的脆弱点。现有工具链对此支持不足。
  • 高昂的人力与时间成本:手动构造和执行红队测试需要大量的安全专家投入,效率低下且覆盖范围有限。自动化、可编排的攻击生成与测试能力是当前领域的迫切需求。例如,已有专利(如 US 20210352100 A1)探索自动化红队测试,但专注于传统网络,而非LLM的语言特性。

综上所述,现有技术在防御提示词注入方面取得了一定进展,但在攻击模拟和安全评测层面,尤其是在提供一个能够模拟复杂、多变、可叠加攻击策略的自动化红队测试系统方面,仍存在明显不足。这为构建一个如本技术方案所述的、集成了多种注入模式并能进行效果对比评估的红队攻击测试系统提供了明确的技术需求和创新空间.

二、博特智能的解决方案

博特智能方案提出通过构建基于LLM大语言模型的多类提示词注入器, 并在词基础上构建工具链编排系统串联并叠加不同的提示词注入器, 提供可配置的提示词注入组合, 实现对原始攻击内容丰富多变的毒性增强, 从而达到对模型的深层次安全能力测试.

  1. 博特方案构建多类提示词注入器, 形成红队攻击测试的基础模块, 包括:
  • 内容变换器: 通过专门设计的提示词使用基础大语言模型对攻击题目的内容进行改写, 用以通过被测大模型或是其挂接的安全增强组件的扫描
  • 格式变化器: 通过专门设计的提示词使用基础大语言模型对攻击题目的格式进行改写, 用以通过被测大模型或是其挂接的安全增强组件的扫描
  • 加密变化器: 通过专门设计的提示词使用基础大语言模型对攻击题目的原始内容中的字母符号内容, 如英文内容, 做大模型能够理解的加密变化, 用以通过被测大模型或是其挂接的安全增强组件的扫描
  • 对抗性注入器: 将攻击内容嵌入到利用大语言模型的服从特性专门设计的毒性提示词模板内, 诱导被测大模型服从提示词的指令, 最终突破安全边界. 同时通过另设的提示词使用基础大模型生成已定义好的毒性提示词模板的变种, 用以攻破被测大模型对已定义好的毒性提示词模板生成的免疫
    1. 场景模拟: 通过提示词指示被测大模型将内容生成的上下文设定为某个特定场景来响应攻击内容, 例如在一个安全实验室里或是一个虚拟的环境里如何做某类任务
    2. 角色扮演: 通过提示词指示被测大模型将内容生成的上下文设定为某个特定场景下的特定角色, 并指示被测大模型从场景相关的角度来响应攻击内容, 例如以辩论赛中的队员的角色从正反两方面论述相关内容, 或是如何在法庭上辩论相关内容能够胜诉等
    3. 个性模拟: 同过特定提示词使用基础大模型分析并使用偏中性的词汇描述攻击者的职业及人格特征, 然后让被测大模型以此职业及人格特征为上下文响应攻击内容
    4. 程序代码: 将攻击内容嵌入到一段Python或是Java等的程序代码中, 通过让被测大模型执行并解释代码的方式响应攻击内容
    5. 拒绝抑制: 利用大模型的服从性, 通过提示词指示大模型以不拒绝的态度回应攻击内容
    6. 其他
  • 前缀注入器: 将使用基础大语言模型随机生成的正常查询任务, 通过使用专门设计的指令覆盖提示词, 附加在攻击内容之前, 使被测大模型服从提示词的指示, 执行被攻击内容的要求.
    1. 任务忽略: 将用基础大模型生成的正常任务串接一段特定的提示词后附加在原始攻击内容之前, 通过提示词指示被测大模型忽略之前的任务并响应攻击内容
    2. 任务说明: 将用基础大模型生成的正常任务串接一段特定的提示词后附加在原始攻击内容之前, 通过提示词指示被测大模型关联以上任务响应攻击内容
    3. 任务附加: 将用基础大模型生成的正常任务串接一段特定的提示词后附加在原始攻击内容之前, 通过提示词指示被测大模型在以上任务的基础上响应攻击内容
    4. 其他
  1. 博特方案构建工具链编排系统按以下流程实现串联并叠加不同的提示词注入器, 并以特定格式定义和配置的提示词注入组合。

实施方案:

  1. 博特方案构建多类提示词注入器, 形成红队攻击测试的基础模块, 包括:
  • 内容变换器: 通过专门设计的提示词使用基础大语言模型对攻击题目的内容进行改写, 用以通过被测大模型或是其挂接的安全增强组件的扫描
    1. 拼音变化: 将原始内容中表示主语、谓语或是表示时间地点等的状态词变换成拼音
    2. 同音字变化:将原始内容中表示主语、谓语或是表示时间地点等的状态词变换成同音但不同形的词
    3. 语种变化: 将原始内容或者部分原始内容翻译成另外一种语言, 例如英语、德语等.
    4. 其他
  • 格式变化器: 通过专门设计的提示词使用基础大语言模型对攻击题目的格式进行改写, 用以通过被测大模型或是其挂接的安全增强组件的扫描
    1. 换行符插入: 在原始内容中随机插入换行符, 改变原始内容的格式
    2. 制表符插入: 在原始内容中随机插入制表符, 改变原始内容的格式
    3. 其他
  • 加密变化器: 通过专门设计的提示词使用基础大语言模型对攻击题目的原始内容中的字母符号内容, 如英文内容, 做大模型能够理解的加密变化, 用以通过被测大模型或是其挂接的安全增强组件的扫描
    1. 倒序加密变换: 将原始内容中的字母符号内容做倒序变换加密
    2. 移位加密变换: 将原始内容中的字母符号内容做移位变换加密
    3. 其他
  • 对抗性注入器: 将攻击内容嵌入到利用大语言模型的服从特性专门设计的毒性提示词模板内, 诱导被测大模型服从提示词的指令, 最终突破安全边界. 同时通过另设的提示词使用基础大模型生成已定义好的毒性提示词模板的变种, 用以攻破被测大模型对已定义好的毒性提示词模板生成的免疫
    1. 场景模拟: 通过提示词指示被测大模型将内容生成的上下文设定为某个特定场景来响应攻击内容, 例如在一个安全实验室里或是一个虚拟的环境里如何做某类任务
    2. 角色扮演: 通过提示词指示被测大模型将内容生成的上下文设定为某个特定场景下的特定角色, 并指示被测大模型从场景相关的角度来响应攻击内容, 例如以辩论赛中的队员的角色从正反两方面论述相关内容, 或是如何在法庭上辩论相关内容能够胜诉等
    3. 个性模拟: 同过特定提示词使用基础大模型分析并使用偏中性的词汇描述攻击者的职业及人格特征, 然后让被测大模型以此职业及人格特征为上下文响应攻击内容
    4. 程序代码: 将攻击内容嵌入到一段Python或是Java等的程序代码中, 通过让被测大模型执行并解释代码的方式响应攻击内容
    5. 拒绝抑制: 利用大模型的服从性, 通过提示词指示大模型以不拒绝的态度回应攻击内容
    6. 其他
  • 前缀注入器: 将使用基础大语言模型随机生成的正常查询任务, 通过使用专门设计的指令覆盖提示词, 附加在攻击内容之前, 使被测大模型服从提示词的指示, 执行被攻击内容的要求.
    1. 任务忽略: 将用基础大模型生成的正常任务串接一段特定的提示词后附加在原始攻击内容之前, 通过提示词指示被测大模型忽略之前的任务并响应攻击内容
    2. 任务说明: 将用基础大模型生成的正常任务串接一段特定的提示词后附加在原始攻击内容之前, 通过提示词指示被测大模型关联以上任务响应攻击内容
    3. 任务附加: 将用基础大模型生成的正常任务串接一段特定的提示词后附加在原始攻击内容之前, 通过提示词指示被测大模型在以上任务的基础上响应攻击内容
    4. 其他
  1. 博特方案构建工具链编排系统按以下流程实现串联并叠加不同的提示词注入器, 并以特定格式定义和配置的提示词注入组合
  • 提示词注入流程

具体流程如下:

  1. 输入攻击内容
  2. 选者并进行内容变换

从拼音变化、同音字变化、语种变换或其他变换中任选其一, 可跳过

  1. 选者并进行格式变换

从换行符插入、制表符插入和其他插入中任选其一, 可跳过

  1. 选者并进行格式变换

从倒序加密变换、移位加密变换和其他加密变换中任选其一, 可跳过

  1. 选者并进行对抗性注入
    1. 从场景模拟、角色扮演、个性模拟、程序代码、决绝抑制和其他对抗注入器中任选其一, 可跳过
    2. 叠加选择以上对抗注入器, 可跳过
  2. 选者并进行前缀注入

从任务说明、任务附加、任务忽略和其他前缀注入中任选其一, 可跳过

提示词注入组合配置定义

工具链编排系统通过JSON格式的数据字典来定义多个注入器的组合, 数据自定格式如下:
{

“内容变换器”: “特定内容变化器名”,

“格式变化器”: “特定格式变化器名”,

“加密变化器”: “特定加密变化器名”,

“对抗性注入器”: [“对抗性注入器1”, “对抗性注入器2”, ...],

“前缀注入器”: “特定前缀注入器名”,

}

  1. 以上组合定义中的每一项都为可选项
  2. 以上组合定义中“内容变换器”、“格式变化器”、“加密变化器”和“前缀注入器”为单一值
  3. 以上组合定义中“对抗性注入器”为多选值

系统架构

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐