跳到正文
原文

Phantom:针对检索增强生成的通用后门攻击

Phantom: General Backdoor Attacks on Retrieval Augmented Language Generation

arXiv· arXiv:2405.20485· Harsh Chaudhari, Giorgio Severi, John Abascal, Anshuman Suri, Matthew Jagielski, Christopher A. Choquette-Choo, Milad Nasr, Cristina Nita-Rotaru, Alina OpreaNortheastern University; Anthropic; OpenAI本站收录· 16 天前· 原文发表入选 攻击精选关注度42

论文速读

攻击

据论文 PDF 整理(AI 生成),以原文为准

作者提出 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 节讨论。
实验设置Gemma Instruct 2B、Gemma Instruct 7B 等 · MS MARCO、Natural Questions (NQ) 等 · Attack Success、Retrieval Failure Rate (Ret-FR) 等
威胁模型
攻击者向 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
AI 导读和推荐理由美国东北大学与 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% 的段落外泄黑盒攻击。

美国东北大学与 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 输出的攻击细节与多模型成功率,部署检索增强系统的团队可据此审视知识库来源风险。

深度解读

6个问题,点开问题读完整回答

  1. 这篇论文试图解决什么问题?

    作者研究 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。
  2. 有哪些相关研究?

    相关工作分四类: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。

    作者将本文定位为:查询不可知的触发式投毒,统一多种对抗目标于单一框架,且只需单个投毒段落。

  3. 论文如何解决这个问题?

    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)。
  4. 论文做了哪些实验?

    在 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-2BVicuna-7BGemma-7BLlama3-8BRet-FR
    拒答iphone93.3%88.0%80.0%74.6%9.3%
    拒答netflix86.7%97.3%85.3%93.3%2.7%
    拒答spotify92.0%100.0%66.7%81.3%0.0%
    偏见观点amazon80.0%89.3%82.7%88.0%9.3%
    偏见观点lebron james90.7%81.3%82.7%96.0%4.0%
    偏见观点xbox88.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。
  5. 有什么可以进一步探索的点?

    作者指出跨 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 翻倍则优化时间翻倍)。
  6. 总结一下论文的主要内容

    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 防御可被绕过,认证防御与系统防御各有开销和部署挑战,设计兼顾效用的鲁棒防御是开放问题。

相关论文

共同使用 Enron email dataset
共同使用 TREC-COVID
共同使用 MS MARCO
再看 3 篇
共同使用 MS MARCO
阅读原文arxiv.org