上下文预设:通过伪造对话历史越狱大语言模型
一类从不直接提出违规问题的越狱方法。它伪造对话的前几轮,让模型把危险的续写当作自然而然的下一步。
这是什么?
大多数越狱研究关注的是提示词——攻击者发送的那一条消息。上下文预设(contextual priming)攻击的是另一个面:模型以为自己正在延续的对话历史。攻击者不是提出一个危险问题再加以伪装,而是伪造对话的前几轮——包括归于助手自己的回复——使得真正的请求到来时,模型早已被引导进入配合的语气。
这一类攻击的代表性版本是 Miao 等人提出的 Response Attack(RA),论文最初于 2025 年 7 月发布(arXiv 2507.05248),随后被 AAAI 2026 接收。RA 将上下文预设形式化为一种攻击机制,报告的成功率持续高于九种主流基线方法。2026 年的后续工作 ContextualJailbreak(arXiv 2605.02647)将这一思路自动化,并在当前前沿模型上进行测量——这正是这一类攻击值得在今天重新审视、而非归入 2025 年旧闻的原因。
工作原理
该机制利用了 RA 作者明确指出的一种不对称性:安全对齐对有害查询的鲁棒性,往往强于对来自先前上下文的有害内容的鲁棒性。一个会断然拒绝”解释如何做 X”的模型,如果其上下文中已经有一段看似出自它自己、关于 X 的半成品回答,可能就会顺势继续。
Response Attack 刻意构造这样的上下文。一个辅助模型针对目标的改写版本生成一段轻度有害的回复——单独看不会触发过滤。这段中间回复被作为助手的一个较早轮次插入到对话记录中,随后再发送一句简短的触发语来引发升级。模型读到的,是一段自己似乎已经同意提供帮助的对话。
在单次请求中发送的伪造对话记录
------------------------------------
system: [外表普通的设定]
user: [目标的改写、软化版本]
assistant: [轻度有害的部分回答 —— 预设诱饵,
归于模型,实为攻击者撰写]
user: [简短触发语:"继续" / "补全步骤"]
→ 模型从自己表面上的起点开始升级
ContextualJailbreak 把这一思路从固定模板变成搜索。它对整段模拟对话运行进化式循环,用语义算子(角色扮演、场景、扩展,以及作者新引入的两种)对预设过的对话进行变异,并用一个 0–5 分的分级危害评判器对每次尝试打分,使部分成功能够引导下一代,而不是被丢弃。整段被伪造的多轮对话仍然在单次 API 调用中发送。此处不复现任何攻击载荷——关键在于结构:攻击者控制了历史,而历史被视为可信。
为什么重要
数据表明这并非玩具。ContextualJailbreak 报告的成功率(获取有害内容)在多个开放权重模型上达到 100%——包括 qwen3-8b 和 llama-3.1-70b——在一个更大的开放模型上为 90%,远高于单轮和多轮基线。针对某个开放模型优化出的对抗性对话,可以原样迁移到托管的前沿系统:论文报告在”有害”阈值下,对 gpt-4o-mini 的成功率约为 90%,对 gpt-5 和 gemini-3-flash 约为 70%。
有两点经验超越了任何具体基准。其一,提示词层面的过滤是错误的层。 检查最后一条用户消息的分类器只看到平淡的”继续”;危害存在于围绕它的伪造历史中。其二,结果高度依赖对齐配方,且与版本绑定。同一研究发现,所测试的两个 Claude 模型——claude-opus-4-7 和 claude-sonnet-4-6——抵抗力明显更强,对大多数迁移攻击直接拒绝(成功率约在 15% 上下,而其他模型为 70%–90%)。这是某个特定强化对齐栈在某个特定版本上的性质,而非前沿模型的普遍性质——这正是应当测量、而非想当然的差异。
防御
由于攻击存在于对话结构之中,防御必须对整个轨迹进行推理,而不是只看最后一条消息。
- 不要把客户端提供的历史当成模型自己写的来信任。 在 API 部署中,助手轮次是攻击者可控的。若你的产品允许提交完整对话记录,应把先前的”assistant”轮次当作不可信输入,而非模型已确立的承诺。
- 从提示词层对齐转向上下文感知对齐。 RA 作者的核心建议是:安全性必须在不断演化的对话上下文中成立,而不仅仅在最终查询上成立。应在对抗性历史条件下评估拒绝行为,而非只用孤立提示词。
- 在生成时重新审查整个上下文。 对拼装好的完整对话——包括注入的预设诱饵——运行输出和安全检查,而不只是最后一轮。跟在有害部分回答之后的”继续”,应按它所延续的内容来评分。
- 用预设过的历史做红队测试。 把伪造前置轮次的场景(轻度诱饵后再升级)加入你的评测集。两篇论文都为此类防御性测试发布了代码或合成示例。
- 优先选用已被证明能抵抗上下文预设的对齐栈——然后在你自己的栈和版本上验证。 为某家厂商某个版本证明的鲁棒性并不可移植;每次更换模型或系统提示后都要重新测试。
状态
| 项目 | 参考 | 日期 | 说明 |
|---|---|---|---|
| Response Attack(奠基) | Miao 等,arXiv 2507.05248 | 2025-07 | 形式化上下文预设;胜过 9 种基线;已发布代码 |
| Response Attack(发表) | AAAI 2026 会议论文集 | 2026 | 同行评审接收 |
| ContextualJailbreak(自动化) | Rodríguez Béjar 等,arXiv 2605.02647 | 2026 | 对预设对话进行进化式搜索;前沿迁移结果 |
| 开放权重影响 | ContextualJailbreak | 2026 | 在多个开放模型上成功率(有害内容)高达 100% |
| 前沿迁移 | ContextualJailbreak | 2026 | 对 gpt-4o-mini / gpt-5 / gemini-3-flash 约 70%–90%;对所测 Claude 模型约 15% |
值得长期记住的一点:模型的拒绝,强不过它最具妥协性的表面上下文。如果攻击者能够撰写历史,那么最后一条消息几乎无关紧要——因此防御必须落在历史被拼装之处,而不是问题被提出之处。