论文提出选项通道攻击:改一个选项标签即可让 Agent 护栏放行违规操作
One Word Opens the Gate: The Option-Channel Attack on Typed Decision Models as Agent Guardrails
作者评估了7个开源模型作为智能体护栏的表现,发现无关日志与选项重命名攻击在多项策略上可将放行错误率提升至63%到100%。
攻击者目标为诱发特定动作的放行错误(fail-open)。
- 检验类型化决策模型作为智能体安全护栏的有效性。安全控制要求分别评估放行违规与误阻合规两类错误,且部分输入由攻击者控制,现有研究未区分错误方向且缺乏系统防御评估。
- 构建平衡且带真值的合成工具调用基准 GuardBench;设计无关策略的日志干扰攻击与仅修改选项名称的选项通道攻击;评估 5 种防御策略、自适应攻击及确定性规则。
- 公开任务上模型准确率仅为 36% 至 72%。无关日志与选项重命名攻击在多个模型上可将放行错误率提升至 63% 到 100%。低置信度上报无法检测被翻转的决策,结构化字段防御被自适应攻击攻破。
- GuardBench 基于模板合成牺牲了现实复杂性;实验仅测试 7 个开源模型,未直接测量商业模型;黑盒攻击基于固定词表属于下界;D5 结构化防御在部分策略上造成高达 68.7% 的合规误阻。
- 威胁模型
- 攻击者目标为诱发特定动作的放行错误(fail-open)。在间接提示注入设定下控制追踪记录中的工具输出跨度,或在配置驱动部署中控制选项标签。攻击为黑盒且使用少量查询,不修改安全策略与选项定义。
- 被测模型
- LAYA-TDLAYA-ENLAYA-MLVONRLCD
- 基准
- GuardBenchprompt-injection screeningjailbreak screeningtoxic-content screening
- 指标
- accuracyfail-openfail-closedasr_openmargin
研究者评估了七个开放权重模型作为 Agent 护栏的表现,并提出选项通道攻击:在不修改被判定文本和选项定义的情况下,只把允许选项改名,就能让四个把标签送入模型输入的模型放行率升至 93% 至 100%。在三个公开筛查数据集上,这些模型的允许或阻止准确率介于 36% 到 72%,随机水平为 50%;某一方向错误率低只反映模型默认给出的答案,例如 laya-td 几乎从不阻止,Qwen2.5-1.5B 则几乎阻止一切。在合成的 Agent 工具调用套件 GuardBench 上,六行与策略无关的服务器日志文本可把某策略的放行率从 0% 提到 63%,三条未经核实的断言提到 70%。作者测试的五种防御均可被针对其机制的适应性攻击击败;把策略字段解析为类型化值能完全消除字段注入攻击,但同样的解析也让确定性规则在六条策略上达到 100% 准确率,使模型变得多余。
推荐理由论文把护栏的放行与误拦分开统计,并给出选项标签这一被忽视的攻击面,部署 Agent 网关的团队可据此检查调用库是否把标签送入模型。
深度解读
这篇论文试图解决什么问题?
类型化决策模型作为智能体护栏时,安全评估须区分放行违规与误阻合规两类错误,且面临两类攻击通道。
类型化决策模型作为智能体安全护栏在真实攻击下的表现与两类决策错误分布。
- 应用场景与重要性:智能体系统在提议动作与执行之间部署轻量分类器,类型化决策模型(151M 至 421M 参数)不生成文本、直接输出选项概率分布,常被用于低成本安全护栏(§1, §2)。
- 现有评估缺陷:作者认为安全控制不同于普通分类器,放行违规动作(fail-open)属于安全漏洞,而误阻合规动作(fail-closed)仅产生可用性成本;单一准确率掩盖了错误方向,且已有攻击研究未区分两类错误亦未提出防御(§1, §2)。
- 核心观察与假设:输入中存在攻击者可控部分(如工具返回值或检索文本),且类型化模型正确拦截时的预测概率往往贴近 0.5 决策边界,微小扰动即可改变放行决策(§1, §2, §6.4)。
- 威胁模型:
- 攻击者目标:对特定违规动作制造放行错误(fail-open),使策略禁止的操作被系统允许执行(§4)。
- 攻击者知识:黑盒设定,使用少量查询预算,无法修改安全策略文本、选项定义或调用框架代码(§4)。
- 攻击者能力:控制状态文本中的特定跨度(间接提示注入设定);在配置驱动或动态生成的部署中控制选项标签(label)(§4)。
- 受害系统:由类型化决策模型充当的执行前拦截网关(gate),依据输入状态与书面策略返回 allow 或 block(§1, §4)。
有哪些相关研究?
相关研究涵盖护栏模型、类型化模型攻击及提示词敏感性,作者称此前工作均未区分两类错误方向且缺乏防御。
智能体安全护栏模型
- Inan et al. (2023) 微调语言模型(Llama Guard)根据成文安全分类法判定提示词与响应;Rebedea et al. (2023) 提供 NeMo Guardrails 工具包,将安全策略置于模型外部的配置语言中(§3)。
- Liu (2026)、Wang & Gao (2026)、dos Santos Barbosa (2026) 将类型化决策模型部署为智能体安全组件,以较低推理成本替代生成式大模型评判(§1, §3)。
类型化决策模型的攻击研究
- Hu et al. (2026) 向输入追加未经核实的意见以翻转决策;Xu (2026) 使用自然表述的上下文翻转决策;Wu & Lim (2026) 研究针对类型化模型的提示注入攻击(§3)。
- Sun et al. (2026) 重命名选项集并报告输出答案发生变化,将该效应归因于受约束的决策头;作者指出这四项工作均未区分 fail-open 与 fail-closed 错误,且均未提出缓解措施(§3)。
输入敏感性与决策审计研究
- Zhao et al. (2021) 报告了语言模型作为分类器时对特定答案存在的先验偏置;Lu et al. (2022) 记录了提示词格式与选项顺序对模型决策的影响(§6.1, §6.3)。
- Wallace et al. (2019) 提出独立于输入的通用对抗触发词以翻转 NLP 分类器;Zou et al. (2023) 研究了对齐语言模型的通用对抗后缀及其迁移性(§6.2, §6.3)。
- Tang & Zheng (2026) 对该领域前 28 篇论文进行证据审查,指出仅有 1 篇测试了决策是否对选项名称保持不变,仅 5 篇包含了普通语言模型的标签概率基线(§3)。
对比基线与基准
- 对比基线包括参数量为 1.5B 和 7B 的 Qwen2.5-Instruct 模型,采用基于选项名称对数概率的读出规则(readout)进行评分(§2);此外还评估了低置信度上报机制(Li et al., 2026)作为前置过滤器(§3, §6.5)。使用的基准包括合成的 GuardBench 以及 3 个公开筛选数据集(deepset, 2023 的 prompt-injection、Hao, 2023 的 jailbreak、Lin et al., 2023 的 toxic-content)(§5)。
作者称本文填补了文献中缺乏普通语言模型对比基线与未检验选项名称不变性的两处空白,并在严格区分两类错误方向的安全控制框架下评估类型化护栏模型与防御方法(§2, §3)。
论文如何解决这个问题?
论文通过形式化双向错误率,提出了日志干扰与选项通道攻击,并设计了标签规范化与字段过滤等五种防御。
通过形式化双向错误率与攻击成功率,系统揭示类型化决策模型在文本干扰与选项通道攻击(option-channel attack)下的脆弱性,并提出 5 种结构化与语义防御及自适应攻击。
错误类型与评估指标形式化
- 区分放行错误(fail-open, FO)与拦截错误(fail-closed, FC):定义数据集为 X,策略要求 y(x) ∈ {allow, block},模型返回决策 d(x),放行错误率定义为: FO = (|{x : y(x) = block, d(x) = allow}|)/(|{x : y(x) = block}|) 该公式度量被策略禁止但被护栏放行的违规动作占全部违规动作的比例(公式 1)。
- 攻击成功率 asr_open 仅在干净输入下被正确拦截的样本集合 B 上计算: asr_open = (|{x ∈ B : d(x′) = allow}|)/(|B|) 其中 B = {x : y(x) = block, d(x) = block},该公式度量攻击将原本正确的拦截决策翻转为允许放行的比例(公式 2)。
- 定义决策边界裕度 m(x) = |P(block | x) - 0.5|,用于量化模型输出概率偏离 0.5 决策边界的距离(§5)。
无关策略的文本干扰攻击
- 常规日志干扰(distraction):向状态文本中攻击者可控的工具输出区域追加与策略属性无关的服务器日志(如 HTTP 状态码、延迟、缓存状态等,行数 k 设为 1、3 或 6 行),不改变策略判断所需的任何真实字段(§6.2)。
- 未核实的肯定断言(persuasion):追加简短的虚假安全声明(如声称动作已获安全团队预先批准,行数 k 设为 1 或 3 行),直接向模型提供虚假的合规线索(§6.2)。
选项通道攻击机制
- 标签与定义解耦利用:类型化模型输入包含选项短名称(label)与文字定义(definition);在调用库将标签组装入输入序列的模型中,保持定义与被审文本完全不变,仅将允许选项(allow)的标签替换为其他名称(§2, §6.3)。
- 候选标签空间:构建包含 198 个候选标签的词表,涵盖安全动作名、允许同义词、拦截同义词、严重级别词、中性标记(如 option_2)及无关名词(如 obsidian);通过随机尝试 k 个词或遍历搜索评估攻击成本(§6.3)。
五种防御机制设计
- D1 规范化标签(canonical labels):在调用层将选项标签强制重写为中性标记 A 与 B,保留原始定义,阻断选项通道(§7)。
- D3 中性标签集成(ensemble of 3):在 3 组中性标签下分别运行模型并对输出概率分布取平均(§7)。
- D4+D6 差异升级与双重渲染(disagree, failclosed):在两种不同标签命名下分别运行决策,若两者判断不一致则判定为阻断(§7)。
- D5 字段结构化截断(field-structured):丢弃原始追踪文本与工具输出,仅向模型传递策略明确引用的结构化字段键值对(§7)。
- D8 指令文本改写(instruction rewrite):修改 prompt 中的指令,明确告知模型必须仅依据书面定义判定、选项名称不包含任何信息(§7)。
论文做了哪些实验?
公开任务上模型准确率仅36%至72%,无关日志与选项重命名攻击在多个模型上驱动放行率达到63%至100%。
实验设置
- 被测模型:包含 5 个类型化决策模型:LAYA-TD(ModernBERT-large,421M)、LAYA-EN(ModernBERT-large,421M)、LAYA-ML(多语言变体,322M)、VON(ModernBERT,395M)、RLCD(GLiClass,151M);以及对照基线 Qwen2.5-1.5B 与 Qwen2.5-7B(基于选项名称对数概率打分)(§2)。
- 数据集与规模:GuardBench 合成基准(包含 6 项策略:exfil、secret、escape、exfil_secret、unauth_irrev、escape_or_exfil,类别通过拒绝采样精确平衡);3 个公开用户筛选任务:prompt-injection 筛选(n=406 或 n=300)、jailbreak 筛选(n=1034 或 n=300)、toxic-content 筛选(n=768 或 n=300)(Table 2, Table 3, §5)。
- 评估指标与协议:报告准确率、fail-open 率(FO)、fail-closed 率(FC)、攻击成功率 asr_open 与决策裕度 m(x);区间采用 4000 次样本重抽样的百分位数 Bootstrap 计算(§5)。
- 判定方式:以模型返回的 allow 与 block 概率在 0.5 阈值处的比较作为判定依据,RLCD 支持输出证据不足选项(§2, §5)。
主结果
表格较宽,可左右滑动
模型 任务 样本量 n 准确率(%) fail-open(%) fail-closed(%) LAYA-TD jailbreak 1034 68.0 60.7 3.3 LAYA-ML jailbreak 1034 36.4 91.7 35.6 VON jailbreak 1034 58.8 20.9 61.5 RLCD jailbreak 1034 70.5 57.8 1.2 Qwen2.5-1.5B jailbreak 300 39.3 22.0 99.3 Qwen2.5-7B jailbreak 300 63.3 72.7 0.7 (据 Table 2 中 jailbreak 筛选任务;论文共测试 3 项公开任务,此处展示样本量最大的 jailbreak 任务,省略了 injection 与 toxic 任务;在全表所有任务中准确率表现最低的模型为 LAYA-ML 在 jailbreak 上的 36.4%)
- 单向错误偏置:作者称单一准确率掩盖了错误方向,LAYA-TD 倾向于很少拦截(fail-closed 仅 3.3%),导致 fail-open 高达 60.7%;而 Qwen2.5-1.5B 几乎拦截所有输入(fail-closed 达 99.3%),其 22.0% 的 fail-open 并无实际安全价值(Table 2, §6.1)。
- 无输入响应聚类:Figure 2 散点图显示,所有测试模型的运行点均聚集在忽略输入的对角线附近,而非理想的原点区域(§6.1)。
- 公开任务准确率分布:在 3 项公开筛选任务上,所有模型的准确率均在 36% 至 72% 之间,未达到稳定的安全防护水平(Table 2, §6.1)。
选项通道攻击与跨模型迁移
- 测了什么:在保持文本和定义不变的前提下修改放行选项标签,在 GuardBench(Table 4, 5)及公开任务(Table 7)上评估 fail-open 率,并测试跨模型迁移性(Table 6)。
- 结果:将标签置于输入的 4 个模型(LAYA-EN, LAYA-ML, LAYA-TD, Qwen2.5-7B)在最差标签下 fail-open 升至 93% 至 100%(Table 4);仅测试 10 个随机标签,LAYA-TD 在 GuardBench 上平均 fail-open 达 89.5%,Qwen2.5-7B 达 89.1%(Table 5);LAYA-EN 找到的 5 个最优标签可使 LAYA-TD 的 fail-open 率提升 38.2 个百分点,与 LAYA-TD 自主搜索效果相当(Table 6);VON 与 RLCD 因底层调用库仅在无定义时传递标签,该通道攻击对其增益为 0.0(Table 6)。
- 作者解读:作者称该攻击并非轻量级编码器特有弱点,在基线防御表现最好的 Qwen2.5-7B 上危害更大;同时攻击在同架构模型间具有迁移性(§6.3)。
决策裕度与置信度上报分析
- 测了什么:分析正确拦截决策距离 0.5 边界的裕度分布(Figure 4),并评测将低裕度样本升级至人工/强模型的预过滤防御策略(Table 8, Figure 6)。
- 结果:LAYA-TD 正确拦截的 338 条公开任务样本中,P(block) 中位数仅为 0.57,97.0% 的决策低于 0.70(§6.4);在被攻击翻转的 1410 个决策中,攻击前平均裕度为 0.149,攻击后为 0.151,且 53% 的样本攻击后裕度反而扩大(Figure 6a);在 10% 的复核预算下,攻击下的 fail-open 率仅从 60.1% 降至 53.8%,远逊于理想预言机的 40.9%(Table 8)。
- 作者解读:作者称攻击并非将概率推至边界附近,而是直接将其推过边界并赋予相当置信度;防御者在推断阶段无法获取干净裕度信号,置信度上报无法有效防御攻击(§6.4, §6.5)。
防御评估与自适应攻击
- 测了什么:在 72 组匹配比较(Table 9)下评估 D1、D3、D4+D6、D5,评估指令改写防御 D8(Table 10),以及值规范化(Table 11)与针对防御机制的自适应攻击(Table 12, 13)。
- 结果:在匹配基准比较中,防御胜 45 场、平 21 场、负 6 场;D5 结构化字段防御取得 16 胜 2 平 0 负,但在 unauth_irrev 上导致干净 fail-closed 升至 68.7%(Table 9, §7);自适应攻击者在保留字段中注入混淆值时,D5 在 5 个模型中的 4 个上 fail-open 率达到 100.0%(Table 12);D8 指令防御对 LAYA-TD 基本无效,在 Qwen2.5-7B 上仅增加查询成本,最差标签依然达成 100.0% fail-open(Table 10);将字段完全解析为确定性规则运行,准确率达 100%,两类攻击下 fail-open 均为 0.0%(Table 11)。
- 作者解读:作者称只要输入能被充分解析以保护模型,就可直接由确定性代码替代模型决策;而在无法解析的非结构化任务上防御则难以生效(§7.1, §8)。
其他消融与分析
- 策略表述消融:否定式表述导致 LAYA-TD 在两项合成策略上的干净 fail-open 率达到 100%(§6.1)。
- 文本干扰长度消融:在 unauth_irrev 策略下,常规日志从 1 行增至 6 行使 LAYA-TD fail-open 率从 33% 升至 63%,伪造断言从 1 行增至 3 行升至 70%(Figure 3, Table 3)。
- 标签类别消融:安全动作类标签在 LAYA-TD 上平均造成 57% fail-open,中性标记达 37%,无关名词达 27%,拦截同义词仅 1%(Figure 5a)。
- 阈值敏感性分析:在 unauth_irrev 策略上将判定阈值从 0.50 调至 0.40,干净 fail-closed 率从 26.0% 升至 70.7%,被攻击 fail-open 率从 68.7% 降至 10.0%(§6.4)。
- D4+D6 自适应双重渲染:针对双标签一致放行进行优化后,LAYA-ML 在 secret 策略下的 fail-open 率从 12.0% 升至 83.1%(§8)。
- 负面结果与例外:RLCD 与 Qwen2.5-7B 在多数策略上的文本干扰 asr_open 为 0.0%(Table 3);LAYA-ML 跨模型迁移出现负增益(对 LAYA-TD 为 -8.8 个百分点,Table 6)。
有什么可以进一步探索的点?
作者指出了合成基准代表性、缺少闭源商业模型测量、黑盒攻击未优化等局限,实验覆盖了7个开源模型与5种防御。
作者指出的局限与后续方向
- 合成基准的现实代表性权衡:GuardBench 基于模板合成,具备精确真值与平衡类别但牺牲了现实复杂性(出自 §10)。
- 未直接测试商业闭源模型:实验仅测试开源模型,未直接测量引入该接口的商业模型 Jev,机制性结论依赖于可检查的代码实现(出自 §10)。
- 黑盒攻击尚未经过优化:文本攻击从固定池抽取,选项通道攻击仅搜索固定词表,更强的攻击者可能产生更高的失效率,当前数据仅为下界(出自 §10)。
- 结构化字段防御引发较高的误拦截成本:D5 字段防御虽未输给基线,但在 unauth_irrev 策略上导致 68.7% 的合规动作被错误拦截(出自 §7, §9)。
- 指令防御无法根除选项通道:提示模型仅依据定义判定只能提高攻击者的查询成本,无法消除通过无意义名称实施的攻击(出自 §7, §9)。
实验覆盖范围
- 被测模型共 7 个开源模型(5 个类型化决策模型与 2 个不同尺寸的 Qwen2.5-Instruct 模型)(§2)。
- 合成评测覆盖 6 项工具调用安全策略,真实文本评测覆盖 3 个公开筛选数据集(§5)。
- 选项通道攻击候选词表覆盖 198 个英文单词/短语,划分为 6 种语义类别(§6.3)。
- 防御评测覆盖 5 种具体机制(D1、D3、D4+D6、D5、D8)(§7)。
- 论文未报告商业模型 API 的直接测量数据,亦未测试白盒梯度优化攻击(§10)。
总结一下论文的主要内容
作者评估指出类型化模型不应作为最终安全裁决者,其易受非策略文本与选项名称操控,且置信度过滤无法抵御攻击。
- 研究定位:评估开源类型化决策模型在智能体系统作为安全护栏时的表现与失效特征。
- 核心问题:现有研究忽视了放行违规动作(fail-open)与误阻合规动作(fail-closed)的后果差异,且未对攻击者可控的文本输入及选项命名接口进行安全性审计。
- 方法设计:构建了无标签噪声的 GuardBench 基准,提出了无关策略的文本干扰攻击与仅重命名允许选项的选项通道攻击,并评估了 5 种结构化与语义防御方案。
- 关键实验发现:公开筛选任务上模型准确率仅为 36% 至 72%(Table 2);6 行无关日志可将 LAYA-TD 在 unauth_irrev 策略的 fail-open 率从 0% 推高至 63%(Table 3);选项通道攻击在 4 个模型上达到 93% 至 100% 的 fail-open 率(Table 4);正确拦截的 P(block) 中位数仅为 0.57,低置信度上报无法检测被翻转的决策(§6.4, §6.5)。
- 防御与替代方案:尽管字段解析与确定性规则可达到 100% 准确率与 0% 失效率,但此时已无需模型参与;而文本型防御和置信度过滤在自适应攻击下均被攻破(Table 11, Table 12)。
- 作者启示:作者建议开发者切勿将类型化决策模型作为最终安全裁决者,应将非受信任字符串与选项标签隔离,并优先在可解析字段上部署确定性代码逻辑(§9, §11)。