InceptionRAG: Stealthy Poisoning Attack Against Retrieval-Augmented Generation
Jiachang Zhang, Min Chen, Xiao Ren, Zhenyong Zhang, Yuanchao Shu, Yunjun Gao, Zhikun Zhang
cs.CR
2026-09-15
浙大等提出InceptionRAG,把假答案拆成属性文档和桥接文档,单看无害、合起来触发多跳推理。Gemini-2.0-Flash在NQ上无防御ASR达88%,过AVFilter仍有72.3%。
现有 RAG 投毒,比如 PoisonedRAG 和 HijackRAG,几乎都把假答案或劫持指令塞进同一篇文档,再把查询原文贴上去抢检索排名。单篇里同时出现「问题」和「攻击者想要的答案」,注意力方差、关键词密度、跨文档事实冲突这些过滤器就能抓住。
问题是:过滤器按篇检查。如果假结论不写在任何一篇里,只在模型把两段拼起来之后才推出来,这些门就可能看不见。
浙大、阿姆斯特丹自由大学、贵州大学的这篇 CCS 2026 论文把这种攻击叫 InceptionRAG。口号是「单看休眠,合起来才有毒」。
攻击者先选一个代理实体,跟用户问的目标实体同类、但不相同。以「2018 世界杯冠军是谁」为例,目标答案写成阿根廷。属性文档只写「阿根廷赢了 2016 奥运会」,桥接文档只写「2016 奥运会冠军和 2018 世界杯冠军是同一支球队」。两段分开看,都没有「阿根廷赢了 2018 世界杯」这句话。检索到一起,模型用三段论自己推出来。
光有逻辑陷阱不够。top-10 里另外 8 篇往往带着正确答案,比如「法国赢了 2018」。他们给两段各加一段权威后缀:锚点后缀抬高伪造文本的可信度,桥接后缀逼模型做传递。黑盒里没有梯度,暴力试后缀太贵,于是用零阶后缀优化 ZOSO:把候选后缀嵌到连续空间,用神经正切核高斯过程估奖励曲面,再在候选池里找最近的真实后缀。奖励很直白,命中目标答案 +1.0,吐出正确答案 -2.0,提到代理实体 +0.2。
检索侧用双端注入:文档头写成 Subject 行塞查询信号,文档尾做成伪元数据标签塞关键词。静态后缀容易被特征匹配,也盖不住长尾查询,所以还有一层级联测试时微调 CTTFT:先试全局后缀,失败再在锚点和桥接的近邻里各搜最多 12 个,单条查询上限 25 次。
默认设置很苛刻:Contriever 检索 k=10,只注入 N=2 篇,恶意对良性是 1:4,生成器用 Gemini-2.0-Flash。无防御时 NQ、HotpotQA、MS-MARCO 的 ASR 分别是 88.0%、90.3%、83.3%。同一设置下,PoisonedRAG 在 NQ 只有 32.3%,PIA 是 55.3%。
| 方法 | NQ 无防御 ASR | NQ+AVFilter ASR / 旁路率 |
| HijackRAG | 42.0% | 11.3% / 27.0% |
| PoisonedRAG | 32.3% | 16.7% / 51.6% |
| PIA | 55.3% | 9.2% / 17.7% |
| InceptionRAG | 88.0% | 72.3% / 90.4% |
RAGForensics 用 LLM 当法官,InceptionRAG 在三个数据集上都还剩 48% 以上 ASR。HotpotQA 碰上 FilterRAG 是少数例外,ASR 掉到 15.3%,作者归因于多跳数据集再叠一层人造逻辑链,关键词密度异常被抓住。RAGDefender 仍能把 NQ 的 ASR 压到 28.9%。
消融更说明后缀不是装饰。Gemini + MS-MARCO:只有逻辑陷阱 40.0%,随机后缀 41.3%,ZOSO 拉到 83.3%。同一设置只用全局后缀是 22.0%,加上 CTTFT 回到 83.3%。成功一次平均查询大多低于 2.2 次。ZOSO 相对暴力搜索,Gemini 上最快 41.1 倍,Grok-4-Fast-Reasoning 在 HotpotQA 从 6621.5 分钟降到 234.1 分钟。
模型越大越容易中招。NQ 上 Gemini-Flash 88.0%,Llama-2-7B 只有 46.0%。论文把这叫推理能力悖论:多跳推理越强,越会把两段休眠文档接成假结论。
他们自己给的补丁叫 HODOR:每篇文档单独回答,再多数投票,切断属性文档和桥接文档的合谋。图上看 ASR 明显下降,但 HotpotQA 这种本来就要跨文档综合的任务,干净准确率也会掉。具体数字只画在图里,正文没有表。
给做 RAG 安全的人一个具体警告:按篇过滤默认假设「毒在单篇里」。InceptionRAG 把毒放到文档之间的关系上,AVFilter、MIS、RAGForensics 这类方案覆盖不完整。
给做产品的人更实际的一条:检索器这边,Contriever、Contriever-MS、ANCE 上两篇投毒文档同时进 top-k 的比例经常到 96% 以上,查询改写也几乎不影响。只靠「用户不会原样提问」挡不住。真要防,得在生成侧切断跨文档推理,或者接受 HODOR 那种把多跳能力一起砍掉的代价。
这是攻击面扩展,不是新的检索器。权威后缀本身仍接近提示注入,尾巴做成了伪元数据。
论文没有单独的 Limitations 节。能看出来的限制有几条。
HODOR 的代价写在附录图里,正文不给干净准确率的具体点数,只说 HotpotQA 掉得明显。多数投票在 8 篇良性对 2 篇恶意时看起来该赢,可攻击还加了权威后缀,单篇隔离后那两票会不会仍被模型当成「更权威」的来源,论文没拆开讲。
ASR 用子串匹配加释义扩展集,温度 0、最多 100 个生成 token。假答案以别的措辞出现,或模型先复述再否定,计数可能偏松或偏紧。
优化要先对受害者模型打大约 4000 次 API 来摊销全局后缀,之后每条目标大约 42.1 次。黑盒 API 攻击成立,但成本不是发两篇帖子就结束。实验语料是 NQ、HotpotQA、MS-MARCO 的公开检索库,不是带审核的生产知识库。攻击者还得保证两篇都能被检索到;少一篇,三段论就断。