系统:运行中
← 返回所有攻击
ADVERSARIAL MEDIUM NEW

M3Att:无需预知查询即可投毒医疗多模态 RAG

2026 年 5 月的一篇论文在不预先知道用户查询的情况下投毒医疗图文 RAG。难以察觉的图像扰动劫持检索;由临床歧义引导的文本规避模型自我纠错——而预过滤防御几乎无济于事。

2026-06-17 // 6 min affects: medical-multimodal-rag, lvlm-rag, clinical-decision-support, vision-language-models

这是什么?

2026 年 5 月 11 日,来自清华大学、北京邮电大学、西北工业大学和苏黎世联邦理工学院(ETH Zürich)的研究人员发布了 M3Att(arXiv:2605.10253),这是一个针对**医疗多模态检索增强生成(RAG)**的知识投毒框架——这类流水线将医学影像(X 光、CT、MRI)与文本配对,并把检索到的证据交给大型视觉语言模型(LVLM)来生成报告或回答临床问题。

对防御者而言,真正重要的是其威胁模型,而非某个新的载荷。以往的医疗 RAG 投毒工作都假设攻击者已经知道受害者未来的查询,并能据此优化投毒条目——这一假设在生产环境中很少成立。M3Att 抛弃了它,只假设对知识库分布的有限了解,作者指出这种了解可通过对 RAG 系统的普通黑盒交互估计得到。这使该攻击成为一个贴近现实的红队基准,而非实验室里的奇技。

工作原理

M3Att 将问题分解到 RAG 流水线的两个阶段——检索与生成。此处仅在概念层面描述,不复现任何可操作参数或载荷。

阶段      正常 RAG                        M3Att 的目标
--------  ------------------------------  --------------------------------
检索      编码查询图像+文本,取最近 k 条  让被投毒条目被从未见过的查询检索到
生成      LVLM 读取检索到的证据,写诊断   让被投毒文本绕过模型的医学知识纠错

第一种机制是分布引导的检索劫持,它利用了医学影像的一个特性:同一解剖区域的检查在嵌入空间中聚集得非常紧密。攻击对该分布建模,挑选代理目标,并对被投毒条目的图像施加难以察觉的扰动,使其充当与查询无关的触发器——在不改变图像临床外观的前提下,对大量未知查询都出现在检索结果集中。

第二种机制是临床歧义引导的投毒,它针对的是从业者常以为可靠的一道防线:训练良好的医疗 LVLM 会纠正明显的错误。M3Att 通过将错误信息注入临床推理中低置信、确实存在歧义的区域来绕过这一点——例如”不能排除恶性”之类的谨慎措辞,把模型推向假阳性的判断。由于注入的论断看似合理而非明显错误,模型不会自我纠错,输出便”在临床上看似合理却是错误的”。

在五个 LVLM 和五个数据集上,检索劫持成功率在投毒比例约 0.08 时接近 ~100%,即使在较低投毒预算下也有明显提升。

为何重要

这是一种针对知识库完整性的攻击,而非提示注入伎俩,因此常见的输入/输出护栏看不到它。当查询到来时,被投毒内容早已位于受信任的语料库之中。

医疗场景让影响变得具体:被污染的 RAG 存储可能把诊断或治疗建议导向一个错误却可信的结论,而”歧义引导”的设计恰恰击破了”模型自身训练会过滤掉错误证据”这一直觉。用 MITRE ATT&CK 的话说,这更接近供应链/数据暂存问题——污染发生在智能体推理的上游,而那里恰是监控最薄弱之处。任何把外部或社区贡献的医学知识纳入检索存储的组织,都应把该存储本身视为一个攻击面。

防御

论文对蓝队最有用的发现是哪些防御失效了:三种检索前的语料过滤——图像聚类、文本聚类以及图文跨模态一致性——使检索成功率”基本不变”,而更强的检索时检查(困惑度过滤、异常检测、基于分数的剪枝,针对 CLIP 检索器)也未能可靠地阻止它。简单的分布启发式不够用。实用加固措施:

  1. 像管理代码一样治理语料库。 限制对知识库的写入权限,要求每个图文对都有来源与签名,并在外部或社区贡献入库之前而非之后进行审查。
  2. 先佐证再信任。 对高风险输出,要求多个独立检索来源相互印证,并标记仅依赖单一条目的诊断。
  3. 临床决策保持人类在环。 把 RAG 输出当作决策支持而非权威;确保由合格临床医生复核证据链,尤其当模型倾向于给出严重结论时。
  4. 监测分布漂移与过度出现。 留意在不相关查询中被异常频繁检索的条目——与查询无关的触发器会表现为一条”永远相关”的条目。
  5. 对自己的存储做红队测试。 用 M3Att(代码已公开)等框架对预发布副本进行测试,在攻击者动手之前先衡量自身的真实暴露面。

状态

项目参考日期备注
M3Att 论文arXiv:2605.10253v1 [cs.CR]2026-05-11清华、北邮、西工大、ETH Zürich
代码github.com/ypr17/M3Att2026-05公开,用于红队测试
范围5 个 LVLM × 5 个数据集,4 项医疗任务报告生成、医疗问答
已测防御检索前 + 检索时过滤检索 ASR”基本不变”

这是一项红队研究成果,而非已披露的产品漏洞——没有补丁可打。其启示在于架构层面:在医疗 RAG(以及一切高风险 RAG)中,检索语料库的完整性是一等的安全属性,而模型自身的知识并不是抵御可信错误信息的可靠后盾。

注:本文出于防御目的探讨敏感(医疗健康)主题下的 AI 安全研究,不构成医疗建议。

Sources