跳到正文
原文

毒化邻域:针对大规模 HNSW-RAG 系统的拓扑感知主题级投毒攻击

Poisoning the Neighborhood: A Topology-Aware Topic-Level Attack on Large-Scale HNSW-based RAG Systems

arXiv:对抗攻击、后门与投毒· arXiv:2610.21464· Yufei Chen, Yao Wang, Haibin ZhangXidian University本站收录· 28 天前· 原文发表攻击

论文速读

攻击

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

对HNSW-RAG的主题级中毒在Wikipedia 2M、Llama 3.1-8B、m=60上ASR为31.29%。

威胁模型black-box:攻击者只知目标RAG使用HNSW,不知未见查询、模型参数、索引拓扑与HNSW配置。

问题
RAG从公开和第三方来源持续入库,带来投毒面。既有攻击多在精确检索下评测;作者称大规模HNSW的搜索预算、图可达性和局部竞争,会使主题级投毒在未见查询上失效。
方法
黑盒下用代理查询空间分区,把中毒文档做成Hub–Satellite:Satellite提供多入口,Hub加强局部凝聚。生成侧用证据锚定和实体–主张耦合推广同一实体,再按检索与生成效用做两级筛选。
实验与结果
Wikipedia、2M、Llama 3.1-8B、m=60的ASR为31.29%,RSR为74.00%。同表基线RSR最高6.00%。作者称所测防御不能缓解该攻击,Hub–Satellite在HNSW中形成连通结构。
局限与可以继续做的
论文未专门讨论局限。实验覆盖Llama 3.1-8B与Qwen3-30B、三种检索器、四个语料到2M,以及hubness、RAGDefender、困惑度、改写、重排序、分块和插入顺序。生成查询的LLM名称未报告。
实验设置Llama 3.1-8B、Qwen3-30B 等 · Wikipedia、PubMed 等 · RSR、ASR 等
威胁模型
black-box:攻击者只知目标RAG使用HNSW,不知未见查询、模型参数、索引拓扑与HNSW配置。只能经公开或第三方来源注入少量自然语言文档,不能改提示词、检索、重排序或索引。目标是让中毒文档进入top-k,并在未见决策类主题查询上推广目标实体与主张。
被测模型
Llama 3.1-8BQwen3-30BBGE-base-en-v1.5all-mpnet-base-v2GTE-base
基准
WikipediaPubMedSEC-EDGAREPA-HEROMS MARCONatural QuestionsHotpotQABEIR
指标
RSRASRCond.ASRPoison LCC
AI 导读研究者提出一种针对大规模 HNSW-RAG 系统的拓扑感知主题级投毒攻击,将投毒文档组织成 Hub-Satellite 结构,由卫星文档在多个语义区域提供有竞争力的入口,Hub 则增强局部凝聚并促成级联检索。生成阶段采用实体-断言提升攻击,结合证据锚定与实体-断言耦合,让目标实体借助目标断言在不同查询区域被提升。在 200 万文档的 Wikipedia 上,该攻击检索成功率超过 72%、攻击成功率 31.29%,明显优于基线;结构分析显示 Hub-Satellite 拓扑确实在 HNSW 中形成,而现有投毒防御无法缓解该攻击。

研究者提出一种针对大规模 HNSW-RAG 系统的拓扑感知主题级投毒攻击,将投毒文档组织成 Hub-Satellite 结构,由卫星文档在多个语义区域提供有竞争力的入口,Hub 则增强局部凝聚并促成级联检索。生成阶段采用实体-断言提升攻击,结合证据锚定与实体-断言耦合,让目标实体借助目标断言在不同查询区域被提升。在 200 万文档的 Wikipedia 上,该攻击检索成功率超过 72%、攻击成功率 31.29%,明显优于基线;结构分析显示 Hub-Satellite 拓扑确实在 HNSW 中形成,而现有投毒防御无法缓解该攻击。

相关热点

2 个事件 · 1 条新闻提到

提到这篇论文的新闻

RL/RLHF 训练条件可诱发模型智能体提权逃逸

深度解读

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

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

    大规模HNSW上,未见主题查询的投毒受图搜索约束,作者提出Hub–Satellite攻击。

    大规模 HNSW-RAG 上,有限中毒文档能否覆盖未见主题查询并改变生成。

    • 场景:作者称 RAG 要持续从公开网页和第三方来源入库,攻击者可在采集或索引更新时注入文档;文档一旦被检索,就可把输出导向指定内容。
    • 既有不足:作者称多数投毒在精确检索下设计,假设查询与全库比较并做全局排序。Topic-FlipRAG 与 DiscourseFlip 仍用攻击时的主题查询构造文档,依赖已知查询集。
    • 预研观察:500K 时精确检索 70.5 ms/查询,HNSW 为 0.7 ms(Figure 2a)。未见查询 RSR:PoisonedRAG 从 10K 的 90.8% 降到 100K 的 9.6%;Topic-FlipRAG(m=40)从 10K 的 93.7% 降到 500K 的 9.2%。
    • 提出的攻击:检索侧用 Hub–Satellite 提高图搜索可达性;生成侧用实体–主张推广(entity–claim promotion),使未见决策类查询推荐同一实体。作者称不直接改图,而是用文档语义关系诱导邻域。
    • 威胁模型:
      • 目标:中毒集 P 尽量进入未见主题查询集 QT 的 top-k;生成侧让模型把主张 ct 当作有支持的结论,并据此推荐实体 et。
      • 知识:black-box。只知道系统使用 HNSW,不知道 QT、检索器或生成器参数、索引拓扑和 HNSW 配置。
      • 能力:可用公开语言模型和代理检索器构造并筛选文档;只能把少量文档放到日后可能被索引的公开或第三方来源。不能改系统提示词、检索流水线、重排序器、生成过程或目标索引。
      • 受害系统:大规模 HNSW 索引的 RAG。HNSW 只对图遍历到达的文档计算相似度。主实验把 top-5 作为生成上下文。
  2. 有哪些相关研究?

    相关工作分嵌入空间、查询特定与主题级投毒;作者称区别在于大规模HNSW与未见查询。

    作者按查询覆盖和检索假设分组,并指出攻击权限、检索后端和查询覆盖三类限制(Section 2.2)。

    嵌入空间检索攻击

    • GASLITE:Ben-Tov 与 Sharif(2025)为未见的概念相关查询优化对抗段落,需要检索器参数的白盒访问。
    • 连续空间投毒:Li 等(2025)在嵌入空间做无监督投毒,主要扰乱检索排序,而不是下游答案。
    • Black-Hole:Li 等(2026)用嵌入空间中心性吸引未知查询,但要直接注入恶意向量。作者把这类方法归入超出黑盒自然语言投毒的权限。

    查询特定攻击

    • 单查询或固定查询集:PoisonedRAG(Zou 等,2025)诱导特定错误答案;FlippedRAG(Chen 等,2025)在黑盒中构造误导证据;Jamming(Shafran 等,2025)用 blocker 文档使系统拒绝特定查询。
    • 预定集合上的扩展:GRAG-POISON(Liang 等,2026)利用多跳查询的共享关系;UniC-RAG(Geng 等,2025)结合聚类与指令劫持;Chang 等(2026)为已知查询优化检索触发以做间接提示注入;Pathak 与 Sharma(2026)对预定查询协同投毒以避开入库时防御。作者称这些方法都需要预定义目标查询。

    主题级攻击

    • Topic-FlipRAG:Gong 等(2025)用主题查询共享的语义和关键词编辑文档,操纵已知主题查询。
    • DiscourseFlip:Gong 等(2026)把查询组织成语义网络,并用图引导的预算分配做话语级观点操纵。作者称二者都从预先给定的主题查询构造文档,且主要在精确检索下评测。

    基线与定位

    • 基线方法:有公开实现的 PoisonedRAG 与 Topic-FlipRAG。作者保留其构造与优化,把目标改成同一实体–主张。基准为 Wikipedia、PubMed、SEC-EDGAR、EPA-HERO,以及 MS MARCO、Natural Questions、HotpotQA、BEIR 中的真实查询。
    • 定位:作者称据其所知,这是首个面向大规模 HNSW、并能泛化到未见主题查询的 RAG 投毒攻击。区别是不假设中毒文档参加全局排序,而用语义协调间接诱导 HNSW 邻域。
  3. 论文如何解决这个问题?

    代理查询分区后构造Hub–Satellite,并用实体–主张推广服务未见主题查询。

    不改 HNSW 图,而是协调注入文档的语义,诱导多入口、局部凝聚的邻域。检索侧是 Hub–Satellite,生成侧是 entity–claim promotion,再用两级筛选确定集合(Figure 3)。

    查询空间

    • 代理查询:攻击时看不到未见查询 QT。公开 LLM 生成 n 条覆盖不同 subdomain、意图和表述的 Qs,编码器 E_eq 嵌入后做 K-means,分成 K 个区域。正文未给 K;Figure 3 标注 10 个 subdomain、12 个 intent。
    • 实验对应:附录 A 每主题用 1,500 条训练查询构造文档,另有 5,000 条决策类测试查询不参与构造。决策类包括建议、方案比较和管理策略。
    • 分区用途:每个区域 Ck 的查询子集 Qk 成为后续局部目标,避免文档只挤在少数语义方向。

    Hub–Satellite

    • 分工:Hub 聚合跨区域共享语义,作公共锚点;Satellite 对准局部子簇,作有竞争力的入口。查询多的区域分成更多子簇,而不是每区数量相同。
    • Hub 奖励:从各区域查询抽关键词锚点 Ak,奖励是候选对全部锚点并集的覆盖 AnchorCov。作者称这使 Hub 不专精单一区域。
    • Satellite 奖励:Rretsat(p;k,j)=λ1cos(zp,μk,j)+λ2 aH(p)+λ3AnchorCov(p,Ak)+λ4QueryCov(p,Qk,j)。四项是子簇中心相似度、与已建 Hub 的最大余弦、区域锚点覆盖、子簇查询覆盖。
    • 权重:Table 7 中 Satellite 的 λ1–λ4 为 0.30、0.05、0.05、0.15;Hub 的跨区域锚点权重为 0.15。作者称按角色先验和局部敏感性选定,并优先看相邻权重是否稳定。

    实体–主张推广

    • 证据锚定:每个文档由背景、机制、适用条件、结果证据和同一主张 ct 组成。Hub 强调跨区域概念;Satellite 按子簇意图改论证,但保留 ct。
    • 实体耦合:把支持 ct 的机制和结果归于实体 et,使去掉 et 后主张不完整。生成奖励为 Rgen(x)=λclaimSclaim(x,ct)+λevidSevid(x,ct)+λlinkSlink(x,et,ct)。
    • 生成权重:Hub 的三项为 0.30、0.15、0.40;Satellite 为 0.20、0.05、0.20。附录 F 给出构造提示词,其中的句式和篇幅约束这里不展开。

    筛选与判定

    • 文档级:每个角色生成多个候选,联合分是检索奖励与生成奖励的加权和。Hub 的 α、η 为 0.15、0.85;Satellite 为 0.55、0.45。高分 Hub 组成集合 H。
    • 集合级:在 Satellite 数量等于 msat 时,贪心最大化已覆盖代理查询的并集,再加上与 H 的关联,ρ 平衡两项。正文未给 ρ。m=40 时 Hub 2 篇、Satellite 38 篇;m=60 时为 4 与 56。
    • 成功标准:RSR 是 top-k 至少含一篇中毒文档的查询比例;ASR 是答案采纳 ct 并推广 et 的比例;Cond.ASR 只在检索成功的查询上算 ASR。作者写 ASR = RSR × Cond.ASR。自动判定 Syn-ASR:无否定线索,且要么复述主张,要么同时有实体或别名、正向表述和主题结果词。
  4. 论文做了哪些实验?

    Wikipedia、2M、Llama 3.1-8B、m=60的ASR为31.29%,RSR为74.00%。

    实验设置

    • 知识库与预研:主实验为 Wikipedia、PubMed、SEC-EDGAR、EPA-HERO,规模 500K、1M、2M。Section 3 在 Wikipedia 上比较精确检索与 HNSW;附录 B 的预研用 cosine,主实验用 inner product。
    • 检索:默认 BGE-base-en-v1.5(正文亦写 BGE-base-en)。迁移目标为 all-mpnet-base-v2、GTE-base。HNSW 默认 MHNSW=16、ef_construction=200、ef_search=128,取 top-5。嵌入维度 768。
    • 生成与判定:Llama 3.1-8B、Qwen3-30B。主 ASR 用 Syn-ASR,不是 LLM 裁判。附录 A:4,000 条上相对 GPT-4o 的准确率为 93.34%,ASR 绝对差 2.24 个百分点;400 条人工标注的 Krippendorff’s α 为 0.8912,与 Syn-ASR 的平均 Cohen’s κ 为 0.8637。
    • 查询与预算:四个决策领域、八个主题。每主题 1,500 条训练查询、5,000 条合成测试查询。m 为 40 或 60。真实查询来自 MS MARCO、Natural Questions、HotpotQA、BEIR。
    • 基线:PoisonedRAG、Topic-FlipRAG,保留原构造,目标改为同一实体–主张(附录 B)。
    • 重复:每个 HNSW 配置用种子 42、43、44 建 3 个索引并平均。温度 0.0。中毒文档生成模型为 MiMo-v2.5。

    主结果

    单位为 %。Wikipedia、2M,据 Table 1。

    表格较宽,可左右滑动

    方法生成模型m=40 RSRm=40 ASRm=60 RSRm=60 ASR
    PoisonedRAGLlama 3.1-8B0.400.020.600.05
    Topic-FlipRAGLlama 3.1-8B1.800.086.000.18
    Our MethodLlama 3.1-8B72.4929.4974.0031.29
    PoisonedRAGQwen3-30B1.900.120.900.08
    Topic-FlipRAGQwen3-30B5.600.665.901.71
    Our MethodQwen3-30B72.3525.8774.0527.62
    • 作者解读:作者称基线主要优化语义对齐,未处理良性文档竞争和路径依赖遍历,高相似度不能保证被 HNSW 访问并返回。
    • 规模:作者称库从 500K 增到 2M 时,基线 RSR 从最高 17.0% 降到 0.4%–6.0%;本文方法在两种生成模型和两种预算下,2M 的 RSR 仍高于 72%。
    • 另一规模:500K、Llama 3.1-8B、m=60 时,本文 RSR 为 89.55%,ASR 为 42.71%(Table 1)。作者称 Cond.ASR 与 ASR 在 2M 上仍高于 35.75% 与 25.87%。

    领域库与真实查询

    • 测了什么:PubMed、SEC-EDGAR、EPA-HERO,生成模型只报告 Llama 3.1-8B,m=40/60,500K–2M(Table 2)。
    • 领域结果:2M 平均 RSR 为 63.46%–65.68%,Cond.ASR 为 39.95%–41.19%,ASR 为 25.35%–27.05%。作者称从 500K 到 2M,平均 RSR 降 12.14–12.91 个百分点。EPA-HERO、m=60、2M 的 ASR 为 41.95%;SEC-EDGAR、m=40、2M 为 15.68%。
    • 真实查询:仍在 Wikipedia 库上。2M、m=40 的 RSR/ASR 为 59.23%/24.08%,m=60 为 61.45%/26.04%。Table 3:合成查询 Effective Clusters、PairMean、PairP99 为 11.089、0.372、0.537;真实查询平均 n=77.25,对应 10.261、0.367、0.521。作者称 Figure 4 中合成查询形成多个内部紧凑且彼此分开的区域;纯文本看不到点的位置。

    Hub–Satellite 拓扑

    • 是否形成:2M 上 m=40 与 m=60 的 Poison LCC 均为 100%。直接连到至少一个 Hub 的 Satellite 为 44.7% 与 44.6%。作者称 Hub Mediation Rate 随 ef_search 增大,从 29.2% 升到 78.2%(m=40),从 41.8% 升到 93.8%(m=60)(Figure 5)。
    • 级联:ef_search=16 时,首次碰到中毒文档后平均再访问 25.9 与 34.3 篇;ef_search=128 时为 37.4 与 56.1。ef_search=16 去掉 Hub 后 RSR 为 56.30% 与 59.60%,完整结构为 65.90% 与 68.50%;作者称提高 9.60 与 8.90 个百分点。500K、m=40 时,35.4% 的查询 top-5 全是中毒文档(Figure 6)。
    • 与精确检索分开:作者称精确检索下 Full 只比 Satellite-only 高 0.69 与 0.35 个百分点;减去后,HNSW 特有增益在 ef_search=16 为 8.91 与 8.56 个百分点,到 256 降为 0.71 与 0.96(Figure 7)。随机去掉 50% 后,m=40 剩余 20 篇在 2M 上 RSR 仍为 60.8%,Poison LCC 仍为 100%(Figure 8)。

    现有防御

    • hubness:2M Wikipedia 上 Hub 与 Satellite 都未过阈值,中毒文档检出率 0%。目标 FPR 为 1% 时,k=20 的 k-occurrence 实际 FPR 为 0.706%,HNSW 入度为 0.951%–0.952%(Figure 10)。
    • 聚类与困惑度:top-5 只有 1 篇中毒时,RAGDefender 移除率为 21.29%(m=40)与 23.88%(m=60),良性误删为 63.27% 与 60.63%;无中毒时良性误删为 79.34% 与 79.53%(Figure 11)。作者称滤掉 50%(20 篇)中毒文档时,也会去掉 25.6% 的良性文档(作者称约 512,000 篇)。
    • 改写与重排序:m=40 改写后,500K/1M/2M 的 RSR 为 89.16%、74.02%、72.88%,ASR 为 39.96%、34.04%、29.60%。作者称平均 RSR 降 1.08 个百分点,ASR 从 34.54% 到 34.53%(Figure 13)。DPR-XM 重排 top-50 后保留 top-5,ASR 仍为 37.58%、28.08%、26.69%(Figure 14)。作者称所测防御不能缓解该攻击。

    其他消融与分析

    • 检索器:2M、m=40,all-mpnet-base-v2 的 RSR/ASR 为 59.64%/22.80%,GTE-base 为 66.30%/26.39%;m=60 为 62.16%/24.48% 与 69.18%/28.79%(Table 4)。作者称各设置 Cond.ASR 仍高于 38%。
    • top-k=3:2M 上 m=40 的 ASR 为 27.40%,m=60 为 28.72%;作者称比 top-5 低 2.09 与 2.57 个百分点,Cond.ASR 并不更低。
    • 去掉联合奖励:RSR 降 7.26–13.70 个百分点;作者称六组里五组整体 ASR 下降。
    • 去掉实体–主张耦合:作者报告平均 RSR 升 11.38 个百分点,Cond.ASR 与 ASR 降 12.90 与 6.88 个百分点。
    • 贪心与高分直选:2M、m=40,Score Top 的 RSR/ASR 为 67.60%/23.05%,Global Greedy 为 70.90%/26.94%;m=60 的 ASR 从 26.53% 到 29.48%(Table 4)。
    • 分块与插入顺序:2M、m=40,512-token 分块后 RSR 从 72.49% 到 73.34%(Table 9)。三种插入顺序的 RSR 最大差为 0.15(m=40)与 0.12 个百分点(m=60)(Figure 15)。无检索上下文时,目标实体提及率 Llama 3.1-8B 为 0.657%,Qwen3-30B 为 0.519%(Table 11)。
  5. 有什么可以进一步探索的点?

    论文未在局限或后续工作中写明不足与未来方向。

    作者指出的局限与后续方向

    论文未专门讨论局限。Conclusion 重述了攻击效果、拓扑合作和防御结果,没有把某项写成不足、未解问题或未来工作。

    实验覆盖范围

    • 模型:生成模型为 Llama 3.1-8B 与 Qwen3-30B。Table 1 两者都有 Wikipedia 结果;Table 2 的领域库与真实查询只报告 Llama 3.1-8B。检索器为 BGE-base-en-v1.5、all-mpnet-base-v2、GTE-base(Section 6.2、Table 4)。
    • 数据:语料为 Wikipedia、PubMed、SEC-EDGAR、EPA-HERO,主实验规模 500K、1M、2M;预研另含 10K–1M(Section 3、6.2)。八个主题,每主题 1,500 条训练查询和 5,000 条合成测试查询。
    • 真实查询与判定:真实查询来自 MS MARCO、Natural Questions、HotpotQA、BEIR,Table 3 平均 n=77.25。主指标由 Syn-ASR 判定;GPT-4o 对照 4,000 条,人工 400 条(附录 A)。
    • 防御与索引参数:评测了 hubness 检测、RAGDefender、困惑度过滤、查询改写、DPR-XM 重排序,以及分块和插入顺序(Section 7.4、附录 C、D)。Figure 9 扫描 MHNSW 为 8、16、32,ef_search 为 16、32、64、128、256。每个配置 3 个随机索引。
    • 论文未报告的名称:中毒文档生成模型写明为 MiMo-v2.5。Section 6.2 只写用 an LLM 生成训练和测试查询,论文未报告该模型名。
  6. 总结一下论文的主要内容

    以Hub–Satellite和实体–主张推广,攻击大规模HNSW-RAG的未见主题查询。

    这是针对大规模 HNSW-RAG 的黑盒主题级投毒:用有限文档覆盖未见决策类查询,并让回答推荐同一实体。

    • 问题:作者称既有投毒假设精确检索下的全局排序。HNSW 只访问图上一部分节点,库变大后良性文档会挤占搜索预算和候选名额。预研中,PoisonedRAG 的未见查询 RSR 从 10K 的 90.8% 降到 100K 的 9.6%。
    • 做法:用代理查询和 K-means 近似未知主题分布。Satellite 对准不同局部区域并保持入口竞争力,Hub 聚合跨区域锚点,以语义邻近诱导局部连接。生成侧把同一主张放进证据链,并把机制与结果绑到目标实体。再按联合分和边际覆盖选出最终集合。
    • 主结果:Wikipedia、2M、m=60、Llama 3.1-8B 的 RSR 为 74.00%、ASR 为 31.29%;Qwen3-30B 的 ASR 为 27.62%(Table 1)。同表全部 2M 基线 RSR 最高为 6.00%。
    • 其他设置:Llama 3.1-8B、三个领域库、2M 的平均 ASR 为 25.35%(m=40)与 27.05%(m=60)(Table 2)。真实查询、Wikipedia、2M、m=60 的 ASR 为 26.04%。2M 上 Poison LCC 为 100%(Figure 5a)。
    • 作者结论:作者称 Hub–Satellite 在目标索引中形成连通结构,并提高有限预算下的中毒文档检索;所测防御或删除大量良性文档,或仍留下剩余 ASR。作者称据其所知,这是首个面向大规模 HNSW、并能泛化到未见主题查询的 RAG 投毒攻击。

相关论文

共同使用 BEIR
再看 3 篇
共同使用 BEIR
共同使用 MS MARCO
阅读原文arxiv.org