速评:RAG防御论文今年出了一个共同前提——恶意文档带着查询痕迹,而查询痕迹能被过滤。CamoDocs直接挖的是这个前提本身:把有毒的东西伪装成正常内容,不要查询重叠也能打穿。
论文8月28日挂上arXiv,标题带“camo”也是挺会挑词的,伪装色嘛。六位作者横跨学术界和工业界,方法归结起来一句话:把对抗性草稿拆块、混进正常内容,再用散布令牌稀释嵌入特征,最后用连贯性过滤器把可读性损失压住。这套流程拆开每一步你都见过,拼在一起没见人拼过——这行业的大部分进步就是这么一回事。
最扎眼的数字是61.80%和55.09%,分别是GPT-5.4-mini和Claude-Haiku-4.5上的平均攻击成功率。别急着说“才六成”,要知道这些攻击条件里有一条规定:不得包含目标查询。防范Query Inclusion是现在所有外部文档防护的默认底线,而现在它们在被测试的时候等于绑了一只手打架。
这里我打个问号,关于这类攻击论文的真正贡献到底属于谁。近一年读到的RAG安全新作,相当比例从攻击视角出发,结论说一千道一万都是“现有防御仅能对抗可见的攻击模式”。收藏夹里存着二三十篇这种结构的安全论文的人,和我一样都是信息囤积爱好者,嘴上都说下次能用了,实际上绝大多数下次永远不会再来,因为提示词和文档结构变了,攻击面和防御点的优先级也全变了。
但CamoDocs不是这种。
它跟那些发出来就过期的方法不一样的地方在于,它的最大价值不在于攻击本身,而在于一个对现有防御体系的诚实评估:在TrustRAG这类重擦除的聚类防御下,攻击成功率确实下降了,可NeoQA这个在检索依赖基准上的实用性也同步受损——相当于一个防御系统,为了拦攻击者,误伤了正常用户的每一次检索。
这个发现比攻击成功率本身重要得多。它把RAG安全领域一个自欺欺人的假设暴露出来了:我们总以为防御是免费的,检测、过滤、聚类、重写,这些机制上线时都以“能拦住攻击”为功劳,却很少交代它们在正常输入上造成的损害。研究者的过滤器和安全团队普遍倾向相信“多过滤一层不会伤到好内容”,但实际上RAG的每个防御组件都会损失一部分召回和准确性,只是大多数防御论文不报告这一项。CamoDocs至少在实验设置里把这个成本公开了,这比那些九十多分防御率但对实用性只字不提的工作体面得多。
讽刺的是,越强的防御离生产越远,这已经是行业老剧本了。攻击者的成本低到只需要找托管文档上传,防御者却要为了拦截它把整个检索链路翻个底朝天,最后还不一定见效。这就像你为了让小偷进不了门,把自己家窗户全封了,后来又发现小偷压根不走窗户,他走的是你装的那台智能门锁的固件漏洞。
不过,我得收一收,承认这戏法确实比“查询包含+垃圾文本”的粗糙老做法更聪明一步。它回答了为什么传统投毒检测策略会被骗过:加了散布令牌之后,恶意文档在嵌入空间里的位置被稀释了,检索系统看这些文档,特征不再聚集,聚类防御很难把这一团“和正常文档长得差不多”的东西摘出去。这不算对特定模型漏洞的利用,是对RAG系统的结构性弱点的滥用,所以换模型、换防御,基本都能打穿。
这也说明RAG生态的一个尴尬事实:人人都知道检索结果是管线的一部分,但作为可被输入的系统,它的攻击面大得没人愿意细想。
这篇论文能中EMNLP 2026,方向倒是很能代表今年系统安全组的主流口味——攻击类工作比防御类工作更容易被接收,因为攻击结果更容易有明确的数字呈现。看到它8月28号挂arXiv,马上就中EMNLP,审稿速度和接收速度都说明这个方向正处于热门期,往这投的工作多得审稿人连犹豫的时间都没有。
话说到这,我想提一件可能有点小题大做的事:这篇论文作为RAG投毒研究,完整避开了它在实际生产里最难绕开的环节——RAG系统外围多少都有些基本的内容审核机制,不管是大模型本身的安全训练还是上层的内容决策,对直接嵌入攻击指令的文档多少会有些响应。CamoDocs的伪装把恶意内容藏在正常的指令和问答中间,连人类阅读时都不容易察觉,那系统层面的审查就更难区分了。这类攻击理论能成立的前提,是攻击者已经找到了注入点,而这在真实环境里的门槛远高于论文设定的理想条件。
我对它的评价是:这不是一篇让你用来设计防御系统的论文,它的价值在于提醒我们——当前市面上所有防御RAG投毒的方法,防御的都是上一轮攻击。旧剧本中的Query Inclusion在今天不灵了,是因为防御方学会用查询重叠做检测,攻击方便转向从文档本身下手。等下一轮检测“伪装文档”的防御出来,攻击方也会找到新的伪装策略。
就像病毒和疫苗,谁也不会停在原地等对方。
这个领域不缺攻击论文。缺的是对既有防御手段做真正诚实评估的工作。CamoDocs在NeoQA上掉点这件事,比那两个61.80%和55.09%更值得记住——防御的代价不是零,它往往恰好等于被保护的那部分系统的可用性。
