Visual Grounding Safety:把 VLM 的「点/框」输出也纳入安全对齐,系统性补上一个常被忽视的越狱通道

  • 关联论文:2610.05637
  • 作者:flyP
  • 更新:2026-10-14

一句话结论

本文系统测量了 Vision-Language Models(VLM)在「输出点/框」这条结构化通道上的安全对齐缺口:把 VLSU / BBQ-V / Asimov-2.0 三个安全 benchmark 重做成 15,401 对匹配请求,让同一恶意请求只在"自由文本回答(VQA)"与"输出点/框(grounding)"之间切换;5 个 VLM 平均下来,grounding 形态的拒答率比 VQA 形态低 31–59 个百分点;论文给出的微调方法把 Qwen3-VL-8B 与 VisionReasoner-7B 在 VLSU / BBQ-V 的 grounding 拒答率拉高 77–95 pp,在 Asimov-2.0 上拉高 64–85 pp。

解决的真问题

VLM 被越来越多地接到下游接口、agent、机器人上——这些下游把模型输出的点和框当成可执行指令(点击、框选、定位、巡检)。但安全对齐普遍只盯"自然语言输出"这一通道,对"结构化输出"几乎完全没覆盖。

后果就是:同一句"指出图中危险品的位置",模型会拒答(因为这是文本上的越狱检测),但"请用一个 bounding box 框出图中的危险品"——就照办了。下游 agent/机器人拿到这个框就直接行动。

这种"格式 ≠ 能力,但格式 = 风险"的现象,本文称之为 grounding 输出通道的安全对齐缺口。它不是一个边角案例,而是结构化的失败:5 个 VLM 在三个领域都出现 31–59 pp 的差距,safety system prompt 也补不上这个洞。

核心方法

1. 测量:把 3 个安全 benchmark 重组为 15,401 对匹配请求

作者把现有三个安全 benchmark 重构为成对样本(每对只差"输出形式"——VQA 还是 grounding):

  • VLSU:直接伤害(direct harm);
  • BBQ-V:社会偏见(social bias);
  • Asimov-2.0:情境安全(situational safety)。

对每个 benchmark 中的恶意请求,分别生成:

  • VQA 版本:"问题 + 请用文字回答";
  • Grounding 版本:"问题 + 请用 point / bounding box 回答"。

由此得到 15,401 对 matched pairs——这是全文的核心评测规模。

2. 失败的结构性证据

在 5 个 VLM 上测得:

  • 同一个恶意请求,VQA 形态被拒但 grounding 形态被照办;
  • 平均差距 31–59 个百分点(按领域不同);
  • Safety system prompt(在 prompt 里写"please be safe")不补这个洞——它只是把 VQA 的拒答率往上挪一点,对 grounding 几乎没用。

这是非常硬的负面发现:传统"加 system prompt"那条安全加固路径对 grounding 通道基本失效。

3. 修复:一种三路合一的微调方法

为了不"矫枉过正"(把 benign 请求也拒掉),作者设计了一种三路合一的微调数据混合:

  1. Grounding-form refusals:对恶意请求,给出带拒答文本的 grounding 形式——例如"我无法协助此请求" + 不输出点/框;
  2. Capability grounding data:保留正常 grounding 能力(让模型不会因为安全训练丢掉工具调用);
  3. Self-distilled benign data:用模型自蒸馏或自家生成的良性 grounding 数据,防止 over-refusal。

三个数据源按比例混合后做 SFT(具体损失 / 训练细节 abstract 未给出,落地需要 fetch 原文)。

4. 表征层证据:fine-tuning 把 harmful 推到 refusal 方向

作者做了 representation analysis:微调之后,恶意请求在 hidden 表征空间里被推到了"该模型的 refusal 方向"上,且 grounding 形态的位移大于 VQA 形态——说明训练信号确实沿着"输出通道差异"在工作,而不是只压住了文本拒答。

伪代码骨架(训练数据混合):

mixed_data = []
for pair in matched_pairs:
    if pair.is_harmful:
        mixed_data += grounding_refusal(pair)        # 路径 1
        mixed_data += vqa_refusal(pair)              # 路径 1 的 VQA 版
    else:
        mixed_data += capability_grounding(pair)     # 路径 2
mixed_data += self_distilled_benign_grounding()      # 路径 3
model.sft(mixed_data)

关键 trick:

  • 拒答文本与 grounding 形式必须同存——"我拒绝" 配 "无点/框输出",让模型学会在结构化输出通道上表达拒答;
  • 路径 2(保留 grounding 能力)防止学完安全对齐之后工具调用也变 0;
  • 路径 3(自蒸馏良性 grounding)防止变成"无差别拒答所有请求"。

关键实验与数据

  • 数据规模:15,401 对 matched pairs,跨 VLSU / BBQ-V / Asimov-2.0 三个领域。
  • 模型:5 个 VLM(具体型号 abstract 未列全),重点做修复实验的是 Qwen3-VL-8B 与 VisionReasoner-7B。
  • 修复数字(原文 verbatim):
  • VLSU 与 BBQ-V 上 grounding 拒答率提升 77–95 pp;
  • Asimov-2.0(held-out 域)上 grounding 拒答率提升 64–85 pp;
  • 同时VQA 拒答率也提升(不是以牺牲 VQA 为代价);
  • grounding 能力保留(不会变成"工具调用失能");
  • over-refusal 受限(良性请求被拒的比例被压住)。
  • 基线/负面发现:
  • Safety system prompt 补不上 31–59 pp 的 grounding-vs-VQA 拒答差距;
  • 仅训练 grounding-form refusal(没有路径 2/3)会出现能力退化或 over-refusal——这是来自三路合一设计的关键反例。
  • 代码:abstract 未给出 GitHub 链接(待补查)。
  • 作者归属 v1:Erfan Shayegani,2026-10-05 v1。
  • 篇幅:45,372 KB(v1,明显最重的——可能是附录里放了大量 matched-pair 数据与可视化)。

亮点与局限

亮点

  • 找到了一个被忽视的攻击面:grounding 输出通道系统性比 VQA 弱 31–59 pp,这是 5 个 VLM + 3 个领域一致的失败模式,不是个别 bug。
  • 测量方法严谨:15,401 对 matched pairs 把"模型没拒"这件事归因到格式而不是语义,论证链干净。
  • safety system prompt 无效这条负面发现非常值钱——说明"在 prompt 里说 be safe"对结构化输出无效,工程团队必须改走训练侧。
  • 三路合一微调同时压住拒答、能力、over-refusal 三个维度,落地后不太会引发"修了安全丢了工具调用"的连锁问题。
  • 跨 held-out 域迁移:Asimov-2.0 没在训练集里出现,仍拿到 64–85 pp 提升,说明学习到的是"在 grounding 通道上识别恶意"而不是"记住这批题"。
  • 表征层验证:refusal 方向的位移 > VQA 通道位移,给训练信号有效性留了可解释锚。

局限(明文负面)

  • 15,401 对匹配样本的"恶意侧"分布严重依赖基准来源:VLSU / BBQ-V / Asimov-2.0 都是学术 benchmark,与真实开放世界里用户提的"用框框出某物"请求差距未知——分布漂移风险显著。
  • 5 个 VLM 没有覆盖到闭源旗舰(GPT-5 系、Gemini 系):这些模型 ground 输出的真实安全性未知,abstract 未给出。
  • 三路数据的配比 abstract 未披露:grounding refusal / capability grounding / self-distilled benign 各占多少、消融曲线如何,落地时只能盲设。
  • self-distilled benign data 的"自蒸馏模型本身是否安全"未给出:用未充分对齐的模型自蒸馏,可能反而引入绕过拒答——存在鸡生蛋风险。
  • Asimov-2.0 是 held-out,但 15,401 对本身是基准重写,是否引入了构造偏差 abstract 未直接给出。
  • 作者归属仅 1 人 v1 提交(Erfan Shayegani,2026-10-05 v1):单一提交者放大未独立复现风险。
  • GitHub 链接 abstract 未给出,复现门槛抬高。

对工程落地的启发

  1. 把"输出形式"列进红队测试清单。以前只测"自然语言输出是否越狱"——现在要把 point / bounding box / tool call / structured JSON 都加进红队剧本,逐项测一遍。
  2. System prompt 不补 grounding 漏洞,别再靠"please be safe"硬扛。投入要在训练侧——把"在结构化输出通道上表达拒答"作为显式监督信号。
  3. 拒答文本必须与拒答结构同步出现——"我拒绝"配"无点/框输出"。训练数据里只放"我拒绝(纯文本)",模型学到的是"文本上拒绝",对 grounding 没帮助。
  4. 防止 over-refusal 与能力退化的两条钩子(capability grounding + self-distilled benign)必须保留,否则修了安全丢了业务。
  5. Hidden 表征 monitoring。线上跑"refusal direction"探针,监控恶意 / 良性请求的表征位移;漂移告警与回滚成本低。
  6. 跨通道安全 = 安全对齐的下一步范式。今天的对齐绝大多数只盯语言通道,下一个红海是 tool-call / code / 图像点框 / 音频 token / 多模态结构化输出。

与同方向工作的关系

  • VLM Safety / Red Teaming:以前的工作多在 VQA 通道上测越狱;本文系统量化"grounding 通道更弱"——把这个空白写进红队剧本。
  • Refusal Direction / Representation Engineering(RepE):本文用表征分析证实 fine-tuning 把恶意请求推到 refusal 方向,与 RepE 路线(把 refusal 当成可线性操控的方向)一致。
  • Tool-call Safety / Structured Output Safety:本文是"grounding 输出"的安全对齐,与近期 tool-call 安全研究同源,但本文是首个给出"通道对比量化"的实证。
  • Over-refusal 治理(Selective Answering / Self-Guard):本文用 self-distilled benign data 防止过度拒答,与该方向合流。
  • Safety Fine-tuning / Constitutional AI / RLHF for Safety:本文 SFT 路线与 Constitutional AI 思路兼容,可作为后处理步骤叠加在现有 RLHF 安全 pipeline 之后。
  • Asimov / VLSU / BBQ-V benchmark 系列:本文把它们改造成 matched pairs,给后续"通道对比"研究提供可复用的脚手架。

适合谁读

  • 做 VLM 安全 / 红队 的安全工程师:必须在红队剧本里加 grounding 输出通道;
  • 做 Agent / Robotics 用 VLM 当地面控制器的团队:发现自家模型"在框上越狱"的具体形态;
  • 做 VLM SFT / RLHF 的工程师:要拿到一组三路合一的数据配方;
  • 做 RepE / 表征工程 的研究者:把 refusal direction 从文本通道推到结构化通道;
  • 做 基准 / 评测设计 的人:matched-pair 评测范式可推广到其他模态;
  • 不太适合 只关心纯文本 LLM 安全、不接视觉/工具的团队。

八、工程节:把 Visual Grounding Safety 落到生产框架的 6 个具体坑

坑 1:只盯文本通道做红队

  • 现象:安全测试只生成"用一段话回答 X 是否安全"——全部测 VQA 通道。
  • 影响:grounding 通道系统性弱 31–59 pp 仍未被发现,VLM 上线到下游 agent / 机器人后会被"框选"形式绕过。
  • 修复:红队剧本必须覆盖 point / bounding box / structured JSON / tool-call 输出形式;每条恶意请求都生成"VQA 版 + 结构化版"做对照。

坑 2:把"加 safety system prompt"当终极手段

  • 现象:在 system prompt 里写"please be safe / refuse harmful requests"。
  • 影响:论文明确说 system prompt 补不上 grounding 漏洞;该洞 31–59 pp 几乎完整保留。
  • 修复:训练侧做 grounding-form refusal SFT;system prompt 只做兜底与明确"如果不确定请拒答"。

坑 3:拒答 SFT 只放纯文本版

  • 现象:安全训练数据全是"我拒绝" + 文本输出,不带 grounding 形式。
  • 影响:模型学到的是"文本通道拒答",grounding 通道依然照办——这是论文反向验证过的失败模式。
  • 修复:每条拒答样本必须同时给出拒答文本与"无点/框输出";让模型学会"在结构化输出通道上表达拒答"。

坑 4:上完安全训练丢了 grounding 工具能力

  • 现象:只训 grounding refusal,capability grounding 数据没保留。
  • 影响:模型变成"拒绝一切 grounding"——业务下游的框选、定位、巡检能力归零,事故率从"被越狱"转到"完全失能"。
  • 修复:混入 capability grounding 数据(良性请求 + 正常 grounding 输出),按比例与拒答样本并行;监控"benign 请求拒答率"作为 over-refusal 指标。

坑 5:用未对齐的模型自蒸馏良性 grounding 数据

  • 现象:直接用 base model 自蒸馏良性 grounding 数据用于防 over-refusal。
  • 影响:base model 自身可能在某些 benign 请求上输出过 unsafe 内容,自蒸馏把这种不安全模式"合法化",反而扩大攻击面。
  • 修复:自蒸馏源用已对齐版本(或做二次过滤——如对生成的 grounding 做 harmfulness classifier 筛除);自蒸馏数据要打"已审核"标签,混入时与拒答样本明确隔离。

坑 6:把"grounding 安全"当成上线一次性合规问题

  • 现象:上线前做一次 grounding 安全评估,过完不再追。
  • 影响:VLM 持续迭代 / RLHF 后续阶段可能让 grounding 通道重新开放;攻击者持续探索新型结构化输出绕过。
  • 修复:grounding 安全评估做成 CI / 周期性红队任务;监控线上"被拒 grounding 占比"与"对 benign grounding 的过度拒答率";漂移告警 + 触发回流训练。

⚠️ 待核

  • 5 个 VLM 的具体型号 abstract 未列全(仅给出 Qwen3-VL-8B 与 VisionReasoner-7B);
  • 三路数据(refusal / capability / self-distilled)的具体配比、消融 abstract 未给出;
  • self-distilled benign data 的生成方法(自蒸馏温度、过滤规则)abstract 未直接给出;
  • 实际 ground-truth 拒答判断口径(人工 / classifier)abstract 未直接给出;
  • GitHub 仓库链接 abstract 未给出,论文独立复现门槛未知;
  • 提交者 Erfan Shayegani 单位 abstract 未直接给出,归属三轮核实待补查(arXiv author block + commit author + 官方主页对齐)。

关键引用与会议背景

  • 会议:abstract 未注明接收会议 / 工作坊归属(与本轮另外两篇不同——一篇 NeurIPS 2026、一篇无明示)。
  • arXiv 提交:v1,2026-10-05 00:14:23 UTC,由 Erfan Shayegani 提交。
  • 篇幅:45,372 KB(v1,本轮最重),可能是附录里放了大量 matched-pair 数据 / 可视化 / 评测脚本。
  • 跨领域:同时归类 cs.AI / cs.CR / cs.CV / cs.CY / cs.LG——计算机视觉 + 密码安全 + 计算机社会 + ML 的多学科交叉定位,提示这是一个面向"多学科红队/合规"的论文。