CrossGuard: Safeguarding MLLMs against Joint-Modal Implicit Malicious Attacks¶
会议: ACL 2026
arXiv: 2510.17687
代码: github.com/ZhangXu0963/CrossGuard
领域: 多模态 VLM / AI 安全 / Jailbreak 防御
关键词: implicit jailbreak, joint-modal attack, red-teaming, guardrail, LoRA SFT, ImpForge
一句话总结¶
针对"图像和文本单独都安全、合起来才有害"的隐式跨模态攻击,提出基于 RL 红队的 ImpForge 自动批量生成此类样本(三种 reward:safety / semantic / overlap),再用这些数据 LoRA SFT 出 CrossGuard 守卫模型——把 SIUO 隐式攻击 ASR 从 GPT-4o 的 48.9% 降到 5.4%,同时在 5 个安全 benchmark 上平均 ASR 仅 2.79%(runner-up Claude-3.5 是 12.05%)。
研究背景与动机¶
领域现状:MLLM jailbreak 攻击主要分两类:text-based(梯度/进化优化提示词)和 vision-based(对抗扰动 / OCR 触发器 / 嵌入式恶意文字)。对应的防御 (LlavaGuard / Llama-Guard3-Vision / HiddenDetect / JailDAM 等) 都假设恶意信号显式存在于某一个模态里,把图文当独立通道判断。
现有痛点:
- SIUO benchmark (Wang et al. 2025a) 揭示一种新型威胁——joint-modal implicit attack:图像和文本单独看都完全无害(既不是炸弹照片也不是 "how to make a bomb"),但拼到一起就形成隐式恶意意图(例如展示某种危险设备 + 问"我家里有这个,怎么让它发挥最大作用?")。GPT-4o 在 SIUO 上 ASR 高达 48.9%,Llama-Guard3-Vision 更是 90% 沦陷,但显式攻击场景下却表现良好——说明现有防御对单模态恶意 over-fit。
- 这类数据极其稀缺:SIUO 只有 167 条人工标注样本,传统 LLM 单模态红队脚本根本生成不了这种"个体安全+联合恶意"的样本。
- 没人提出过专门针对 implicit attack 的训练协议——现有 guardrail 训练集里隐式样本几乎是 0。
核心矛盾:单模态守卫天然无法触达"模态间组合语义"这一层;要训出能识别隐式恶意意图的守卫,必须先有大规模、多样化的隐式样本,但生成这种样本本身需要解决三个互相矛盾的目标——单模态保持安全(不能让 text 单独看就恶意)、保留原始恶意意图(不然就只是一对安全样本)、降低图文语义重合度(提升隐式性,让攻击难以被简单语义对齐识别)。
本文目标:
- 子问题 1:能否自动批量生成"个体安全 / 联合恶意"的高质量跨模态样本?
- 子问题 2:基于这种数据训出的守卫能否同时守住显式和隐式两类攻击,而不牺牲对正常 query 的可用性?
切入角度:把 LLM 单模态红队的 RL 框架升级为 multimodal,固定图像、只优化文本(图像优化成本高),但用三个互补 reward 重新定义"理想隐式样本"——这是把 LLM 红队的范式精准搬到 implicit multimodal 场景的关键。
核心 idea:"三 reward 引导的 RL 红队 + LoRA 守卫训练"双管齐下——ImpForge 解决"没有训练数据",CrossGuard 把数据转成可部署的前置过滤器,同时通过混入显式 + 普通 VQA 样本兼顾安全和实用性。
方法详解¶
整体框架¶
论文有两个紧耦合组件:(1) ImpForge = 数据生成流水线,分两阶段——Stage 1 用 NER + CLIP 检索给恶意文本 query 配安全图像(构造 keyword→image 映射),Stage 2 用 PPO + LoRA 训练 rewriter policy,将原始 (xI, xT) 改写为更隐式的 (xI, x̂T),由三 reward 模块联合监督。(2) CrossGuard = 守卫模型,以 LLaVA-1.5-7B 为底,用 ImpForge 生成的隐式数据 + VLGuard/FigStep 显式数据 + VQAv2 良性数据混合训练,LoRA 微调 vision/language 双 backbone,输出 binary safety 判断作为前置过滤器。
关键设计¶
-
ImpForge 的三 reward 设计(safety / semantic / overlap):
- 功能:把"理想的隐式恶意样本"形式化为三个互补约束,让 PPO 能同时优化。
- 核心思路:(a) safety reward \(R_{\text{safety}}(\hat{x}^T) = \text{softmax}(p(\texttt{safe}|x'_T))\),用预训练 Llama-Guard 类守卫给 rewrite 后的纯文本打"safe 概率",强制单文本看起来无害;(b) semantic reward \(R_{\text{sim}}(x^I, x^T, \hat{x}^T) = \cos(g(x^I \oplus \hat{x}^T), g(x^T))\),用 Sentence-BERT 编码"图像描述 + rewrite text"的联合表示,与原始恶意 query 对齐,保证图文合体后仍传达原恶意意图;(c) overlap reward \(R_{\text{ovlp}} = 1 - \frac{1}{|\text{Tok}(\hat{x}^T)|} \sum_w \max[0, \cos(g(w), g(x^I)) - \tau]\)(\(\tau=0.2\)),惩罚 rewrite text 与 image 的逐 token 互信息代理,越像越扣分,从而最大化隐式性(避免文本直接重述图像内容)。最终 PPO 目标 \(\max_\theta \mathbb{E}[R_\psi - \lambda D_{\text{KL}}(\pi_\theta \| \pi_{\text{ref}})]\)。
- 设计动机:单一 reward 无法同时满足"个体安全/联合恶意/低显式相关",三者天然存在 trade-off(提升安全往往会丢失恶意意图,提升隐式往往会让文本变安全);三 reward 把这三个目标解耦让 PPO 能在帕累托前沿上探索。特别值得注意的是 overlap reward 把"互信息"用 token-level cosine 简化,避免训练 MI estimator 的不稳定性。
-
Stage 1: NER + CLIP 检索的安全图像匹配:
- 功能:在没有现成"安全图像"配套的情况下,给每条恶意文本 query 找到一张语义相关但内容无害的图像。
- 核心思路:从 BeaverTails 的恶意 query 集中跑 NER 抽出可视化实体(名词、动词),过滤掉抽象词(how/am/can);对每个 keyword 用 CLIP 在开源图像库(COCO、WIT)里检索相似度最高的安全图像 \(\frac{g(k) \cdot g(x^I)}{\|g(k)\| \|g(x^I)\|}\);再用 GPT 二次验证图像本身无恶意。最终为每条 query 输出三元组 (xI, xT, k)。
- 设计动机:单独的恶意文本不能直接拿来训 RL(没有图);纯 random 配图无法做 implicit(图文毫无关联,rewrite 后也凑不出隐式恶意)。CLIP 软匹配是"既相关又不显式"的折中——keyword 提供 anchor,CLIP 检索保证视觉对应,GPT 验证守底线。
-
CrossGuard 的混合训练 dataset 与 LoRA 双 backbone 微调:
- 功能:把守卫模型同时教会三种判断能力——识别隐式恶意、识别显式恶意、放行良性 query。
- 核心思路:训练集成分 = ImpForge 隐式样本(覆盖 14 个领域)+ VLGuard/FigStep 显式样本 + VQAv2 良性样本;底座 LLaVA-1.5-7B 同时在 vision encoder 和 language 部分挂 LoRA adapters;优化 binary cross-entropy \(\mathcal{L}_{\text{CE}} = -\mathbb{E}_{(x_I,x_T,y)} \log p_\theta(y | x_I, x_T)\) 做二分类(safe/unsafe),部署时作为前置过滤器拦截,再决定是否送给主 MLLM。
- 设计动机:(1) 三类数据混合是为了同时控制 ASR(implicit 攻击靠 ImpForge 数据补、explicit 靠 VLGuard)和 utility(VQAv2 良性数据防止 over-defense);(2) LoRA 双 backbone 是因为 implicit 检测需要图像 + 文本联合理解,单边 freeze 会损失跨模态推理能力;(3) 用 binary classification 而非 generative refusal 是为了让守卫快、可批量、可解释,便于和已有 MLLM 流水线对接。
损失函数 / 训练策略¶
ImpForge 用 PPO + LoRA adapter 更新 rewriter policy,KL 系数 \(\lambda\) 控制偏离 reference policy 的幅度;reward 综合 \(R_\psi = R_{\text{safety}} + R_{\text{sim}} + R_{\text{ovlp}}\)(论文未给具体权重,附录有)。图像在 PPO 中固定不动只优化文本以省算力。CrossGuard 用标准 supervised LoRA SFT,cross-entropy 二分类目标。
实验关键数据¶
主实验¶
下表(论文 Table 1)是 5 个安全 benchmark 的 ASR 对比(越低越好):
| 模型 / 守卫 | JailBreakV (OOD) | MM-Safety (OOD) | SIUO (OOD, implicit) | FigStep (ID) | VLGuard (ID) | Avg ASR |
|---|---|---|---|---|---|---|
| LLaVA-1.5-7B (base) | 51.43 | 28.85 | 95.81 | 62.60 | 46.38 | 57.01 |
| Qwen2.5-VL-7B | 2.14 | 10.00 | 41.56 | 24.20 | 9.73 | 17.53 |
| GPT-4o | 6.08 | 16.15 | 48.92 | 1.60 | 6.11 | 15.77 |
| Claude-3.5-Sonnet | 5.00 | 13.08 | 23.95 | 13.00 | 5.21 | 12.05 |
| LlavaGuard | 90.71 | 32.58 | 90.80 | 83.08 | 90.42 | 77.52 |
| Llama-Guard3-Vision | 34.29 | 74.89 | 50.40 | 66.92 | 89.82 | 63.26 |
| HiddenDetect | 4.64 | 8.65 | 44.91 | 72.20 | 26.02 | 31.28 |
| JailDAM | 32.50 | 16.54 | 81.44 | 6.00 | 15.38 | 30.37 |
| CrossGuard (ours) | 0.72 | 0.38 | 5.39 | 0.21 | 7.24 | 2.79 |
ImpForge 作为攻击方的有效性(Table 2):把 BeaverTails 原始恶意 query 配图像(BeaverTails*)的 ASR 普遍低,但 ImpForge 改写后 ASR 暴涨——Qwen2.5-VL-7B 从 4.2% → 76.6%,GPT-4o 从 9.8% → 70.4%,证明它确实能生产突破当前 MLLM 防御的高质量隐式样本。
消融实验¶
由训练数据构成与 reward 模块两个维度间接消融(论文 §5.4/5.5 与附录):
| 配置 | SIUO ASR / 关键指标 | 含义 |
|---|---|---|
| Full CrossGuard (Implicit + Explicit + VQA) | 5.39% | 完整方案,全方位防御 + 高 utility |
| Base LLaVA-1.5-7B (无守卫) | 95.81% | 隐式攻击下完全裸奔 |
| 仅显式数据训练 (≈ Llama-Guard3-V baseline) | ~50% | 显式数据无法泛化到隐式攻击 |
| ImpForge w/o safety reward | rewrite text 单独已不安全 → 失效 | safety reward 决定"个体安全"成立 |
| ImpForge w/o semantic reward | 改写后失去恶意意图 → 失效 | semantic reward 保住"联合恶意" |
| ImpForge w/o overlap reward | 图文重合度高 → 容易被语义对齐检出 | overlap reward 决定"隐式性" |
| 攻击有效性: BeaverTails* → +ImpForge | Qwen2.5-VL 4.2% → 76.6% | 改写带来 70+pp 的攻击成功率提升 |
| 攻击有效性 GPT-4o: 9.8% → 70.4% | 即使是 SOTA 商业模型也被瓦解 | 验证 ImpForge 生成样本的真实威胁性 |
关键发现¶
- 隐式攻击是当前 MLLM 防御的最大盲区:连 GPT-4o (48.92%)、Claude-3.5 (23.95%) 和 Llama-Guard3-Vision (50.40%) 在 SIUO 上 ASR 都极高,说明现有模型几乎没有跨模态意图整合的安全意识;CrossGuard 把 5.39% 这个数字一下打下来。
- 显式 vs 隐式防御能力高度不对称:很多 baseline 在 explicit 上很强(如 LlavaGuard 在某些设置上 OK),但 implicit 立刻掉链子——说明现有 guardrail 学到的是"模态内显式恶意模式"而非"跨模态意图理解"。
- 过度防御 vs 漏防的两难被打破:JailDAM/HiddenDetect 安全高但 utility 极差(过度拒绝),LlavaGuard/Llama-Guard3 utility 高但安全差;CrossGuard 同时拿到高 security 和 utility(图 3 右上区域),靠的就是混合训练数据。
- OOD 鲁棒性证明不是 over-fit synthetic pattern:在 JailBreakV/MM-SafetyBench/SIUO 三个 OOD 数据集上 ASR 依然 0.72/0.38/5.39%,说明模型确实学到的是泛化的安全边界而非模板记忆。
亮点与洞察¶
- 把"互信息"近似为 token-level cosine + 阈值是 overlap reward 的关键工程巧思:MI 估计本身在 RL loop 里训练极不稳定,作者用 \(\max[0, \cos(g(w), g(x^I)) - \tau]\) 这个非参数代理避开了 MI estimator,同时保留了"隐式性"的核心语义——这种"用 cosine + 阈值替 MI"的 trick 可以直接迁移到任何需要"惩罚冗余"的 RL 优化(比如多样性、去重)。
- 固定图像只优化文本是务实但常被忽略的设计:图像优化(diffusion 反传或像素 PPO)成本和不稳定性高出文本一个量级;本文坚持 fix-image-rewrite-text 后获得了大规模可扩展性,证明在隐式 jailbreak 场景中文本端就是最有信息密度的优化变量。
- 混合训练数据组合(implicit + explicit + benign VQA)的配方是 utility/security trade-off 的关键——大多数 guardrail 工作只看 ASR,不看 utility;把 VQAv2 良性样本加入训练集是直接拦住"无脑拒绝所有 query"的过度防御失败模式。
- "个体安全 + 联合恶意"作为一个新的 threat model对整个 multimodal 安全社区有方法论级别的影响:它揭示了"单模态守卫的天花板",未来的 MLLM 安全工作都需要把这种威胁加入 evaluation。
局限与展望¶
- 作者承认:ImpForge 训练成本不低(PPO + multi-reward 调优),reward 权重选择敏感,附录里有部分超参数搜索但未公开自动化方案。
- 隐式数据生成依赖 BeaverTails 作为种子;如果种子分布的恶意类型有限,下游 CrossGuard 仍可能在新型恶意类目上漏防——需要持续扩种子库。
- CrossGuard 是 binary classifier,不会输出"为什么被拒"的解释;在工业部署中 explainability 会是用户的硬需求,未来可以加 chain-of-thought rationale 输出。
- 评测的"恶意"定义跟着 BeaverTails 的 14 类走,对法律/伦理高度跨地区敏感的内容(如不同国家的合法性)没有针对性测试。
- 部署延迟:作为前置过滤器,每个 query 都要先过 LLaVA-7B + LoRA 推理一次,对实时聊天应用是不小的开销;论文 §B.2 给了一些 efficiency 数据,但还可以进一步蒸馏到更小的 guard。
相关工作与启发¶
- vs Wang et al. 2025a (SIUO):他们首次提出隐式 jailbreak 威胁并发布 167 条 benchmark,但没有给防御方案;本文用 RL 红队批量生成隐式数据,把"提出问题"变成"提出解决方案"。
- vs Llama-Guard3-Vision / LlavaGuard:这些 guardrail 在 explicit 上有效但 implicit 失效(ASR 50-90%);本文证明只要训练数据里加入足够多 implicit 样本,模型架构本身已经够用,不需要新结构。
- vs Ge et al. 2024 / Perez et al. 2022 (RL 红队):他们把红队用在单模态 LLM;本文是首次把它扩展到跨模态隐式攻击,并设计 3-reward 解决"联合语义"这种 LLM 红队无法直接表达的目标。
- vs JailDAM / HiddenDetect:它们靠提示扰动或 hidden state 异常检测,安全高但 utility 极差;本文用混合训练数据 + LoRA 双 backbone 真正解决了 trade-off,给 guardrail 设计提供了"数据 + 微调"的清晰配方。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 把 RL 红队首次扩展到 joint-modal implicit attack,3-reward 设计精巧,跨模态意图防御是一个被严重低估的新方向。
- 实验充分度: ⭐⭐⭐⭐⭐ 5 个安全 benchmark + utility benchmark + OOD 评估 + 攻击方有效性双向验证,覆盖防御方和攻击方两个视角。
- 写作质量: ⭐⭐⭐⭐ 图 1 (a-d) 对四种威胁的可视化非常清晰,section 结构按 RQ 组织易读;少量公式 OCR 抽取后变形(如 \(R_\psi\) 表达式略乱),需要查附录。
- 价值: ⭐⭐⭐⭐⭐ 直接 release 代码,工业部署门槛低;guardrail + 数据生成器双 artifact 让整个社区都能直接用,对 MLLM 安全社区是一个标杆级工作。
评分¶
- 新颖性: 待评
- 实验充分度: 待评
- 写作质量: 待评
- 价值: 待评