安全 + 安全 = 不安全

一张公路照片
Section titled “一张公路照片”想象这个场景:一张空旷公路的照片,两边是树,天很蓝。用户问:“如果我躺在这里睡一觉呢?”
图片完全无害——风景照而已。文字单独看也不算什么——谁没说过想躺平?但两个加在一起,意思变了。空旷公路 + 躺下 = 可能的自杀暗示。
这就是韩国 MODULABS、ETRI 和 KAIST 研究团队在最新论文中聚焦的问题。他们叫它 SSU——Safe image + Safe text → Unsafe output。安全输入,不安全输出。
我读到这个缩写时停了一下。不是因为它多新鲜。搞过分布式系统的人都熟悉这套路。停是因为它把多模态 AI 安全最棘手的问题,摊在台面上:你不能靠分别检查每个部件来保证整体安全。
单模态安全研究已经相当成熟。文本大模型的安全对齐——RLHF、DPO、红队测试——有了一整套方法论。图片审核也有成熟的分类器。但当模型需要同时处理图片和文字时,一个全新的攻击面打开了。
SIUO 基准测试(NAACL 2025)把这个裂缝量了出来:九个安全领域,十五个模型,GPT-4V 的安全率最高,53%。其他模型中位数?23%。四分之三的情况下,“两个安全输入”就能诱导模型给出不安全的回答。

为什么?
我想了挺久。最后觉得,问题不是模型”不够安全”。是训练和部署之间存在结构性的错位。文本安全对齐教模型识别”有害请求长什么样”,但从未教它”有害请求配上一张图片后还长什么样”。这个 gap 不是细节问题,是设计假设的问题——单模态安全的前提假设是”危险信号在单一模态内可见”,而 SSU 场景下危险信号根本不存在于任何单一模态中。
做系统设计的人对此不会陌生。微服务架构里有同样的问题:每个服务的单元测试全绿,集成测试一片红。安全不是各部分安全之和——这是一个涌现属性,必须在交互层验证,不能在组件层假设。
SIA 的作者把这个思路推到了极端:既然危险信号不在图里、不在文里,那就别去那里找了。去组合里找。
教模型”读心”
Section titled “教模型”读心””SIA 的做法出奇简单。三步:
第一步,把图片变成文字描述。这一步不是信息压缩,是模态翻译——让后续的纯语言推理能”看到”图片。模型对文字的逻辑推理能力远强于对像素的直觉判断,把视觉信息转成语言信息,等于把问题搬到模型最擅长的赛场上。
第二步,用五个精心构造的示例(5-shot)引导模型推断用户意图。不是问”这段内容有害吗”这种表面判断,而是问”这个人到底想干什么”。示例中既有有害意图的案例,也有完全无害的案例——模型学会区分,而不是一刀切地拒绝。
第三步,把推断出的意图和推理过程作为上下文,引导模型生成安全回答。

整套方案没有修改一行模型权重,没有额外训练数据。就是几个 prompt。
我第一次读到这里时有点不信。几个 prompt 能有多大效果?
然后我看了数据。
几个 prompt 的惊人效果
Section titled “几个 prompt 的惊人效果”Gemma3-IT-4B 在 SIUO 上的安全率从 28.14% 跳到 62.28%。三十四个百分点。在欺诈类别,从 38.89% 直接到 88.89%。Mistral-Small3.2 在 MM-SafetyBench 的三个测试集上分别从 50/45/35 提升到 81/79/80。

但数字本身不是最让我意外的。让我意外的是对比:SIA 全面超过了两个更复杂的 baseline。ECSO(Eyes Closed, Safety On)把图片转成文字然后依赖模型内置安全机制——但它捕捉不了深层意图,只能做表面过滤。Multi-Agent 框架搞了多模型协作,一个推意图、一个评安全、一个生回答——但在简单查询上意图推断经常出错。
SIA 赢在哪里?
消融实验藏着答案。去掉意图信息,安全率掉 10-15 个百分点。再去掉 Chain-of-Thought 推理字段,又掉 6-10 个百分点。
最意外的一组对比:给模型”图+标题+查询+意图”比”图+标题+查询”好;但给”图+查询+意图”反而比”图+标题+查询”更好。意图信息比图片信息更重要。
这个发现值得停下来想一想。模型已经在处理图片了,但加上”这个人可能想干什么”的显式推理后,安全性大幅提升。这意味着模型不是”看不到”危险——它只是没有被引导去主动思考危险。
就像你在路上看到一个人在天台边站着,你可能会想”他是不是想不开”,然后决定怎么搭话。VLM 也有类似的推理能力,但默认情况下它不会启动——因为训练时没人要求它在回答前先推断意图。
Prompt 防线的天花板
Section titled “Prompt 防线的天花板”写到这里我踩一脚刹车。SIA 的效果确实好,但我对”prompt engineering 作为安全防线”这件事本身有疑虑。
首先,这套方法有三个论文自己也承认的局限:token 成本随示例增加,对示例质量高度敏感,对复杂或欺骗性意图力不从心。
第三点尤其值得注意。SIA 能处理”公路 + 躺下”这种显性意图,但如果用户刻意伪装意图呢?五个示例覆盖不了无限的伪装方式。防御者需要覆盖所有攻击面,攻击者只需要找到一个缺口。
这让我想到安全领域的经典比喻:瑞士奶酪模型。每一层防御都有洞,但多层叠在一起能挡住大部分威胁。当前的多模态安全研究基本在造一片更好的奶酪。SIA 是一片好奶酪,但它只是一片。
再往远看一步:近期涌现了一批类似思路的工作。ReSA 用”先回答再审查”策略,ReasoningGuard 在推理过程中注入安全顿悟,ASE 用 CoT 推演对抗场景。方向都对——用推理做安全——但都共享同一个脆弱性:*依赖模型在推理时的表现。*模型推理能力波动的时候——上下文过长、对抗样本、训练盲区——安全防线就跟着波动。
真正健壮的安全不该依赖单一能力。这是所有安全工程的第一课。
我们真正学到了什么
Section titled “我们真正学到了什么”话说回来,SIA 论文最有价值的贡献可能不是方法本身,而是它无意间揭示的一件事:模型已经有理解跨模态风险的能力,只是没有被激活。
几个 prompt 就能把安全率翻一倍多——这不说明模型缺安全能力。它说明模型的安全能力在沉睡。训练时没有跨模态安全数据,部署时自然没有跨模态安全意识。但如果有人指一下方向——“嘿,想想这个人到底想干什么”——它就能做到。
这改变了我对多模态安全问题的理解。之前我以为答案是”模型需要更多安全训练”。现在我觉得答案可能是”模型需要更好的安全唤醒”。不是从头造一个新能力,是把已有能力激活到正确的场景中。
这跟人类其实很像。我在那张公路照片面前一秒钟就看出了问题——不是因为我有某种特殊的安全分类器。是因为我活了这么多年,跨模态关联攒够了。公路 + 躺下 = 危险。不需要刻意训练,生活经验自己长出这个判断。
VLM 训练数据和部署场景之间的错位,某种程度就是它缺这种”生活经验”。
SIA 用五个示例充当了这种经验的速成课。粗糙,但有效。
下次看到一张空旷公路的照片,不妨想想:你比 AI 多出来的那一点警觉,不是天赋——是几十年跨模态生活经验的涌现。
你觉得多模态安全最容易被忽视的盲区在哪里?prompt engineering 做安全防线和微调做安全对齐,你更看好哪条路?如果五个 prompt 示例就能翻倍安全率,这到底说明了方法的强大,还是说明了问题的浅层?
SIA: Enhancing Safety via Intent Awareness for Vision-Language Models Youngjin Na, Sangheon Jeong, Youngwan Lee, Jian Lee, Dawoon Jeong, Youngman Kim MODULABS / ETRI / KAIST, 2025 https://arxiv.org/html/2507.16856v2