外观
DisarmRAG:检索器模型编辑与定向 RAG 投毒
摘要
DisarmRAG 不只向知识库写入恶意文档,而是通过对比学习式模型编辑修改 dense retriever,使少量目标查询定向召回一条抑制大模型自我纠错的指令及错误上下文。作者在 3 个问答数据集、多个检索器和 6 个大模型上报告目标指令 Recall@k 超过 96%,多种防御提示下攻击成功率通常超过 90%;同时,编辑前后在 BEIR 正常检索指标上的差异小于 1%。
这项研究的主要安全增量不是新的提示词措辞,而是把 payload 编译进检索器制品。它要求攻击者能够修改并重新分发 retriever,因此首个失效控制是模型制品来源、版本和行为完整性,而不是普通知识库写入权限。结果来自作者实验和公开代码,尚无独立复现。
核心创新与差异
原研究贡献。 论文先验证现代模型在适当提示下会拒绝与自身知识冲突的投毒上下文,再用局部模型编辑让检索器只对目标查询召回“反自我纠错”指令。迭代协同优化同时搜索攻击提示与防御提示,使载荷不只针对一条固定系统提示。
本站分析。 站内既有 RAG 投毒主要假设攻击者写入知识库,首个失效控制落在摄取、来源与索引;DisarmRAG 则修改上游检索模型本身,干净知识库和常规检索质量检查都可能继续通过。它与一般模型后门的差异在于触发器是目标查询,攻击结果通过检索上下文进入生成器,形成“制品后门—定向召回—上下文指令—错误回答”的跨组件链。
威胁模型与攻击链
攻击者对白盒检索器具有编辑能力,能够发布或替换被 RAG 系统加载的 retriever,但不能修改生成模型。防守方可能启用要求模型检查上下文错误的系统提示。攻击者目标是让少数 victim query 输出指定错误答案,同时保持其他查询的检索性能接近原模型。
- 为目标查询准备错误上下文和一条抑制自我纠错的目标指令。
- 通过对比学习式局部模型编辑,使目标查询 Embedding 靠近目标指令,同时用保持项限制其他查询的表示漂移。
- 迭代生成和筛选攻击/防御提示组合,选择对不同自我纠错提示仍有效的指令。
- RAG 部署加载被修改的检索器;目标查询出现时,top-k 同时包含目标指令和错误上下文。
- 生成模型不再纠正错误证据,输出攻击者指定答案;常规查询继续表现正常。
攻击方法与复现材料
作者公开了实现。本站未运行投毒代码,也不发布目标指令、错误答案生成和 retriever 参数编辑实现。下面的去武器化夹具仅验证检索器制品与定向行为:
python
retriever = load_signed_retriever("approved-retriever")
assert verify_digest(retriever, manifest="release-manifest.json")
for query in regression_queries:
clean = approved_snapshot.retrieve(query, k=5)
candidate = retriever.retrieve(query, k=5)
assert provenance_set(candidate) == provenance_set(clean)
assert no_control_directive(candidate)夹具对应攻击链第 4 步,检测模型摘要变化、查询特异的结果漂移与检索文档中异常控制指令。它省略参数编辑、目标查询选择和防御提示绕过内容,不能用于修改真实检索器。
实验设计与实际过程
作者使用 Natural Questions、HotpotQA 与 MS MARCO,测试 Contriever、ANCE 和 DPR 等检索器,并以 GPT-4o mini、DeepSeek V3、GPT-OSS、Qwen-Max 等模型评估生成结果。基线包括 PoisonedRAG 与 GASLITE。主要指标为目标指令 Recall@k、恶意上下文 F1、最终 ASR 和正常检索 NDCG/Recall。
隐蔽性测试包括 BEIR 正常检索、文本困惑度与词汇密度、参数奇异值统计、改写防护及流水线检测。消融比较纯余弦目标、Embedding 保持项、迭代提示优化和不同 top-k 设置。本站核对了论文扩展版与官方代码仓库说明,没有独立复现训练或攻击。
关键结果与实际影响
- 三个数据集上的目标指令 Recall@k 超过 96%,说明攻击链首先在检索层稳定触发;最终回答 ASR 仍随生成模型和提示配置变化。
- GPT-4o mini 在多种提示组合下的 DisarmRAG ASR 约为 90%–94%,而对照投毒方法在启用自我纠错后明显下降。
- 作者报告编辑前后 BEIR 的 NDCG@100 与 Recall@100 差异小于 1%,说明只看平均检索质量很难发现目标查询后门。
- 参数谱和文本统计没有稳定区分编辑前后制品,但这只说明论文测试的检测器没有发现差异,不构成不可检测保证。
防护措施与验证方法
检索器应像生成模型一样进入制品清单:锁定发布者、版本、摘要、配置和派生关系,禁止从浮动标签或未知镜像加载。上线前应使用查询特异回归、差分邻域分析和已签名检索快照,比较 top-k 来源、排名与异常指令,而不仅是汇总 NDCG。
RAG 管线不应允许检索文档改变系统控制语义。检索内容进入生成器时保留来源与信任标签;生成器遇到“忽略核验”“不要纠错”一类控制指令应按数据处理。高影响回答要求多源证据,并在检索器版本变化后重新执行投毒和自我纠错回归。
局限与待验证问题
论文假设攻击者能修改 retriever,这比普通知识库写入权限更强;若组织已经通过签名、不可变制品和受控发布阻止替换,攻击链无法开始。实验集中在英文问答、dense retriever 和短目标查询,生产混合检索、重排器、访问控制过滤与频繁索引更新可能改变结果。
攻击效果依赖作者优化的提示池与生成模型的自我纠错行为;模型升级可能同时降低或放大效果。论文没有独立复现,公开代码也不等于真实供应链事件已经发生。