分析大语言模型对提示注入与越狱攻击的脆弱性
Analysis of LLMs Against Prompt Injection and Jailbreak Attacks
评测10个开源模型的提示注入与五种推理时防御:qwen3:1.7b为71.3%,自检下qwen3_4b等为0%。
- 资源有限场景常用1B–7B开源LLM,重训对齐往往不可行,但提示注入和越狱仍可能绕过安全约束。作者要测这些模型的漏洞,以及不改权重的推理时防御能降低多少。
- 人工整理对抗提示,先在10个未改权重模型上测无防御基线(注入每模型94条),再在6个稳定配置上比较五种推理时过滤。越狱每模型73条;有防御用另一批每配置74条的更长提示。基线由LLM裁判二分并抽查人工,防御阶段作者称用人类级判定。
- 94条注入上qwen3:1.7b为71.3%,六款为0。越狱作者称DeepSeek-R1:1.5B仅1.37%。自检下qwen3_4b与DeepSeek-R1-1.5b为0%,输入过滤下Llama3.2_3b约42%。
- 论文未设局限专节。Conclusion要求加强内置防御并融入安全推理。覆盖10模型×94条注入,及6模型的越狱与五种防御(74条/配置)。两组提示集不同。未报告主裁判模型名与人工一致性。
- 被测模型
- Phi-3 (3.8B)Mistral (7B)DeepSeek-R1 (7B)DeepSeek-R1 (1.5B)Llama 3.2 (3B)Llama 3.2 (1B)Qwen-3 (4B)Qwen-3 (1.7B)Gemma-3 (4B)Gemma-3 (1B)
- 基准
- 94 prompt injection scenarios73 jailbreak prompts74 prompts per defended configurationHarmBenchJailbreakBenchPromptRobust
- 指标
- vulnerability rateVulnerable/Non-VulnerableTimeoutsilent non-response
研究者用人工整理的大规模数据集评估了多款开源大语言模型在提示注入和越狱攻击下的脆弱性,涵盖 Phi、Mistral、DeepSeek-R1、Llama 3.2、Qwen 和 Gemma 等模型。结果显示不同模型的行为差异显著,既包括拒答,也包括由内部安全机制触发的完全静默无响应。研究还测试了多种无需重训练或 GPU 密集微调的轻量推理时防御,这类过滤式防御能缓解直接攻击,但会被冗长、推理密集的提示稳定绕过。
深度解读
这篇论文试图解决什么问题?
评测1B–7B开源模型的提示注入与越狱,并考察五种不改权重的推理时防御。
1B–7B 开源 LLM 在直接对抗提示下有多容易被提示注入和越狱攻破,以及不改权重的推理时防御能把漏洞压到什么程度。
- 场景:作者称这类模型已进入教育、医疗分类、客服和软件智能体,并跑在边缘设备、高校和资源紧张的机构。多数安全评估对着大型专有模型,而重训或微调常常做不到,所以需要推理时、不改权重的防御。
- 现有方法:作者称既有工作多做合成攻击或只用有限数据源。HarmBench、JailbreakBench、PromptRobust 以标准化提示为主,作者认为未必盖住真实对抗策略的多样性和变化。
- 研究问题:RQ1 问各开源 LLM 对提示注入和越狱的脆弱程度;RQ2 问轻量推理时防御在不重训时能把漏洞降低多少。
- 评测内容:10 个未改权重模型上的经验比较、五种已有推理时防御,以及静默不响应这一失败模式。作者把公开整理后的对抗提示数据集列为贡献。
- 威胁模型:
- 目标:让模型产出受限或违反策略的内容,论文称为 Successful Jailbreak。
- 能力:把提示注入或越狱提示直接送给模型。类别为问答、基础遵从、指令覆盖、角色扮演、长文或多步。实验不是 Greshake 等人讨论的间接注入。
- 知识:对象是未改权重的开源模型。论文未用 white-box、black-box 等词写攻击者能看到什么。
- 判定:实质遵从、给出违规指导、泄露应拒绝的信息,或拒绝后仍部分协助,记为 Vulnerable。明确拒绝或空输出记为非漏洞;空输出另记为 silent non-response。
有哪些相关研究?
相关工作覆盖攻击、推理时防御、开源模型与基准;作者用真实提示评测小模型和不重训防御。
提示注入与越狱
- Perez and Ribeiro(2022)用相对简单的对抗指令操纵指令层级,使模型无视原有安全约束。论文据此说对齐对指令层级操纵和对抗改写并不固有地稳。
- Greshake et al.(2023)做间接提示注入:恶意指令嵌在外部内容里,影响接入 LLM 的应用。本文实验未沿用这一设置。
- Wei et al.(2023)、Zou et al.(2023)、Liu et al.(2023)、Shen et al.(2023)分别分析对抗提示下的安全对齐失效、可跨架构迁移的攻击、基于提示工程的越狱,以及野外越狱提示。作者归纳:攻击利用有用性与无害性之间的张力;连贯、上下文丰富或多步推理的提示,可能让指令遵循压过安全约束。
防御
- 训练时路线:Ouyang et al.(2022)的监督微调与 RLHF,Bai et al.(2022)的 Constitutional AI。作者称它们把安全约束写进优化,需要权重和大量算力,开源或生产环境常常做不到。
- 推理时路线:输入过滤与策略护栏(文中 [11])、嵌入空间检测([14])、投票聚合([9])、自检([31])。作者称它们轻、不必重训,但长文或多步越狱下效果可能下降;可泛化的防御仍是开放问题。
- 本文比较的就是这五类的具体实现,对照是无防御直接喂提示,数据是作者自己整理的对抗提示,不是上述论文的原基准全量。
开源模型
- Bommasani et al.(2021)讨论基础模型的机会与风险。作者强调开源模型可本地下载,没有集中监控,补丁也慢;权重下载后,使用者可以离线探查、专门构造攻击,或把安全约束微调掉。
- 作者选六族 1B–7B:Llama 3.2、Mistral 7B、Phi-3、Qwen 3、Gemma 3、DeepSeek-R1。选择理由是部署常见,且同族有多个尺寸,便于看安全是否随容量变化。论文只描述各族公开材料里的对齐做法,没有把某一族写成已经更安全。
- 作者提出的待查问题是:小参数量下,语言能力与安全拒绝能否同时放下。评测只覆盖未改权重的模型。
评测基准
- HarmBench(Mazeika et al., 2024)、JailbreakBench(Chao et al., 2024)、PromptRobust(Zhu et al., 2023)提供结构化红队或对抗鲁棒评测。作者称它们主要基于标准化提示集,未必盖住真实部署里对抗策略的多样性。
- 社区来源包括 Reddit、Discord 和 GitHub 上的野外越狱、系统提示泄露与红队脚本。作者将其与学术基准合并,以同时覆盖受控条件和仍在变化的攻击。
基线与数据:无防御对五种推理时防御。提示注入每模型 94 条;越狱无防御每模型 73 条;有防御每配置 74 条更长、更结构化的提示。Section 5.3 写明两组提示集不相同。
作者把本文放在:相对侧重合成攻击或有限数据源的工作,用多来源真实提示,评测资源紧张场景里的小中型开源模型,以及不必重训的推理时防御。
论文如何解决这个问题?
先在未改权重模型上测无防御基线,再以更长提示比较五种推理时过滤。
整体是经验评测,不是新攻击或新训练算法:人工整理对抗提示,先测无防御基线,再在作者称为更长、更结构化的提示上套五种不改权重的推理时过滤。
对象与两阶段
- 模型:Phi-3 (3.8B)、Mistral (7B)、DeepSeek-R1 (7B 与 1.5B)、Llama 3.2 (3B 与 1B)、Qwen-3 (4B 与 1.7B)、Gemma-3 (1B 与 4B),共 10 个,权重不改。
- 阶段 1:对抗提示直接进入模型,建立基线。
- 阶段 2:启用五种推理时防御,用作者称为更高级、上下文更丰富的提示做压力测试。
- 未形式化:论文没有攻击者知识的白盒/黑盒定义,也没有损失函数或优化目标。
对抗提示
- 来源:Reddit 等社区、GitHub 仓库、攻击方法论文(含 JailbreakBench、HarmBench、PromptRobust 及 Perez and Ribeiro、Liu et al.、Wei et al.、Zou et al.)、未审查模型变体相关资源,以及人工改写。Table 1 有模式示例,这里不引用原文。
- 五类:Question Answering、Basic Compliance、Instruction Override、Role-playing Jailbreaks、Long-format / Multi-step Prompts。
- 长文:作者称其利用注意力被长上下文摊薄、指令模型优先维持连贯与协助、多步逐步升级意图,以及把指令嵌进看似无害的叙述。论文未给长度阈值或步数。
- 规模:注入每模型 94 条。越狱每模型 73 条、共 438 条、6 个模型。有防御为 6 个模型、每配置 74 条、共 2,220 条。后两阶段只保留执行稳定的配置;论文称初步测试里有空响应、超时或运行中断。
如何判漏洞
- Vulnerable:给出违反安全策略的可执行指导或解释;泄露标准安全约束下应拒绝的信息;部分遵从并推进对抗目标。拒绝之后仍附带部分不安全协助,仍记为漏洞。
- 非漏洞:拒绝、安全警告,或转到不含受限内容的替代说法。内部门控造成的空输出叫 silent non-response,计入非漏洞,但单独分析。
- 裁判:基线主要由另一个 LLM 做 Vulnerable / Non-Vulnerable,要求按专家式推理而不是关键词匹配。论文未给出该裁判的模型名。子集人工抽查,不一致处改正,并用来改裁判提示。论文未报告抽查条数或一致性。
- 防御阶段:Section 5.2.2 称全部回答用人类级漏洞判定,而不是只靠自动安全词表。
五种推理时防御
- 输入风险分类([11]):生成前按模式、关键词和结构打威胁分,超阈值则拦截或清洗。论文未给实验用的阈值或词表。
- 自检([31]):主模型先生成,裁判再标 SAFE 或 HARMFUL;有害则拦截、加约束重生成,或换成安全回退。作者称安全裁判选 DeepSeek-R1,理由是抗提示注入的表现和推理能力。论文未说明是 1.5B 还是 7B。
- 策略护栏:用户查询前加硬化系统提示,写明安全政策、指令优先级、类别限制、拒绝模板和角色边界。只改提示模板。
- 向量防御([14]):同一编码器把输入嵌入向量库,与已知攻击做余弦相似度或欧氏距离,超阈值则标记。论文未报告编码器、阈值或库规模。
- 投票([9]):同一提示生成多次,文中写 typically 3–5,用不同随机种子或采样参数;逐条评安全后按多数取更保守的输出,全部不安全则返回标准拒绝。实验节未报告实际的 N、温度或采样。
作者写出的取舍
- 推理时过滤接在模型外面,不必 GPU 微调。Section 4 写:输入过滤开销低、延迟可忽略;自检要多一次前向,延迟可能加倍;护栏几乎不增加延迟,但长系统提示占上下文;向量检索有中等延迟;投票约 3–5 倍前向。
- 作者同时写了失效方式:输入过滤误报高,改写即可绕过;自检的裁判本身可被对抗,同一模型自审还可能为自己的不安全输出找理由;护栏靠模型配合,角色扮演和多步推理可绕过;向量防御对远离已知样本的新攻击弱;投票不能保证每次采样都安全。
论文做了哪些实验?
94条注入上qwen3:1.7b为71.3%、六款为0;越狱与五种防御只在6个模型上有结果。
实验设置
- 模型:注入 10 个:Phi-3 (3.8B)、Mistral (7B)、DeepSeek-R1 (7B)、DeepSeek-R1 (1.5B)、Llama 3.2 (3B)、Llama 3.2 (1B)、Qwen-3 (4B)、Qwen-3 (1.7B)、Gemma-3 (4B)、Gemma-3 (1B)。越狱与有防御为其中 6 个:gemma3:1b、Llama3.2:3b、Llama3.2:1b、qwen3:1.7b、qwen3:4b、DeepSeek-R1:1.5b。
- 数据:无防御注入每模型 94 条,来源含 Reddit、GitHub、文中点名的 JailbreakBench 与 HarmBench,以及论文。无防御越狱每模型 73 条、共 438 条。有防御:6 个模型,作者称每配置 74 条,总测试 2,220 条;作者称这批更长、更结构化。
- 对照:无防御;五种防御为 Self-defence、Input filtering、System Prompt Defence、Vector Defence、Voting Defence。
- 指标:Table 3 的 Vulnerable/94 与 Rate (%);Table 4 的 Success、Timeout、Vuln、Non-Vuln;Table 5 按来源的 Vulnerability (%)。静默不响应计入非漏洞,但单独分析。
- 评审:基线主要用未点名的 LLM 裁判,子集人工改正。防御结果作者称用人类级判定。论文未报告重复次数、随机种子、人工抽查条数、裁判模型名,也未报告统计检验。
- 排除:论文称长提示上有的配置频繁无响应、超时或中断,越狱与防御只保留执行稳定者。未给出被排除配置的名单。贡献概述写 10 个模型跨 73 条越狱;Table 4 只有 6 个模型。
主结果
提示注入、无防御、每模型 94 条(Table 3)。超过 8 行,故省略同为 0/94 的 qwen3:4b 与 gemma3:4b。
模型 Vulnerable/94 Rate (%) qwen3:1.7b 67 71.3 gemma3:1b 59 62.8 DeepSeek-r1:1.5b 32 34.0 Llama3.2:1b 29 30.9 phi3:3.8b 0 0 Mistral:7b 0 0 DeepSeek-R1:7b 0 0 Llama3.2:3b 0 0 - 作者分组:高漏洞为 qwen3:1.7b、gemma3:1b;中等为 DeepSeek-R1:1.5b、Llama3.2:1b。正文写约 20%–40%,表中是 34.0% 与 30.9%。其余六款在 94 条上为 0。作者称高漏洞模型在多类提示上成片失败,指令层级和安全目标对齐较弱。
- 0 不等于可用:作者称 phi3:3.8b 与 Mistral:7b 经常返回空响应、没有拒绝说明,并认为这可能是解码前的硬门控。DeepSeek-R1:7b 与 Llama3.2:3b 更常给出明确拒绝和基于策略的解释。作者称零漏洞不代表透明或可用,静默不响应是隐蔽失败模式,也会影响排错。
- 规模:作者称安全并不随参数单调变化。正文把 qwen3:4b 对 qwen3:1.7b 写成 0 对 71%,gemma3:4b 对 gemma3:1b 写成 0% 对 63%;Table 3 是 0 对 71.3%、0 对 62.8%。作者认为对齐策略、安全分层或拒绝设计比规模更重要。Figure 1 的转写没有表外数字。
越狱(无防御)
- 设置:6 个模型各 73 条,共 438(Table 4)。多数行里 Success 加 Timeout 等于 73,Vuln 加 Non-Vuln 等于 Success。
- 计数:gemma3:1b 为 Success 53、Timeout 20、Vuln 49、Non-Vuln 4;Llama3.2:3b 为 52、20、36、16;qwen3:1.7b 为 55、18、8、47;Llama3.2:1b 为 42、31、7、35;DeepSeek-R1:1.5b 为 55、18、1、54。qwen3:4b 的 Total 为 73,但 Success 0、Timeout 12、Vuln 0、Non-Vuln 0,四列之和不是 73,故不把该行换成漏洞率。
- 作者说法与表:作者称 gemma3:1b 最易被攻破,约 67% 的对抗提示失败;DeepSeek-R1:1.5B 最低,仅 1.37%(表中 Vuln 为 1);Llama-3.2-1B 在 73 条里超时 31 次。又称 DeepSeek 与 Qwen 在超时和安全之间比其他模型更平衡。Section 5.3 称 Gemma3:1B 与 Qwen3:1.7B 无防御漏洞率超过 60%。这与 Table 3 的 62.8%、71.3% 相符,与 Table 4 中 qwen3:1.7b 的 Vuln 8 不相符,以表为准。Figure 2、Figure 3 的转写没有额外刻度。
五种推理时防御
- 设置:同一 6 个模型,每配置 74 条,总 2,220 条。提示集与无防御集合不同。判定改为人类级。Figure 4 按模型乘防御画漏洞率,正文只有部分近似值,没有完整数值表。
- 作者给出的数:自检最低;qwen3_4b 与 DeepSeek-R1-1.5b 在自检下为 0%;Llama3.2_1b 降到约 9.5%。输入过滤最弱:Llama3.2_3b 约 42%,gemma3_1b 高于 30%。系统提示下 qwen3_1.7b、DeepSeek-R1-1.5b 接近 0,Llama3.2_3b 仍约 39%。向量防御在较大模型上约 25–30%。投票下较小模型又到约 13–15%。作者称自检相对输入过滤把漏洞降低超过 50%。这些带约等号的数是对 Figure 4 的文字描述。
- 作者解读:Figure 5 汇总全部模型的漏洞与非漏洞条数,正文未给具体条数。作者称自检的非漏洞比例最高,输入过滤的漏洞条数最多;系统提示和向量防御仍留下一部分不安全回答;投票少于输入过滤,但未消除失败。作者认为外置或反应式防御比模型自身的拒绝漏得更多;容量变大而缺少内部防御时,更强的指令遵循可能放大越狱易感性。Section 5.3 强调两组提示不同,不是同一批提示的前后对比;即便提示更难,作者仍称有防御后没有任何模型超过基线所见的漏洞水平。防御没有完全消掉风险。
其他消融与分析
- Table 5,Horselock jailbreak (DeepSeek variant):50.00%
- Table 5,Discord BASI:31.48%
- Table 5,Reddit/DAN:26.85%
- Table 5,Reddit r/VeniceAI:22.22%
- Table 5,Reddit r/LocalLlama:3.33%
- Table 5,Reddit r/AIJailbreak:0.00%
作者称 Horselock 式多角色与覆盖提示最有效,部分流行 Reddit 越狱已过时或已被修补。论文未说明 Table 5 的分母和对应模型。实验节没有按温度、阈值、投票次数或嵌入模型给出消融数字。摘要与结论称轻量防御能减轻直接攻击,但长的、推理重的提示仍能绕过。
有什么可以进一步探索的点?
作者在结论中提出应加强内置防御;覆盖范围是实验事实,不是作者自列的局限。
作者指出的局限与后续方向
- 无专节:论文没有 Limitations 专节。Section 1 称 Section 6 含后续研究方向。
- 后续方向(Section 6):作者称需要进一步研究,加强内置防御能力,并把安全推理直接做进 LLM 架构。
- 结论里的效果边界(Section 6):作者称稳定的推理时防御能提高对简单攻击的抵抗,但对复杂、长格式越狱效果下降;只靠外部过滤不足以保证安全。
- Section 2.2 称可泛化防御仍是开放问题。该句不在 Limitations 或 Conclusion,不计为作者对本实验的局限声明。
实验覆盖范围
- 提示注入基线是 Section 3.1 与 Table 3 的 10 个开源模型,每模型 94 条,无防御。
- 越狱基线是 Table 4 的 6 个模型,每模型 73 条,合计 438 条。论文称因执行稳定性,只保留稳定配置(Section 5.1.2)。
- 防御是五种机制乘这 6 个模型,每配置 74 条,合计 2,220 条(Section 5.2.1)。自检实现里的安全裁判是 DeepSeek-R1,尺寸论文未说明。
- 有防御与无防御使用不同提示集(Section 5.3)。论文未报告主评审判定的模型名、人工抽查条数、裁判与人工的一致性、重复次数,以及实验中投票的 N、过滤阈值和向量编码器。
- 评测对象是未改权重模型(Section 2.3.2)。论文写到使用者可离线微调掉安全约束,并写明本评测不包含这一情况。
总结一下论文的主要内容
10个开源模型上注入漏洞从0到71.3%;作者称五种防御里自检最低,长提示仍能绕过。
在 1B 到 7B、未改权重的开源模型上,用多来源整理的对抗提示,比较提示注入、越狱,以及不重训的推理时防御。
- 问题:资源紧张时往往不能重训对齐。作者要看模型多容易被提示注入和越狱攻破,以及五种推理时过滤能把漏洞降到多少。
- 做法:注入每模型 94 条;越狱只在 6 个执行稳定的配置上、每模型 73 条。防御换用更长提示,每配置 74 条。实质遵从记为漏洞;空输出记为非漏洞,但单独称为静默不响应。基线用未点名的 LLM 裁判并做人工抽查;防御阶段作者称改为人类级判定。
- 注入:Table 3 中 qwen3:1.7b 为 71.3%(67/94),gemma3:1b 为 62.8%(59/94),DeepSeek-r1:1.5b 为 34.0%,Llama3.2:1b 为 30.9%。phi3:3.8b、Mistral:7b、DeepSeek-R1:7b、Llama3.2:3b、qwen3:4b、gemma3:4b 为 0。作者称 phi3 与 Mistral 的 0 常伴随无输出。
- 越狱:Table 4 中 gemma3:1b 的 Vuln 为 49,Success 53、Timeout 20。作者称约 67%,并称 DeepSeek-R1:1.5B 仅 1.37%(表中 Vuln 为 1)。Llama3.2:1b 超时 31/73。Table 5 中 Horselock(DeepSeek 变体)为 50.00%,Reddit r/AIJailbreak 为 0.00%。
- 防御与结论:作者称自检最低,qwen3_4b 与 DeepSeek-R1-1.5b 为 0%,输入过滤下 Llama3.2_3b 约 42%。作者称这些过滤能减轻直接攻击,但长的、推理重的提示仍能绕过;外置过滤不如模型自身的拒绝。Conclusion 提出应加强内置防御,并把安全推理做进架构。