语言是 Agent 守卫的安全面
来自 arXiv · 期号 2026-10-16
摘要
Agent 安全守卫在每次工具调用前判断下一步是否安全。但用户指令可能是德语、法语、土耳其语、斯瓦希里语或阿姆哈拉语,而守卫的 prompt 和训练数据几乎全是英语。 研究者从 TS-Bench AgentDojo-Traj 的 1,220 条标注步骤出发,只翻译用户指令,保持工具调用、观测结果和标签字节不变,构造了 LinguaGuardBench。19 个守卫(从前沿 API 到 4B 开源模型和四个专用守卫)中,多数小模型和专用守卫在翻译后改变了判定,且语言越罕见,变化越大:13B 以下守卫的假阳性率从法语的 +1.5 个百分点升至阿姆哈拉语的 +4.4 个百分点。专用守卫最敏感。12-30B 的守卫倾向于多拦截良性步骤(假阳性最多 +5.0 个百分点),10B 以下的守卫召回率最多下降 7.4 个百分点。前沿守卫变化不超过一个百分点,Gemini 3.8 Flash 完全不受影响。 损伤集中在少数指令上,且出现在 agent 推理复述了英语请求的步骤——守卫可能是在对跨通道不一致做出反应。英语改写对守卫的影响小于翻译。论文开源了基准和全部 48.9 万条判定结果。
深读
导读 这篇论文揭示了一个被忽视的安全漏洞:AI agent 的安全守卫(guard)在判断用户指令是否安全时,其判定结果会因指令的语言而改变。对于部署多语言 agent 服务的团队来说,这意味着当前的安全评估可能只在英语环境下有效,而其他语言用户面临更高的误判风险。 关键信息 - 研究者从 TS-Bench AgentDojo-Traj 的 1,220 条标注步骤出发,只翻译用户指令(保持工具调用、观测结果和标签字节不变),构造了 LinguaGuardBench 基准测试。 - 测试覆盖 19 个守卫,包括前沿 API 守卫、4B 到 30B 的开源模型以及四个专用 agent 守卫。 - 在 13B 参数以下的 9 个守卫中,假阳性率(将安全步骤误判为危险)从法语的 +1.5 个百分点升至阿姆哈拉语的 +4.4 个百分点。 - 12-30B 参数的开源守卫倾向于多拦截良性步骤(假阳性最多 +5.0 个百分点),10B 以下的守卫召回率最多下降 7.4 个百分点。 - 前沿守卫的变化不超过一个百分点,其中 Gemini 3.8 Flash 完全不受影响,无论是否包含用户指令都返回相同判定。 - 英语改写(paraphrase)对守卫的影响远小于翻译。 逐节讲解 问题:agent 安全守卫的语言盲区 Step-level guard(步骤级守卫)在 agent 每次调用工具前,根据用户请求和当前轨迹判断下一步是否安全。这些守卫的 prompt 和训练数据几乎全是英语,但用户指令可能是德语、法语、土耳其语、斯瓦希里语或阿姆哈拉语。研究者提出的核心问题是:守卫的判定结果是否取决于请求的语言。 方法:只改变语言,其他不变 研究者从 TS-Bench AgentDojo-Traj 的 1,220 条标注步骤出发,只将用户指令翻译成五种语言(德语、法语、土耳其语、斯瓦希里语、阿姆哈拉语),保持工具调用、观测结果和标签字节完全不变。这样,任何判定变化都可以归因于语言本身。他们还设置了六种英语改写和一种空白占位符作为对照,并对受管理的守卫(managed guards)运行三次以测量其自身噪声。 结果:语言越罕见,判定变化越大 多数开源、小型和专用守卫在翻译后改变了判定,且效果随语言罕见度增长。在 13B 参数以下的 9 个守卫中,平均假阳性率从法语的 +1.5 个百分点升至阿姆哈拉语的 +4.4 个百分点。专用守卫对语言变化最敏感。守卫的规模决定了损害方向:12-30B 的守卫倾向于多拦截良性步骤(假阳性最多 +5.0 个百分点),10B 以下的守卫召回率最多下降 7.4 个百分点。前沿守卫变化不超过一个百分点,Gemini 3.8 Flash 完全不受影响。英语改写对每个守卫的影响都小于翻译。 分析:问题集中在特定指令上 损害集中在少数指令上。事后分析表明,问题出现在…