← 返回 2026-05-01

FlashRT:面向长上下文大模型提示注入与知识污染的高效红队框架 FlashRT: Towards Computationally and Memory Efficient Red-Teaming for Prompt Injection and Knowledge Corruption

Yanting Wang, Chenlong Yin, Ying Chen, Jinyuan Jia 📅 2026-04-30 👍 2 2026-07-13 08:36
GCG优化 LLM安全 提示注入 知识污染 红队评估 长上下文

首个针对长上下文LLM的优化式红队加速框架,2-7倍提速、2-4倍省显存。

前置知识

GCG (Greedy Coordinate Gradient)

GCG 是 Zou 等人提出的白盒对抗优化方法,通过计算目标输出对恶意文本 token 嵌入的梯度,将梯度投影回词表空间以筛选候选替换 token,再贪心搜索出最小化损失(如负对数似然)的对抗串。nanoGCG 是其高效实现,整合了 KV-Cache、多位置替换、历史攻击缓冲等技巧。

FlashRT 直接建立在 GCG/nanoGCG 的迭代框架之上(Algorithm 1),要理解 FlashRT 的动机必须先理解 GCG 是怎么通过「反向传梯度→前向评估候选→更新最优」循环工作的,以及它为什么会成为长上下文场景下的瓶颈。

提示注入与知识污染 (Prompt Injection & Knowledge Corruption)

提示注入指攻击者在长上下文(如检索文档、网页)中嵌入指令,使 LLM 偏离原任务执行攻击者意图;知识污染指在 RAG 知识库中注入含错误事实的段落,使模型在用户提问时输出攻击者指定的错误答案。两类攻击中,对抗文本通常只占上下文极小一部分。

论文的两个具体威胁场景,FlashRT 的所有优化目标(让红队评估更高效)都是针对这两类长上下文攻击设计的。

Transformer 自注意力与 KV-Cache

Transformer 通过 query/key/value 注意力机制建模 token 间依赖,自回归解码时为避免重复计算历史 token 的 K/V,会缓存已计算的 K/V 对(KV-Cache)。长上下文下注意力对序列长度呈 $O(n^2)$ 计算与显存增长。FlashRT 的核心技巧之一是「选择性重算」,即在复用 KV-Cache 的基础上只对 Cr 中部分 token 重算隐藏状态。

理解 KV-Cache 与注意力的 $O(n^2)$ 复杂度,才能明白为什么长上下文下前向评估候选如此昂贵,以及为什么可以「选择性地」只重算 Cr 中部分 token。

红队评估 (Red-Teaming)

红队指系统性地使用攻击技术对模型进行压力测试,以评估其安全性和鲁棒性。Meta、Google、OpenAI 等机构都组建了专门的红队来检验自家模型在对抗输入下的表现。FlashRT 的最终定位就是「让学术研究者也能负担得起对长上下文 LLM 进行强优化式红队」的工具。

FlashRT 的应用价值不只是「更快的攻击」,而是「更便宜、更可扩展的红队评估」,这关系到能否系统化度量新防御策略的有效性。

研究动机

基于优化的红队方法(如 GCG 及其工程实现 nanoGCG)虽然比启发式方法更强、能更严格地评估 LLM 安全风险,但在长上下文场景下极其昂贵。具体表现为两个瓶颈:(1)每次迭代需要用一次反向传播计算当前最优对抗串 $T^{best}$ 的梯度以生成候选,对 Llama-3.1-8B + NarrativeQA,32K 上下文下反向传播峰值显存高达 264.1 GB(约为前向传播的 4 倍);(2)由于离散 token 优化必须用贪心搜索评估大量候选,单次迭代需要跑大量前向 pass,总计算时间被前向 pass 主导,例如 NarrativeQA 上 nanoGCG 总耗时 2736.9 s,其中 2506.3 s 来自前向。这两个成本都随上下文长度超线性增长(注意力 $O(n^2)$),使得学术研究者几乎无法在四卡 H100(每卡 96 GB,总 384 GB)上对 70B 级别长上下文模型做完整红队评估,新防御策略也难以被系统验证。

本文的目标是论文的目标是提出 FlashRT——首个同时从「算法层面」(而非仅系统实现层面)优化白盒优化式红队在长上下文 LLM 上的计算与显存效率的通用框架。具体而言,论文希望构造一个即插即用的加速层:保留 GCG/nanoGCG 优化循环的外层结构,但在「反向计算梯度生成候选」与「前向评估候选损失」两个昂贵步骤上分别引入可控的近似策略(context subsampling 与 selective KV recomputation),使红队在保留甚至提高攻击成功率(ASR)的前提下,把反向显存压缩到与前向相当、把前向耗时降到原有几分之一。其最终愿景是让 70B 级别长上下文 LLM(如 Llama-3.1-70B)也能在四卡 H100(总 384 GB)集群上被系统化红队评估,并进一步把这些技术推广到 TAP、AutoDAN 等黑盒方法上,让任何具备完整模型访问权的红队者(无论是模型厂商还是学术实验室)都能负担得起强优化式安全评估。

与已有工作不同的是,现有 GCG 改进工作(如 momentum GCG、TAO、各种 best practice)主要关注「找更强攻击」或「系统级加速(FlashAttention、量化)」,缺少从算法角度对优化循环本身做近似:作者观察到 nanoGCG 的反向梯度本就是用来「近似生成候选」的,因此梯度本身可以被进一步近似;而前向评估候选时,对长 Cr 的精确 KV 重算也并非必须——只重算那些对目标输出 $\hat{Y}$ 注意力高的 token 即可。这种「在算法层面允许近似」的切入点是 FlashRT 与已有 GCG 加速工作的本质区别。

核心方法

FlashRT 围绕 Algorithm 2 重写了 nanoGCG 的内层循环,对「反向计算梯度」与「前向评估候选」两个步骤分别引入近似策略。整体直觉是:在长上下文中,对抗文本 $T$ 只占极小比例,因此无论是评估候选还是计算梯度,都没必要对整段长文本做精确处理。具体来说,给定当前最优对抗串 $T^{best}$,先计算并缓存其完整 KV-Cache $\Psi$,并用中间层(15-19 层)所有注意力头对「目标输出 token $\hat{Y}$ 与 Cr 各分段的注意力权重」算出每个分段的「影响力分数」,选取得分最高的 $\beta$ 比例分段构成「重算集合 $R$」。前向评估候选 $T$ 时,仅对 $R$ 中 token 重算隐藏状态和 K/V;反向计算梯度时,把 Cl、Cr 都按长度 $\rho$ 分段,只随机采 $\gamma$ 比例的分段参与前/反向传播。当 loss 连续 $\tau$ 步未下降时触发「梯度重采样」,通过换一批分段帮助跳出局部极小。

FlashRT 的核心创新是把 GCG 的两个昂贵步骤都「放宽」为可控近似:(1)Forward 端——基于注意力的影响力分数选择性重算 Cr(区别于标准 KV-Cache 对所有 $T\|Cr\|I_u\|\hat{Y}$ token 重算),以小误差换取大计算节省;(2)Backward 端——只对上下文 $\gamma$ 比例的分段反向传播来近似梯度(因为梯度本身只用来构造候选替换 token,对精度要求低)。这两点均利用了「在长上下文中大部分 token 对损失与候选生成贡献稀疏」的观察,与已有 FlashAttention、KV-Cache 等「精确加速」路线正交,因此可以叠加使用。

方法步骤详情

完整流程见 Algorithm 2:第 1-2 步用 'x x ... x' 初始化对抗串 $T^{best}$;第 4 步对 $X^{best} = I_s\|C\oplus_{inj}T^{best}\|I_u\|\hat{Y}$ 计算损失并缓存完整 KV-Cache $\Psi$;第 5 步 GetRecomputeSet 用 32 层 LLM 的中间 5 层所有头计算各分段 $C_t^r$ 对 $\hat{Y}$ 的平均注意力得分,选 $\beta=0.2$ 比例得分最高的分段放入 $R$;第 6 步 MemEffGradient 把 Cl、Cr 按 $\rho=50$ 分段,仅采 $\gamma=0.2$ 比例分段得到 $\tilde{C}_l,\tilde{C}_r$,对 $\tilde{X}=I_s\|\tilde{C}_l\|T^{best}\|\tilde{C}_r\|I_u\|\hat{Y}$ 做反向,得到关于 $T^{best}$ 嵌入的梯度;第 7 步维护未改善计数器 $RS$;第 9 步 GetCandidateText 用梯度投影到词表构造候选 $T$;第 12 步 FastLossEval 复用 $\Psi$,对 $T\|R\|I_u\|\hat{Y}$ 重算 K/V 并结合剩余 $\Psi$ 计算近似损失 $L(T)$;第 13-19 步若 $L(T)<L^{best}$ 则更新 $T^{best}$、重算 $\Psi$、刷新 $R$ 与梯度,并把 $RS$ 清零;第 21-23 步若 $RS\geq\tau=100$(连续 100 个候选未改善),重做一次 $\gamma$ 比例的随机分段采样以重新估算梯度,跳出可能的局部极小。

技术新颖性

技术新颖性体现在三个层面:(1)首次提出「基于影响力分数的选择性 KV 重算」用于长上下文候选评估,利用 $\hat{Y}$ 对 Cr 的中间层注意力作为「重要性信号」,避免对长 Cr 全量重算。论文验证了随机分数、语义相似度、Individual Segment Probability 等替代指标,发现 attention-based 影响力既高效(仅 39.7 s 计算时间)又信息丰富(ASR 1.0 vs 随机 0.98)。(2)首次在红队优化中做「上下文子采样反向传播」来削减显存,把 backward 输入长度从 $n$ 降到 $\gamma n$,并设计「梯度重采样」机制用 $\tau=100$ 的间隔引入新随机性缓解近似导致的优化停滞。(3)证明了这些近似与现有 best practice(KV-Cache、多位置替换、历史 buffer、扰动尺寸调度、随机重启)正交——FlashRT 是 nanoGCG 的「即插即用」加速层,使其能扩展到 nanoGCG 在 384 GB 总显存上根本跑不动的 Llama-3.1-70B 长上下文场景。

Standard KV-Caching (top) needs to recompute hidden states and key-value pairs for all tokens in the right side of the candidate malicious text to calculate the exact loss. Different from standard KV-Caching, we only recompute hidden states and key-value pairs for selected tokens to approximately calculate the loss.
Figure 2: Standard KV-Caching (top) needs to recompute hidden states and key-value pairs for all tokens in the right side of the candidate malicious text to calculate the exact loss. Different from standard KV-Caching, we only recompute hidden states and key-value pairs for selected tokens to approximately calculate the loss.
A unified framework for optimization.
Algorithm 1: A unified framework for optimization.
FlashRT
Algorithm 2: FlashRT

实验结果

论文在 9 个 LLM × 6 个数据集上做了系统评估,主要发现:(1)如表 1(a) 所示,在 Llama-3.1-8B + 提示注入场景,FlashRT 在 MuSiQue/NarrativeQA/GovReport 上 ASR 分别达 0.94/0.98/1.0,与 nanoGCG-OPT 持平或略优;显存从 nanoGCG 的 89.7/164.8/82.9 GB 降到 41.6/53.7/36.3 GB(约 2-3 倍节省),计算时间从 3201.2/2736.9/3634.6 s 降到 959.0/1039.5/519.6 s(约 2-7 倍提速),最长从一小时压到十分钟内。(2)如表 1(b) 所示,知识污染任务上 FlashRT 在 NQ/HotpotQA/MS-MARCO 三个百万级知识库上 ASR 全部达到 1.0,显存降至 26-30 GB,时间降到 350-490 s,比 nanoGCG-OPT 提速约 2-3 倍。(3)如表 2,FlashRT 可在 nanoGCG 完全无法运行的 Llama-3.1-70B 上达到 0.90 ASR(显存 205.3 GB),并在 Qwen-2.5-14B、Mistral-7B、DeepSeek-R1-Distill 等异构模型上稳定拿到 2-4 倍时间与 2.5-3 倍显存节省。(4)红队防御方面(表 4-6),对 Llama-Prompt-Guard-2-86M 守卫模型 + Meta-SecAlign-8B/70B,FlashRT 在 ASR 与 nanoGCG-OPT 持平的同时把时间压缩到 1/2-1/3、显存压到 1/3,例如 Meta-SecAlign-70B 在 GovReport 上 ASR 0.96(启发式攻击为 0)。(5)如表 7-8,把 FlashRT 的 log-prob 近似套到 TAP 与 AutoDAN 这类黑盒方法上,可把 TAP 的 ASR 从 0.82 拉到 0.98,并把 AutoDAN 推理时间在三个数据集上再砍 30-50%。

Comparing FlashRT with state-of-the-art baselines for ASR, GPU Memory (GB), and Computation Time (s). The LLM is Llama-3.1-8B-Instruct.
Table 1: Comparing FlashRT with state-of-the-art baselines for ASR, GPU Memory (GB), and Computation Time (s). The LLM is Llama-3.1-8B-Instruct.
Effectiveness of FlashRT across different LLMs on the NQ dataset.
Table 2: Effectiveness of FlashRT across different LLMs on the NQ dataset.
Compare different influence scores for selecting recomputation tokens.
Table 3: Compare different influence scores for selecting recomputation tokens.
Improving prompt injection attack against LLM guardrail.
Table 4: Improving prompt injection attack against LLM guardrail.
Improving prompt injection attack against Meta-SecAlign-8B.
Table 5: Improving prompt injection attack against Meta-SecAlign-8B.
Improving prompt injection attack against Meta-SecAlign-70B. Context length is limited to 16K tokens.
Table 6: Improving prompt injection attack against Meta-SecAlign-70B. Context length is limited to 16K tokens.
Improving the effectiveness of TAP with FlashRT. The target LLM is Meta-SecAlign-8B.
Table 7: Improving the effectiveness of TAP with FlashRT. The target LLM is Meta-SecAlign-8B.
Improving the computational efficiency of AutoDAN using the log-probability approximation technique from FlashRT. The target LLM is Meta-SecAlign-8B.
Table 8: Improving the computational efficiency of AutoDAN using the log-probability approximation technique from FlashRT. The target LLM is Meta-SecAlign-8B.
查看结构化数据
任务指标本文基线提升
Prompt Injection on MuSiQue (Llama-3.1-8B) ASR / 显存(GB) / 时间(s) 0.94 / 41.6 / 959.0 nanoGCG-OPT: 0.94 / 91.9 / 4209.8 ASR 持平, 显存 ↓55%, 时间 ↓77%
Prompt Injection on NarrativeQA (Llama-3.1-8B) ASR / 显存(GB) / 时间(s) 0.98 / 53.7 / 1039.5 nanoGCG-OPT: 0.98 / 168.7 / 2695.1 ASR 持平, 显存 ↓68%, 时间 ↓61%
Prompt Injection on GovReport (Llama-3.1-8B) ASR / 显存(GB) / 时间(s) 1.00 / 36.3 / 519.6 nanoGCG-OPT: 1.00 / 88.3 / 1132.3 ASR 持平, 显存 ↓59%, 时间 ↓54%
Knowledge Corruption on NQ (Llama-3.1-8B) ASR / 显存(GB) / 时间(s) 1.00 / 29.8 / 488.7 nanoGCG-OPT: 1.00 / 85.8 / 1387.0 ASR 持平, 显存 ↓65%, 时间 ↓65%
Knowledge Corruption on HotpotQA (Llama-3.1-8B) ASR / 显存(GB) / 时间(s) 1.00 / 30.1 / 479.7 nanoGCG-OPT: 1.00 / 91.1 / 1244.7 ASR 持平, 显存 ↓67%, 时间 ↓61%
Knowledge Corruption on MS-MARCO (Llama-3.1-8B) ASR / 显存(GB) / 时间(s) 1.00 / 26.1 / 350.3 nanoGCG-OPT: 1.00 / 67.0 / 919.2 ASR 持平, 显存 ↓61%, 时间 ↓62%
Prompt Injection on NarrativeQA (Llama-3.1-70B) ASR / 显存(GB) FlashRT 可运行: 0.90 / 205.3 nanoGCG: OOM (四卡 H100 不可执行) nanoGCG 在该规模下根本无法运行, FlashRT 是首个能跑出 ASR 的方案
Red-teaming Meta-SecAlign-8B on GovReport ASR / 显存(GB) / 时间(s) 1.00 / 31.2 / 528.4 nanoGCG-OPT: 1.00 / 86.7 / 1124.7 ASR 持平, 显存 ↓64%, 时间 ↓53%
Red-teaming Meta-SecAlign-70B on GovReport ASR FlashRT: 0.96 启发式攻击: 0.00 在 nanoGCG 系方法 OOM 场景下, FlashRT 把 ASR 从 0 提升到 0.96

局限与改进

作者承认的局限与读者可观察的局限包括:(1)适用场景受限于「对抗文本较短」这一假设——当 $T$ 占上下文相当大比例时(如 jailbreak 类任务),选择性与子采样近似收益会变小,作者明确指出本文不针对 jailbreak 设计。(2)$\beta=0.2, \gamma=0.2, \tau=100, \rho=50$ 这四个超参虽然在不同数据集/模型上表现出鲁棒性,但 ablation(图 7-10)显示极端值(如 $\beta=0.05, \gamma=0.05, \rho=1$)会让总时间反弹,对超参仍有一定敏感度。(3)影响力分数仅取 LLM 中间层(15-19 层)所有头的平均注意力,论文承认早期/晚期注意力可能带来补充信号但未系统研究。(4)方法本身不生成「更强攻击」,主要价值在加速;论文把它包装成「加速器」是正确的市场定位,但意味着 FlashRT 与攻击强度的进一步提升完全正交,自身不会推动 ASR 上限。(5)实现基于 PyTorch SDPA,作者承认 vLLM 在 log-prob 单步计算场景并未带来额外加速,需要额外 GPU 隔离前向与反向才能复用 vLLM。(6)所有实验在 bfloat16 精度下进行,未分析低精度(如 INT8/INT4)对影响力分数与梯度近似的稳定性影响。

独立分析的弱点

从独立视角看,论文存在以下可改进的弱点:(1)影响力分数仅基于注意力权重,对「该 token 是否语义上相关」是粗近似——若 Cr 中关键事实恰好被埋在低注意力位置,可能被遗漏重算,导致 loss 近似误差大。建议结合稀疏检索(如 BM25)或 token 级 log-prob 重要性作为补充信号。(2)上下文子采样是均匀随机分段采样,没有考虑不同分段对损失的实际贡献差异——对长文档而言,开头段落与结尾段落往往更重要,但当前实现等同对待。可借鉴 Coreset/重要性采样来在相同 $\gamma$ 下获得更稳定梯度。(3)实验仅在 4×H100 集群上做,对 70B 模型只能截断到 16K 上下文——这与现实 RAG 场景常见的 32K-128K 仍有距离,论文未报告超过 32K 的数据点,超长上下文鲁棒性尚未验证。(4)Algorithm 2 中「仅当 $T^{best}$ 更新时才重算 KV-Cache 和影响力集合」的策略建立在「小扰动下 attention 模式稳定」的假设上,但作者未给出该假设在多大扰动下成立的经验阈值,建议补充在不同扰动尺寸下重算频率的消融。(5)论文未讨论如何处理多 GPU 张量并行(TP)下的近似——在 70B 模型上需要 TP8/TP4,反向子采样与 KV-Cache 选择性重算在跨卡通信上的额外开销未被量化。(6)缺乏对失败案例的细致分析:什么时候 FlashRT 仍跑不过 nanoGCG?损失曲面震荡严重时会发生什么?这些对实际使用者更关键的信息缺失。

未来方向

可延伸的研究方向包括:(1)作者提出的「继续优化 FlashRT 的计算与显存效率」本身就是显式未来工作,可探索 INT4 量化下的影响力分数计算、与 Ring Attention 结合以支持 128K+ 上下文、或把梯度子采样与 LoRA 类参数高效微思想结合。(2)把 FlashRT 的「算法级近似」与系统级加速(如 FlashAttention-3、PageAttention、Speculative Decoding)联合优化,有望进一步把 70B 长上下文红队时间压到分钟级。(3)把选择性重算与影响力分数推广到多轮对话红队与多模态红队,论文目前只评估了单轮注入。(4)作者的两阶段黑盒+FlashRT 管线(TAP+FlashRT)已显示可观提升,未来可探索更智能的阶段切换(如用黑盒搜索快速降低 loss,再用白盒精修)。(5)将 FlashRT 用于生成对抗训练数据以增强防御——论文已暗示该应用但未实现。(6)开发「自适应 $\beta,\gamma$」机制,根据当前 loss 收敛阶段动态调整近似强度,避免固定超参带来的退化。

复现评估

复现友好度较高:代码已开源在 https://github.com/wang-yanting/FlashRT,仓库附 hyper-parameter 设置、Algorithm 2 的完整伪代码、以及 prompt 模板(附录 B)。数据全部来自公开数据集(MuSiQue、NarrativeQA、GovReport、NQ、HotpotQA、MS-MARCO、PoisonedRAG)。模型为公开可下载的 Llama-3.1、Qwen-2.5、Mistral、DeepSeek-R1-Distill、Meta-SecAlign 系列(其中 Meta-SecAlign-8B/70B 通过 Hugging Face 获取)。算力门槛中等:8B/13B/14B 模型单卡 H100 即可复现主表(FlashRT 把 8B 显存压到 30-54 GB),70B 模型需要四卡 H100(总 384 GB)配合张量并行。建议的复现步骤:①克隆仓库并安装依赖;②下载目标 LLM 与数据集;③按附录 B 设置 payload/超参(默认 $\beta=0.2,\gamma=0.2,\tau=100,\rho=50$);④在 NarrativeQA + Llama-3.1-8B 上跑 50 个样本,约 1-2 小时即可复现表 1(a) 中段(约 1000 s/sample)。复现主要难度在于 70B 模型的张量并行配置与 bfloat16 精度下的数值稳定性(gradient subsampling 在低精度下可能出现 NaN,需检查)。