论文:https://arxiv.org/pdf/2505.23828

摘要
VLM 做 VQA 效果优异,但缺少最新外部知识,经常输出错误。业界把 LLM‑RAG 引入 VLM,构建多模态 RAG,利用外部图文知识库提升回答质量。 已有的单模态 RAG 投毒攻击迁移至 MRAG100% 失效 。本文提出Spa‑VLM 隐蔽投毒攻击 :构造带不可感知噪声的对抗图像 + 误导文本,组成恶意图文对注入知识库;用户查询时,经过检索‑重排后送入 LLM,输出攻击者指定错误答案。 实验:Encyclopedic‑VQA(2M 知识库)、InfoSeek(100K 知识库);每个目标查询仅注入 5 条中毒样本,ASR>0.8,优于 LLM‑RAG 的 SOTA 投毒;现有多种防御全部无效。
目录
[4.2.MRAG 组件](#4.2.MRAG 组件)
1.引言

- ①知识库:大量维基来源图文条目;攻击者可以注入Poisonous Picture(中毒图片)+Poisonous Text(中毒文本)。
- ②Vision Retriever 视觉检索器:以用户查询图片Q做视觉相似度检索,返回 Top‑K1候选图文片段。
- ③Text Reranker 文本重排序器(Q‑Former):输入用户图文混合查询,对检索得到的文本做二次重排,输出 Top‑K2文本。
- ④LLM:接收重排后的文本上下文 + 用户问题,输出回答。
案例示例:用户提问 "杀死食用该动物是否合法",查询图片是保护动物丹顶鹤;中毒样本图片是鸡,中毒文本写吃鸡合法;系统最终输出 "Yes, chicken is a common food,you can eat it."。
1.1.核心痛点
- MRAG 包含视觉检索 + 重排序两个模块,传统只改文本的 RAG 投毒无法通过视觉检索,攻击失败。
- 仅仅修改图片:可以被视觉检索召回,但没有误导性文本,无法诱导 LLM 输出错误答案。
- 真实 MRAG 普遍部署Q‑Former 重排序器 ;Poisoned‑MRAG 没有针对重排序做专门优化,中毒样本容易被重排序压到低排名;Spa‑VLM 专门优化文本嵌入对抗重排序,这是和 Poisoned‑MRAG 最大区别。
1.2.论文贡献
- 揭示单模态 RAG 投毒在 MRAG 场景完全失效,剖析漏洞根源。
- 提出 Spa‑VLM,同时构造对抗图像 + 恶意文本,面向带重排序模块的 MRAG。
- 在两套大规模维基多模态数据集验证:极低投毒比例即可高 ASR;现有防御全部失效。

2.相关工作
2.1.多模态RAG
MRAG 四大组件:知识库、视觉检索器、重排序器(可选但真实系统常用)、LLM。
- 视觉检索器:依据图像嵌入相似度 召回Top-
图文条目;
- 重排序器 Q‑Former:融合用户查询图片 + 问题,生成多模态融合嵌入,对检索返回的文本做二次打分排序,输出
文本送入 LLM。
重排序器原本的安全意图:过滤不相关检索结果,天然有防御投毒的作用。Spa‑VLM 就是要攻破重排序器。
2.2.数据投毒
- 训练阶段投毒:污染训练数据集,篡改模型权重。
- RAG 知识库投毒(本文研究):不修改模型权重,污染外部知识库;推理阶段检索到中毒样本实现攻击;代表工作 PoisonedRAG。
已有知识库投毒全部面向纯文本 RAG,不能直接迁移 MRAG。
3.方法
3.1.关键发现
只投毒文本:无法通过视觉检索,召回不到 → 攻击失败;
只投毒图像:能被视觉检索召回,但没有误导文本,LLM 不会输出错误答案 →攻击失败;
✅必须成对构造恶意图文对:
- 恶意图像:叠加人眼不可见噪声,满足视觉检索条件;
- 恶意文本:和用户查询的 Q‑Former 融合嵌入高相似度,对抗重排序;同时文本内容本身具备攻击性,可以诱导 LLM 输出目标错误答案。
Naive Attack 基线:恶意图片、恶意文本分别注入知识库,不在同一个条目,ASR=0,证明图文配对的必要性。
3.2.问题定义

3.3.Spa‑VLM框架

攻击分三层条件,全部必须同时满足:
- 视觉检索条件 :中毒图像嵌入和目标查询图片嵌入相似度足够高,进入 Retriever 的
;
- 重排序条件 :中毒文本和用户图文融合嵌入相似度高,经过 Q‑Former 重排序后留在
;
- 生成攻击性条件:中毒文本作为上下文,LLM 读过后输出攻击者目标答案R。





4.实验
4.1.数据集
- Encyclopedic‑VQA (E‑VQA):2M 维基图文知识库;
- InfoSeek:100K 维基图文知识库。
4.2.MRAG 组件
- Visual Retriever:Eva‑CLIP‑8B;K1=5;
- Reranker:Q‑Former;K2=5;
- LLM:E‑VQA 使用 Mistral‑7B‑Instruct‑v0.2;InfoSeek 使用 LLaMA‑8B‑Instruct。
- Spa‑VLM 超参:每个目标查询注入N=5中毒条目;文本最大尝试改写次数L=10,文本长度V=50。
4.3.主实验
对比基线:Naive Attack、提示注入、Corpus Poisoning、PoisonedRAG(文本 RAG 经典投毒)。
核心结果:传统单模态 RAG 投毒在 MRAG 上 ASR 几乎为 0;Spa‑VLM 开启重排序器情况下 E‑VQA ASR=0.87;InfoSeek ASR=0.83,显著优于全部基线。 说明:PoisonedRAG 只优化文本,没有满足视觉检索条件,中毒样本无法被视觉检索召回,攻击失效。

攻击效率实验:
- 单张中毒图像相似度优化耗时 < 5s;
- 单条恶意文本平均 VLM 调用次数 < 3 次;文本嵌入优化耗时约 4s;图像文本可并行优化,开销可控。

4.4.消融实验


视觉检索器骨干 & K1消融

- Eva‑CLIP 与 OpenAI‑CLIP 两种骨干,Spa‑VLM 攻击都有效;攻击不依赖特定 CLIP 版本。
- K1增大(视觉检索返回更多候选),ASR 缓慢下降,但K1=50仍然维持 ASR≈0.65,攻击依然有效。

测试三类防御策略,全部无法有效抵御 Spa‑VLM:
| 防御方案 | 原理 | 实验结论 |
|---|---|---|
| Preprocessing 图像预处理 | 随机缩放 + 随机填充,破坏对抗图像噪声 | ❌失效;攻击者使用类别聚类中心近似查询嵌入,可以绕开预处理 |
| Paraphrasing 问题复述 | 对用户问题做改写复述,降低与恶意文本相似度 | ❌失效;Q‑Former 融合嵌入依然和中毒文本保持高相似度 |
| Duplicate Text Filtering 文本去重 | 哈希去重重复文本 | ❌失效;Spa‑VLM 每次生成的恶意文本都不一样,不会重复 |
对抗训练 AT 不适合 MRAG 知识库场景,计算开销极大,会损伤原始检索性能;扩散模型图像净化对百万规模知识库成本不可接受。
5.结论
- 单模态 RAG 投毒不能迁移 MRAG;MRAG 存在严重知识库投毒漏洞。
- Spa‑VLM 通过成对构造对抗图像 + 恶意文本,同时满足视觉检索、重排序、生成诱导三层条件,在带重排序器的 MRAG 实现高攻击成功率,投毒比例极低。
- 当前主流防御全部失效;亟需针对多模态联合空间的新型防御手段。
- 当前是白盒攻击:攻击者知晓检索器、重排序器参数;未来拓展黑盒场景。
- 本文仅评估 3 种简单防御;MRAG 知识库投毒防御仍是开放难题。