Characterizing Adversarial GEO via Implicit Brand Injection

Shobhnik Kriplani, Haohan Wang · arXiv 2611.04005 · 发表 2026-11-02
10 分钟阅读时长 3615字 4.40综合分 第 4 名11-05 AI Search 日报
目录 · 8 节1攻击者能做什么,不能做什么2IBI 怎么改那一句3怎么测:检索和回答分开算4结果:比两种基线更隐蔽,也更常被检索到5回答里会不会提这个品牌6局限7做搜索和 RAG 的团队可以怎么试8结论
相关 5新颖 4实用 4证据 4时效 5

在网页文章里不动声色地加一句提到某个品牌,就可能让生成式搜索在回答里替这个品牌露脸。作者用一组 agent 分工做这件事:挑插入位置、改写那一句、检查改得是否自然,再从几个候选里选一个,并在一批网页文章和虚构品牌上测试。改过的文章读起来不像广告,含品牌的那段却常被检索到:被改的段落进入前 10 条结果的比例最高到 82.2%,生成的回答提到该品牌的比例最高到 62.7%。一句话的软性植入就能同时影响检索和回答,生成式搜索需要专门防范。

做 RAG 和生成式搜索的团队值得读这篇。它把攻击拆成"改得自然"、"被检索到"、"进入回答"三步分别量,能直接拿来当红队测试的模板。不过品牌都是虚构的,检索也只是一个可控的小流水线,线上系统还要过抓取和权威度这几关。

攻击者能做什么,不能做什么

攻击者能发布或修改一篇公开的文章,并挑好要植入的品牌。他不知道以后用户会搜什么,也碰不到检索模型、排序和生成模型。论文假设这篇改过的文章已经进了搜索引擎的语料库,抓取和收录不在研究范围内。

改动的限制很严:整篇只能改一句,品牌只能出现一次,其他句子一字不动。这一句不能推荐、不能夸、不能号召购买,也不能带链接或编造用户体验。

下面用一个示意例子说明这种植入长什么样。

原句改后(示意)
文章在家做冷萃咖啡的教程同一篇,只改一句
那一句把粗磨的咖啡粉和冷水混合,冷藏静置一夜。把粗磨的咖啡粉和冷水混合,倒进带滤网的壶(比如 Brewlo 这类冷萃壶)冷藏静置一夜。
读者感受普通步骤像顺手举的例子,不像广告

用户之后问"冷萃咖啡怎么做",检索可能把这段捞出来,回答里就可能顺带提到 Brewlo。

IBI 怎么改那一句

作者把这套方法叫 IBI(Implicit Brand Injection)。如果只用一次提示让模型直接改,它要同时决定放在哪句、怎么写、口吻多轻,改坏了也没有机会返工。IBI 把这件事拆给四个 agent,每个只管一件事,每一步都能单独把关。

IBI 的四个环节:规划插入位置、改写一句、检查、在候选里选一个
IBI 的四个环节:规划插入位置、改写一句、检查、在候选里选一个

规划器先读全文和品牌介绍,列出几处可以插入的句子,并说明品牌以什么身份出现。品牌和文章同领域时,品牌直接挂在文章主题上,论文叫 endemic,这里叫"同领域植入"。不同领域时,要借一条说得通的关联,比如同一批读者、相邻的需求,这叫"跨领域植入"。品牌和关联在构建测试集时就为每篇文章指定好了,三种方法拿到的都一样,方法不能挑容易插的品牌。

改写器拿到规划器选中的方案、品牌介绍和预设的关联,再看目标句和它前后各一句,把品牌写进这一句,并保持这句原来的作用。规划器选出的每个位置,改写器都各写一个候选句。

检查器对比原句和改后的句子,给五件事各打 1 到 5 分:意思有没有变、和上下文接不接得上、读起来自不自然、有没有推销味、改动是不是最小。每项都到 4 分才算通过。没通过的会带着意见退回改写器重写,最多改 3 轮,还不行就放弃这个位置,改用规划器给的其他位置。通过检查的候选句汇在一起。

最后由协调器用一次模型调用,从这些通过检查的候选里选一个,不再改写。它依次看重:意思保留得多好、和上下文接得多自然、改动多小、推销味多轻、品牌和文章的关联是否说得通。BoN 最后挑候选用的也是这同一个提示。整个过程只看文字本身:攻击者碰不到检索和生成,选的时候也拿不到它们的反馈。所有 agent 和直接提示都用 GPT-4o-mini。程序再做硬性检查:品牌恰好出现一次,这句以外的文字完全没变,没有别的品牌或链接。

对比的两种做法:直接提示(DP)一次调用就改完;Best-of-N(BoN)用和 IBI 一样平均 6 次的调用预算,先独立生成 5 个候选,再用 1 次调用挑最好的。BoN 的作用是排除"IBI 只是多花了调用次数"这个解释。

怎么测:检索和回答分开算

测试集 IBIBench 有 1,000 篇信息类网页文章,覆盖 12 个领域,配 60 个虚构品牌。每篇文章各做一次同领域和一次跨领域植入。用虚构品牌,是为了不让模型原本就熟悉的品牌干扰结果。

一篇干净文章和改过的文章分别进入同一个 RAG 流水线,比较检索结果和回答
一篇干净文章和改过的文章分别进入同一个 RAG 流水线,比较检索结果和回答

流水线是常见的 RAG:文章切成 256 个 token 的段落,用 bge-base-en-v1.5 做向量检索,再交给五个不同的生成模型回答。每次只把一篇文章换成改过的版本,其余语料不变。

查询分两种,都只看干净文章生成,从来看不到品牌和改过的句子。一种贴着某篇文章写,叫文章级查询;一种按领域写更宽泛的问题,叫领域级查询。

生成回答时,检索模型和生成模型都不知道哪篇被改过,生成模型只拿到问题和前 10 条段落。评测时才对照记录打分,分四项。 Hoot 说

Hoot 说提及率和条件传播率,分母不一样(示意)收起 ✕
同样 3 次提到品牌,提及率按全部查询算,条件传播率只按段落送到了的查询算。
10 次查询分成 4 次命中含品牌段落和 6 次没命中10 次查询只看干净文章生成4 次命中前 10 含品牌那段6 次没命中
10 次查询分成 4 次命中含品牌段落和 6 次没命中10 次查询只看干净文章生成4 次命中前 10 含品牌那段6 次没命中
1/2 · 第一步:先看检索命中(示意)10 次查询里,有 4 次前 10 条结果含有品牌那段。只捞到同一篇文章的其他段落,不算命中。
3 次提及除以 10 得提及率 30%,除以 4 得条件传播率 75%3 次回答提到品牌提及率3/10 = 30%条件传播率3/4 = 75%
3 次提及除以 10 得提及率 30%,除以 4 得条件传播率 75%3 次回答提到品牌提及率3/10 = 30%条件传播率3/4 = 75%
2/2 · 第二步:两个比例各除以谁(示意)4 次命中里,有 3 次回答提到了品牌。没命中的 6 次都没提。提及率是 3 除以 10,等于 30%。条件传播率是 3 除以 4,等于 75%。
1/2

这 10 次查询是示意。提及率看的是整条链路的效果。条件传播率只看最后一步:段落送到了,模型用不用。 出处: 论文 §5.3 指标定义;查询数为示意

  • 检索命中(Hit@k):前 k 条结果里,有一段来自被改的文章,且这段里含有该品牌。只捞到同一篇文章的其他段落不算。
  • 品牌提及率(BMR):回答里提到该品牌的比例。
  • 品牌推荐率(BRR):回答把这个品牌当作推荐选项的比例,由 GPT-5-mini 判定。
  • 条件传播率(CP):只看含品牌的段落已经进了前 10 条结果的那些查询,回答提到品牌的比例。它回答的是"段落送到了,模型会不会用"。

结果:比两种基线更隐蔽,也更常被检索到

先看改得好不好。语义保留度是改后句子和原句的向量相似度,越高说明意思越没变。同领域植入时,IBI 是 0.794,同样调用预算的 BoN 是 0.762。这说明 IBI 的提升不只来自多采样几次。

人的感受也一样。8 位标注者盲评 50 段文字,IBI 和直接提示各 25 段,判断有没有推销味。IBI 被判有推销味的比例是 31%,直接提示是 57%,差异显著,说明 IBI 改出来的句子更不像广告。至于读起来是否自然,两者的差别不显著。

再看检索。下表是前 10 条结果的命中率(%)。

查询植入方式DPBoNIBI
文章级同领域64.770.982.2
文章级跨领域68.365.276.1
领域级同领域38.240.148.0
领域级跨领域34.138.645.3

四种情况下,IBI 都比同样调用预算的 BoN 高 6.7 到 11.3 个百分点。领域级查询的问题更宽,和单篇文章贴得不紧,所以命中率整体更低,但差距还在。命中大多集中在第一名:IBI 排第一的命中约占前 10 命中的 76% 到 88%。这意味着被捞到时,这段往往排在最前面。

我认为领域级查询更接近真实用户的问法,因为用户通常问宽泛的问题,不会贴着某一篇文章去问。在这类查询下,IBI 植入的段落仍有近一半时间进了前 10,所以效果不限于贴着单篇文章的查询。

作者还只对 IBI 换成另一个检索模型 e5-base-v2 重测。同领域高于跨领域、文章级查询高于领域级查询,这两条规律都没变。基线没有在 e5-base-v2 上重跑,所以和 BoN 的差距只在主检索模型上验证过。

回答里会不会提这个品牌

五个生成模型、两种查询、两种植入方式,一共 20 种组合。IBI 的品牌提及率和条件传播率在全部 20 种组合里都高于 BoN。平均下来,BoN 比直接提示的提及率高 4.5 个百分点,IBI 在 BoN 之上再高 8.4 个百分点。所以多花调用次数只解释了一部分提升。

最高的一组是 GPT-5-mini 配文章级、同领域查询:提及率 62.7%,条件传播率 75.9%。也就是说,含品牌的段落一旦送到模型面前,约四分之三的回答会把这个品牌说出来。

作者还用 100 对样本做了定性对照。去掉规划器,品牌常被塞进上下文撑不住的句子,跨领域时更明显。去掉检查器,改出来的句子常带推荐口吻。

局限

第一,品牌是虚构的,真实品牌已有的知名度和口碑会怎样叠加,论文没有测。第二,它假设改过的文章已经进了语料库,真实搜索引擎的抓取、收录和来源权威度都会先筛掉一批。第三,检索只测了两种向量检索模型,关键词检索、混合检索和商用系统可能表现不同。第四,人工评测只有 50 段,品牌推荐率靠 GPT-5-mini 判定,会有噪声。

做搜索和 RAG 的团队可以怎么试

  1. 从自己的语料里抽一批文章,用虚构品牌按"只改一句、只提一次"的规则做植入,留一份干净版本对照。
  2. 用真实的查询日志或按文章生成的查询,分别测干净版和改过版:含品牌的段落进前 10 的比例,以及回答提到品牌的比例。
  3. 重点看条件传播率。它高,说明生成环节对单个来源过于信任。
  4. 试论文提出、但还没有实测的两类防线。一类是先让模型分别读每个检索段落、各自给出答案,再合并这些答案;陌生的商业实体要有多个独立来源都提到才放进回答。另一类是把回答里提到的每个实体链接回它出自的段落,方便审查。
  5. 前后对比提及率的下降,同时检查正常回答的质量有没有受影响。

结论

问题回答
论文做了什么把"一句话软植入品牌"拆成改写、检索、回答三层来量,并给出一套分工改写的方法 IBI
最关键的发现一句不像广告的植入,就能让含品牌的段落进前 10 的比例到 82.2%,回答提及率到 62.7%
为什么可信和同样调用预算的 BoN 比,提及率和条件传播率在 20 种组合里全部胜出
主要不足虚构品牌、可控流水线,没覆盖线上收录和权威度
对谁有用做生成式搜索和 RAG 的团队,可以直接拿来做红队测试

读完这篇,你觉得

点一下即可,无需登录;再点一次撤回。只统计匿名次数,不记录你是谁。

讨论

欢迎补充实验细节、复现经验或不同看法。需 GitHub 登录。

正在加载讨论…