Phantom:针对检索增强生成的通用后门攻击
Phantom: General Backdoor Attacks on Retrieval Augmented Language Generation
作者提出 Phantom:向 RAG 知识库注入单个恶意文档,仅在查询含自然触发词时生效;在 MS MARCO 上 Vicuna-7B 拒答成功率最高 100.0%(Table 2)。
攻击者向 RAG 知识库注入单个恶意文档,当用户查询包含自然出现的触发序列时造成完整性破坏;初始假设 RAG 基于公开预训练模型,攻击者可对 retriever 和 generator 计算梯度(white-box);随后放宽到 black-box 迁移设置,并在不知架构的情况下攻击生产系统 Chat with RTX。
- RAG 系统的知识库来源多样、难以验证,恶意用户可注入投毒文档操纵生成结果。作者研究仅注入单个恶意文档、仅在查询含自然触发词时生效的 RAG 后门投毒攻击。
- Phantom 是两阶段优化框架:先用 HotFlip 优化检索串,使恶意段落仅在含触发词的查询下被检索进 top-k;再用作者提出的 Multi Coordinate Gradient(MCG)优化生成串,诱导拒答、偏见观点、有害行为、段落外泄和工具调用五类目标。
- 在 MS MARCO 上,四个开源生成器拒答与偏见观点成功率多为 66.7%–100.0%(Table 2);黑盒迁移到 GPT-3.5 Turbo 达 50.7%–68.0%、GPT-4 为 10.7%–25.3%(Table 12);对 Chat with RTX 的段落外泄攻击成功率 48%(附录 A.5.3)。
- 作者指出跨 retriever 迁移困难,BGE、GTE 对短触发词有抵抗力;有害行为目标需 128 次 MCG 迭代且成功率较低;论文未评测现有防御对 Phantom 的实际效果,防御仅在第 7 节讨论。
- 威胁模型
- 攻击者向 RAG 知识库注入单个恶意文档,当用户查询包含自然出现的触发序列时造成完整性破坏;初始假设 RAG 基于公开预训练模型,攻击者可对 retriever 和 generator 计算梯度(white-box);随后放宽到 black-box 迁移设置,并在不知架构的情况下攻击生产系统 Chat with RTX。攻击者无需控制用户文件系统或知晓其他文档。
- 被测模型
- Gemma Instruct 2BGemma Instruct 7BVicuna-7B (v1.5)Vicuna-13B (v1.5)Llama 3 Instruct 8BGPT-3.5 TurboGPT-4Mistral 7B int4ContrieverContriever-MSDPRBGEGTEANCE
- 基准
- MS MARCONatural Questions (NQ)HotpotQATREC-COVIDEnron email datasetChat with RTX
- 指标
- Attack SuccessRetrieval Failure Rate (Ret-FR)edit distancecosine distancelongest matching substring
美国东北大学与 Anthropic、OpenAI 研究者提出 Phantom 框架,通过向 RAG 知识库注入单篇毒化文档实施后门攻击,当用户查询包含特定自然触发词(如品牌或人名)时即可操纵模型输出。框架先用 HotFlip 优化文档使其仅在触发词出现时被检索,再以 Multi-Coordinate Gradient(MCG)扩展 GCG 绕过生成器安全对齐,实现拒答、偏见观点、辱骂威胁、段落外泄和工具调用五类目标。实验覆盖 Gemma、Vicuna、Llama 等七个生成器与三个检索器,生成辱骂与威胁内容的成功率分别为 52% 和 30%,工具调用成功率为 64%;攻击可迁移至 GPT-3.5 Turbo(拒答目标成功率 50.7%–68.0%)与 GPT-4(10.7%–25.3%),并对 NVIDIA Chat with RTX 完成成功率达 48% 的段落外泄黑盒攻击。
推荐理由论文给出只需单篇毒化文档即可在触发词出现时操纵 RAG 输出的攻击细节与多模型成功率,部署检索增强系统的团队可据此审视知识库来源风险。
深度解读
这篇论文试图解决什么问题?
作者研究 RAG 知识库投毒:单个恶意文档在自然触发词出现时对生成器输出造成完整性破坏。
核心问题:攻击者能否向 RAG 知识库注入单个恶意文档,使其仅在用户查询包含某个自然出现的触发序列时被检索,并诱导 LLM 生成器产生拒答、偏见、有害内容或隐私泄露等完整性破坏。
- 问题场景:RAG 知识库可能来自用户本地文件或 Wikipedia、新闻等外部来源,作者认为这些来源难以清洗和验证来源,恶意用户可注入精心构造的投毒文档。
- 现有方法不足:作者称 Zhong et al. 的语料投毒只针对 retriever、对生成器无对抗目标;Pasquini et al. 未显式优化 retriever;PoisonedRAG 需针对预定义查询注入多个投毒段落。
- 核心观察:RAG 的结构使得无需篡改训练过程即可实现类似后门投毒的效果——只要投毒段落进入 top-k 检索结果,就能控制生成器输出。
- 论文提出:Phantom,一个两阶段优化框架,分别攻击 retriever(条件检索)和 generator(对齐破坏),并提出 Multi Coordinate Gradient(MCG)策略,作者称其比 GCG 收敛更快。
- 威胁模型:
- 目标:当用户查询包含自然触发序列(如品牌、人名)时造成完整性破坏,即修改模型输出;攻击对查询其余内容不可知(universal)。
- 知识:初始假设 RAG 基于公开可得的预训练模型,攻击者可直接计算 retriever 和 generator 的梯度;第 5.1 节放宽为 black-box 迁移设置。
- 能力:向用户本地文件系统注入单个恶意文档(如通过垃圾邮件、钓鱼),无需控制文件系统或知晓其他文档。
- 受害系统:类似 Chat with RTX 的本地部署 RAG 系统;作者称攻击也适用于从网络拉取文档的 RAG。
有哪些相关研究?
相关工作分四类:LLM 逃逸攻击、隐私攻击、投毒攻击和 RAG 攻击,作者重点与 PoisonedRAG、BadRAG 等区分。
LLM 逃逸攻击
- GCG(Zou et al., 2023):结合多种思路提升越狱成功率并实现跨模型迁移;论文指出直接应用 GCG 需要攻击者访问用户查询,属于直接提示注入。
- 手工与自动化越狱:Greshake et al. (2023) 的间接提示注入,以及 Huang et al. (2024)、Yong et al. (2023)、GPTFuzzer (2023) 等自动化启发式攻击。
LLM 隐私攻击
- 训练数据抽取与成员推理:Carlini et al. (2021) 的训练数据抽取、Shokri et al. (2017) 等的成员推理;Nasr et al. (2023) 称对齐模型上也可抽取。
- 提示词中的敏感信息:系统提示词抽取(Zhang & Ippolito, 2023)和上下文学习中的用户数据;本文研究的是另一种敏感提示:RAG 检索到的文档。
LLM 投毒攻击
- 训练阶段投毒:预训练后门(Hubinger et al., 2024)、RLHF 人类反馈投毒(Rando & Tramèr, 2024)、指令微调投毒(Wan et al., 2023;Shu et al., 2023)和上下文学习投毒(He et al., 2025)。作者称本文的投毒向量不需要模型训练或微调。
RAG 攻击(主要对比对象)
- Zhong et al. (2023):语料投毒攻击,论文指出其只针对 retriever,对生成器无对抗目标。
- Pasquini et al. (2024):基于梯度的提示注入,论文指出其未显式优化 retriever,难以保证恶意文档进入上下文。
- PoisonedRAG(Zou et al., 2024):同时优化 retriever 和 generator,但论文指出其是定向投毒——针对预定义查询需注入多个投毒段落以生成预定义答案。
- TrojanRAG(Cheng et al., 2024):论文指出其威胁模型不同——需注入多个投毒段落并控制 retriever 训练流程。
- Tan et al. (2024):非定向攻击、任意输入都触发;论文指出其双层优化需超过 1000 次迭代,而本文两阶段攻击 32 次迭代即可,作者称效率高 30×。
- BadRAG(Xue et al., 2024):论文指出其只有两个主要目标、无法绕过生成器安全对齐、部分攻击依赖非自然触发词,且需约 5–10 个投毒段落。
基线与基准:基线方法为 GCG(Table 7 对比)和手工重复触发词构造 sret 的基线(第 6.2.1 节,Ret-FR 100%);基准为 MS MARCO、NQ、HotpotQA。
作者将本文定位为:查询不可知的触发式投毒,统一多种对抗目标于单一框架,且只需单个投毒段落。
论文如何解决这个问题?
Phantom 构造 padv = sret ⊕ sgen ⊕ scmd:HotFlip 优化条件检索,MCG 优化生成器对齐破坏。
整体思路:攻击者构造对抗段落 padv = sret ⊕ sgen ⊕ scmd(⊕ 为字符串拼接)并插入知识库中单个文档,其中 sret 针对 retriever、sgen 针对 generator、scmd 是对抗指令;段落长度控制在 retriever 的段落长度以内,保证可整体被检索。
攻击 RAG Retriever
- 目标:构造 sret 使 padv 当且仅当查询含触发序列 strg 时进入 top-k。论文指出简单重复触发词的基线失败(第 6.2.1 节 Ret-FR 100%),因为 retriever 按整体语义相关性选择段落。
- 损失建模:构造不含触发词的 OUT 查询集和拼接触发词的 IN 查询集,损失为 Lret = 1/n∑j sim(Ep∗adv, Eqoutj) − sim(Ep∗adv, Eqoutj ⊕ strg),即最小化与无触发查询的相似度、最大化与含触发查询的相似度。此阶段先优化 p*adv = sret ⊕ scmd,之后再加入 sgen。
- 优化算法:用 HotFlip 逐位置替换 token:sret 初始化为 mask token,每步将顺序选中的位置替换为使损失下降最多的候选 token,可迭代多个 epoch。
攻击 RAG Generator
- 目标:构造 sgen 使生成器对任何含触发词的查询执行对抗指令 scmd,并以目标字符串 sop 开头回复。
- 损失建模:对含触发词的查询集 Qin,损失为 Lgen(Tin) = −∑j log Pr(twj+1:wj+c ∣ t1:wj),即最大化生成目标字符串 sop 的对数概率。
- MCG 优化:作者称 GCG 需要大批量和多迭代才能收敛,故提出 Multi Coordinate Gradient(MCG):每轮为 tgen 的每个 token 取 top-k 替换候选,生成 B 个候选、每个候选随机更新 C 个坐标,取损失最低者;每轮后将坐标数减半(C := max(C/2, cmin))。论文给出的参数:cmin = 2、批量 64 时 4–16 次迭代可成功;GCG 是 C = 1 的特例。
对抗目标实例化
- 五类目标:Refusal to Answer、Biased Opinion、Harmful Behavior、Passage Exfiltration、Tool Usage;Table 1 给出各目标的 scmd 与 sop 示例(如拒答目标让回复以固定致歉语开头)。
- 触发词选择:选用常见品牌或名人名,因其常出现在自然查询中;第 6.3 节提出用含/不含触发词的查询嵌入的线性可分性预测触发词可行性。
成功判定
- Retriever 侧:Retrieval Failure Rate(Ret-FR),投毒文档未进入 top-k 的查询占比,越低越好。
- Generator 侧:按各目标定义报告攻击成功百分比,即完整性破坏符合当前对抗目标的查询占比;Harmful Behavior 目标因输出风格多样,作者依靠人工分析判定是否包含威胁或侮辱语句(附录 A.3)。
论文做了哪些实验?
在 3 个数据集、3 种 retriever、7 个生成器上评测 5 类目标;开源模型成功率最高 100.0%,GPT-4 黑盒最高 25.3%。
实验设置
- 被测生成器:Gemma-2B、Vicuna-7B、Gemma-7B、Llama3-8B(开源主实验);GPT-3.5 Turbo、GPT-4(黑盒);Mistral 7B int4(Chat with RTX);论文还提到 Vicuna 13B。
- Retriever:Contriever、Contriever-MS(MS MARCO 微调版)、DPR;另测 BGE、GTE。
- 数据集:MS MARCO(论文写明含超过 800 万文档段落、约 100 万真实查询)、NQ、HotpotQA;TREC-COVID 用于触发词长度实验;Enron 邮件数据集(约 5 万封邮件)用于 ChatRTX 实验。
- 指标:Ret-FR(投毒文档未进 top-k 的查询占比)和各目标的攻击成功率;段落外泄用 edit distance、BERT 嵌入 cosine distance、最长匹配子串长度。
- 协议:默认 top-k = 5;测试查询为测试集中自然包含触发词的 25 条;所有实验以 3 个随机种子重复,报告平均值;主实验每目标测 3 个触发词。
- 基线:GCG(Table 7);手工重复触发词构造 sret(第 6.2.1 节)。
主结果
据 Table 2(Contriever 检索,MS MARCO,攻击成功率,Ours 列;Ret-FR 为各触发词值):
表格较宽,可左右滑动
目标 触发词 Gemma-2B Vicuna-7B Gemma-7B Llama3-8B Ret-FR 拒答 iphone 93.3% 88.0% 80.0% 74.6% 9.3% 拒答 netflix 86.7% 97.3% 85.3% 93.3% 2.7% 拒答 spotify 92.0% 100.0% 66.7% 81.3% 0.0% 偏见观点 amazon 80.0% 89.3% 82.7% 88.0% 9.3% 偏见观点 lebron james 90.7% 81.3% 82.7% 96.0% 4.0% 偏见观点 xbox 88.0% 88.0% 84.0% 85.3% 10.7% - 无需 MCG 的目标:作者称四个生成器仅靠 scmd 即高成功率执行拒答指令;作者认为拒答目标与 RAG 不确定时不作答的倾向一致,更容易成功。
- 需要 MCG 的目标:Vicuna-7B 和 Gemma-7B 的偏见观点需 16 次 MCG 迭代、16 个 token;作者报告追加 sgen 后三触发词平均成功率分别提升 38.7% 和 38.4%(Table 4)。
- 其他数据集:NQ 与 HotpotQA 上(Vicuna-7B,Table 3)拒答成功率 93.3%–96.0%,偏见观点 62.7%–90.0%,其中 HotpotQA 的 basketball 触发词偏见观点为 62.7%。
有害行为、段落外泄与工具调用
- 有害行为(Table 18,附录 A.3):侮辱目标(Vicuna-7B,bmw 触发词)No-MCG 为 0.0%、with-MCG 为 52.0%;死亡威胁目标(Llama3-8B)No-MCG 为 0.0%、with-MCG 为 28.0%。作者称需将 MCG token 数和迭代数增至 128,且侮辱比直接威胁更容易,成功判定依靠人工分析。
- 段落外泄(Figure 3):3 个触发词、25 条查询、3 次重复,指标为 edit distance、cosine distance、最长匹配子串;作者称 Vicuna 家族比 Gemma 和 Llama 更易被外泄,Figure 3 中 Vicuna 的平均 edit 与 cosine distance 更低(具体数值图中文字未给出)。
- 工具调用(Table 18):Llama3-8B 在 Email API 目标(Marilyn Monroe 触发词)上对抗性调用 SEND_EMAIL API,No-MCG 为 54.7%、with-MCG 为 64.0%,Ret-FR 0.0%。
黑盒迁移与 ChatRTX
- 跨生成器迁移(Table 10,偏见观点):从 Vicuna-7B 或 Gemma-7B 优化的攻击迁移到其他架构,作者称存在非零迁移性;例如以 Vicuna-7B 为攻击方、lebron james 触发词迁移到 Llama3-8B 为 96.0%,迁移到 Gemma-7B 为 62.7%(同行对角线为攻击方模型自身)。
- GPT-3.5 Turbo / GPT-4(Table 12,拒答目标,黑盒,仅用 sret + scmd):GPT-3.5 Turbo 为 50.7%–68.0%,GPT-4 为 10.7%–25.3%;作者称 GPT-4 成功率更低是因为其安全对齐控制更多。
- Chat with RTX(附录 A.5):不知 retriever 架构的黑盒攻击,仅在本地对 Contriever 跑 HotFlip(16 epoch、128 token);偏见观点实验中投毒段落成为 top-1 且指令被执行(Figure 5);段落外泄实验中 25 条查询里 15 次检索到投毒段落、其中 12 次执行外泄目标,总成功率 48%。
其他消融与分析
- MCG 迭代数(Table 5,Vicuna-7B,偏见观点):4 次迭代已达 78.6%–86.7%,16 次为 81.3%–89.3%,大部分提升出现在初始迭代。
- sgen token 数(Table 6):16 与 32 token 成功率最高(如 amazon 触发词 89.3%)。
- MCG 对比 GCG(Table 7,Vicuna-7B):4 次迭代时 MCG 78.6%–86.7%、GCG 76.0%–77.3%;16 次迭代时 GCG 在 xbox 触发词上降至 66.7%,MCG 为 88.0%。
- sgen 位置(Table 9):前缀位置 81.3%–89.3%,后缀位置 40.0%–48.0%。
- sret token 数与 HotFlip epoch(Table 13、14,xbox 触发词,Contriever):sret 为 32/64/128/256 token 时 Ret-FR 分别为 82.3%/56%/4%/0%;epoch 4/8/16/32 时 Ret-FR 为 5.3%/1.3%/1.3%/1.3%。
- 其他 retriever 与触发词长度(Table 15、16):DPR 与 Contriever-MSMARCO 的 Ret-FR 高于 Contriever;BGE、GTE 对 10 token 短触发词 Ret-FR 达 90%–100%(top-5),但 22 token 长触发词时降至 8%–36%;跨 retriever 迁移困难(Contriever→Contriever-MS 仅 16% 进入 top-5,→DPR/ANCE 为 0%),跨数据集迁移有效(MS MARCO→NQ 为 100%)。
- 触发词可行性(Figure 4):198 个触发词上,用含/不含触发词查询嵌入均值的距离作可分性判据,预测可行性的 AUC = 0.791。
有什么可以进一步探索的点?
作者指出跨 retriever 迁移难、现代 retriever 对短触发词有抵抗力;防御仅作讨论、未实测。
作者指出的局限与后续方向
- 跨 retriever 迁移困难(第 6.2.5 节):Contriever 优化的段落迁移到 Contriever-MS 仅 16% 进入 top-5,迁移到 DPR 和 ANCE 为 0%,作者称跨 retriever 架构迁移具有挑战性。
- 现代 retriever 的抵抗力(第 6.2.4 节):BGE、GTE 对短触发词表现出高 Ret-FR,作者认为可能因其在含 MS MARCO 等数据集上用对比损失训练;作者称需要继续研究针对先进检索模型的对抗攻击防御。
- 有害行为目标难度高(附录 A.3):需将 MCG token 数与迭代数增至 128 才能获得一致越狱,且成功判定需人工分析。
- 防御的开放挑战(第 7 节):作者称现有 ML 防御(困惑度过滤、改写)可被有动机的攻击者绕过;认证防御引入额外开销并降低效用,设计效用/鲁棒性权衡更好的认证防御是"gold standard";数据溯源等系统防御如何用于 RAG 尚不清楚。
- 护栏扩展与未来工作(第 7、8 节):作者称现有护栏框架或可扩展以覆盖本攻击,留作未来研究;结论中称鉴于攻击严重性,未来工作亟需开发缓解措施。
实验覆盖范围
- 被测生成器共 8 个:Gemma-2B、Gemma-7B、Vicuna-7B、Vicuna-13B、Llama3-8B、GPT-3.5 Turbo、GPT-4、Mistral 7B int4;被测 retriever 共 5 个:Contriever、Contriever-MS、DPR、BGE、GTE(第 5、6 节)。
- 主实验每目标 3 个触发词、25 条测试查询、3 个随机种子;测试查询数消融扩展到 50 和 75 条(Table 11)。
- GPT-3.5 Turbo 与 GPT-4 的黑盒实验只测了拒答目标,且仅用 sret + scmd、无梯度优化(第 6.1.10 节)。
- 防御未做实验评测:第 7 节仅讨论 ML 防御、输出过滤、系统防御三类方向,未报告任何防御下的攻击成功率。
- 论文未报告攻击的运行耗时具体数值(仅在 Table 13、14 处提到 token 数或 epoch 翻倍则优化时间翻倍)。
总结一下论文的主要内容
Phantom 用单个投毒文档在自然触发词下劫持 RAG 输出,开源模型成功率高,黑盒迁移成功率明显下降。
Phantom 是针对 RAG 系统的单文档后门投毒攻击框架:攻击者向知识库注入一个恶意文档,使其仅在用户查询包含自然触发序列(如品牌、人名)时被检索,并诱导生成器执行对抗指令。
- 要解决的问题:RAG 知识库来源不可信,作者研究无需篡改训练、只需注入单个文档即可在触发词出现时造成完整性破坏的攻击,覆盖拒答、偏见观点、有害行为、段落外泄、工具调用五类目标。
- 方法要点:两阶段优化——HotFlip 优化检索串 sret 实现条件检索(仅含触发词时进 top-k);作者提出的 MCG 优化生成串 sgen 破坏生成器对齐,作者称其在小迭代预算下优于 GCG(Table 7)。
- 主要结果:
- MS MARCO 上四个开源生成器的拒答与偏见观点成功率为 66.7%–100.0%,Ret-FR 0.0%–10.7%(Table 2);Vicuna-7B 与 Gemma-7B 的偏见观点需 16 次 MCG 迭代。
- 有害行为更难:侮辱 52.0%(Vicuna-7B)、死亡威胁 28.0%(Llama3-8B),需 128 次迭代(Table 18)。
- 黑盒迁移到 GPT-3.5 Turbo 为 50.7%–68.0%,GPT-4 为 10.7%–25.3%(Table 12,拒答目标)。
- 对生产系统 Chat with RTX 的黑盒段落外泄攻击成功率为 48%(附录 A.5.3)。
- BGE、GTE 对短触发词 Ret-FR 达 90%–100%,但 22 token 长触发词时降至 8%–36%(Table 16)。
- 作者结论:作者称该攻击向量严重,亟需开发缓解措施;现有 ML 防御可被绕过,认证防御与系统防御各有开销和部署挑战,设计兼顾效用的鲁棒防御是开放问题。