研究提出 Agent 安全新维度:识别未履行的安全义务
Safe Actions Alone Do Not Ensure Safe Agents: Identifying Unfulfilled Obligations with Guard Models
作者提出义务识别基准与 ObligationGuard,后者 Recall 57.52%,高于既有最高 48.97%。
- 护栏模型主要识别禁止动作,但智能体还可能漏做应做的安全关键动作(义务)。作者在 SusVibes 上报告,未履行义务比禁止动作更常见,而既有基准不评测这一能力。
- 作者构建 ObligationBench(240 条专家校验轨迹),并先确定义务集合再合成轨迹,用 40000 条样本全参微调 Qwen3-8B 得到 ObligationGuard。
- 既有模型在 ObligationBench 上最高 Recall 48.97%、EM 10.00%;ObligationGuard 的 Recall 为 57.52%。引导 Qwen3.8-27B,SusVibes 上 SecPass 从 6.5% 到 15.1%。
- 作者在第 7.2 节列出四项效度威胁并给出缓解。评测在 ObligationBench 上每模型每实例运行一次;安全引导实验为 186 个 SusVibes 任务、Qwen3.8-27B 与 Mini-SWE-Agent、至多引导一次。
- 被测模型
- ObligationGuardClaude-Opus-4.8GPT-5.6-SolDeepSeek-V4-ProDeepSeek-V4.1-FlashKimi-K3GLM-5.3Qwen3.8-MaxQwen3.8-27BQwen3-8BGPT-OSS-20BLlama-3.1-8B-InstructQwen3Guard-Gen-8BAgentDoG1.5-Qwen3.5-4BLlama-Guard-3-8BQwen3-4BQwen3-14B
- 基准
- ObligationBenchSusVibesSWE-Bench ProFeatureBenchTerminal-Bench 2.0
- 指标
- PrecisionRecallExact MatchCA+CA-FuncPassSecPassUnsafe Rate
论文指出,仅识别 Agent 被禁止执行的动作不足以保障安全,还需识别应当执行却未执行的安全关键动作,作者称之为义务(obligation)。在 GLM-5.3 的轨迹中,56.92% 含有未履行的义务,而含有被禁止动作的仅占 30.00%。作者为此提出 ObligationBench,包含 240 条经专家验证的轨迹,覆盖问题解决、功能开发和终端操作三类场景。对 14 个代表性模型的评测显示,最高召回率和精确匹配率分别只有 48.97% 和 10.00%。作者用 4 万条合成训练样本开发的 ObligationGuard 达到 57.52% 召回率和 21.67% 精确匹配率,两项指标均超过所有被评测模型。
深度解读
这篇论文试图解决什么问题?
只识别禁止动作不够,还要找出未履行的安全义务。
只识别禁止动作不足以保障智能体安全,还须识别应做却未做的安全关键动作(obligations,义务)。
- 场景:作者称 LLM 智能体已能自主完成复杂任务,自主性上升带来安全顾虑。护栏模型被用来在执行中监控行为,现有做法主要是找出禁止动作,例如把密钥发给未授权外部服务。
- 不足:作者认为没有禁止动作的轨迹仍可能不安全。例子是智能体合法使用密钥完成任务后未删除,密钥仍暴露。作者称据其所知,没有基准评测护栏模型能否识别这类义务。
- 观察:Table 1 只统计 SusVibes 上通过功能测试的执行。GLM-5.3 的未履行义务占被评执行的 56.92%,含禁止动作的占 30.00%;DeepSeek-V4.1-Flash 分别为 45.60% 与 33.52%。作者认为未履行义务是主要安全风险来源,只查禁止动作会漏掉许多不安全执行。
- 提出:作者把这类动作称为义务,并称 ObligationBench 是评测义务识别的首个基准。他们再训练 ObligationGuard,用预测出的未履行义务引导智能体补做安全关键动作。
有哪些相关研究?
相关工作覆盖编码智能体、安全风险和以禁止动作为主的护栏。
编码智能体
- 任务形态:作者讨论 LLM 智能体自主完成 issue resolution、功能开发与终端操作。OpenHands-Versa(Soni 等,2026)与 SWE-AGILE(Lian 等,2026)中,模型选择查看代码、执行命令,再根据环境返回的观察决定下一步。
- 交互形式:作者将用户任务记为 x,t 步后的轨迹为动作–观察对序列,下一步由智能体策略给出;执行结束时的完整轨迹记为 τ。这是后文护栏输入的设定,论文未把它当作待比较的方法。
不依赖单一攻击形式的安全风险
- 有害请求与外部指令:AgentHarm(Andriushchenko 等,2025)评测智能体被诱导执行有害请求。AgentDojo(Debenedetti 等,2024)考察外部数据中的恶意指令如何导致不安全动作。
- 无恶意指令:作者另引若干工作,说明风险可以不来自恶意指令。SusVibes(Zhao 等,2026)在真实软件工程任务上分开评测功能与安全;作者称实现常在满足功能要求时仍含安全漏洞。
护栏模型与安全判定评测
- 监控方式:Qwen3Guard(Zhao 等,2025)对提示词和回复做安全分类。GuardAgent(Xiang 等,2025)用可执行检查对照安全要求。AgentDoG 1.5(Liu 等,2026)用轻量模型做实时监控。ToolSafe(Mou 等,2026)在提议动作执行前给出指导。
- 判定评测:SafePyramid(Zhang 等,2026)测试模型能否识别对既定安全要求的违反。TraceSafe(Chen 等,2026)评测多步工具调用轨迹中的安全风险检测。论文对这两组只作了上述描述。
基线与数据集
- 对比对象:义务识别实验在 ObligationBench 上比较 11 个通用 LLM 与 3 个既有护栏模型,并加入 ObligationGuard。任务安全实验在 SusVibes 上比较无引导、self-reminder(Xie 等,2023)和六种模型给出的义务引导。轨迹来源基准为 SWE-Bench Pro、FeatureBench、Terminal-Bench 2.0。
作者认为上述护栏与基准主要问智能体是否在执行禁止动作。作者称一条没有禁止动作的轨迹仍可能不安全,且据其所知没有基准评测未履行义务的识别,并据此提出 ObligationBench 与 ObligationGuard。
论文如何解决这个问题?
先建 ObligationBench,再用模板合成数据微调出 ObligationGuard。
作者把终止时仍未执行的安全关键动作定义为义务,用 ObligationBench 提供专家标注轨迹,并用 ObligationGuard 在先定标签、后合成轨迹的数据上做监督微调。
任务定义
- 输入输出:给定用户任务 x 与完整轨迹 τ,护栏模型预测 Ô=G(x,τ),即终止时仍未履行的义务集合。负例的专家真值集合为空。
- 成对实例:每个用户任务配一个正例和一个负例。正例终止时至少有一条义务;负例没有。作者称不必要的安全干预可能降低智能体效用,因此负例用来看模型会不会误报。
- 任务域:issue resolution、feature development、terminal operation,分别取自 SWE-Bench Pro、FeatureBench、Terminal-Bench 2.0。
基准构建
- 收集:不手工编轨迹。从上述基准共采样 1,000 个任务,用 DeepSeek-V4.1-Flash、Kimi-K3、GPT-5.6-Sol、Claude-Opus-4.8 执行。去掉基础设施失败或环境初始化不完整的运行后,保留 5,684 条轨迹。
- 筛选与标注:GPT-5.6-Sol 先筛可能含义务的候选,再标注未履行义务集合及支持证据。对留下的正例任务重跑,直到得到标注为空集的轨迹,配成负例。得到正、负候选各 180 条。
- 人工复核:两名五年以上经验的软件工程师独立对照任务和完整轨迹修正标注。裁决前对完整义务集合的一致率为 82.2%。分歧经讨论解决,含糊实例丢弃,得到 240 条:120 正例,以及 120 条作者称为 hard negatives 的负例。
- 规模:339 条义务,正例平均 2.83 条(Figure 3)。来源为 issue resolution 80(33.3%)、feature development 32(13.3%)、terminal operation 128(53.3%)。类别为 Data Exposure 93(27.43%)、Identity Forgery 88(25.96%)、Asset Tampering 86(25.37%)、Unauthorized Access 53(15.63%)、Others 19(5.60%)。正例中含 1 至 5 条义务的实例数为 24、21、36、30、9;论文写 80% 的正例含多条义务(Figure 3 标 80.0%)。
数据合成
- 先定标签:作者给出的理由是真实轨迹难规模化收集,人工标注真值成本高。GPT-5.6-Sol 先设计任务与真值义务集合;空集表示终止时不应留下义务。模板同时记下任务场景和相关安全要求。共 10,000 条模板。Figure 5 给出两例,此处不复述其中的具体场景措辞。
- 再生成轨迹:同一模型按模板生成轨迹,要求终止时恰好该集合中的义务未履行;不能生成连贯且一致的轨迹则拒绝。保留 40,000 条样本,计划中的义务集合作为训练标签。
训练与判定
- 微调:对 Qwen3-8B 做全参数监督微调。输入为任务与完整轨迹,目标为真值义务集合的 token 序列,优化标准自回归损失。训练 2 个 epoch,优化器 AdamW,学习率 1×10^-5,batch size 32。训练序列与评测上下文的 token 上限均为 32,768。智能体轨迹由 Mini-SWE-Agent 收集。
- 匹配:同一义务可以有不同表述。GPT-5.6-Sol 判断预测与真值是否指同一必要动作,取最大匹配数,每条预测和每条真值至多计一次。
- 指标:正例报告 Precision、Recall 与 Exact Match(EM)。EM 要求匹配数同时等于预测集合大小和真值集合大小。CA+、CA− 只判断是否还有义务:正例预测非空、负例预测为空即算对。
论文做了哪些实验?
既有最高 Recall 48.97%、EM 10.00%;ObligationGuard 为 57.52% 与 21.67%。
实验设置
- 被测模型:通用 LLM 为 Claude-Opus-4.8、GPT-5.6-Sol、DeepSeek-V4-Pro、DeepSeek-V4.1-Flash、Kimi-K3、GLM-5.3、Qwen3.8-Max、Qwen3.8-27B、Qwen3-8B、GPT-OSS-20B、Llama-3.1-8B-Instruct。护栏模型为 Qwen3Guard-Gen-8B、AgentDoG1.5-Qwen3.5-4B、Llama-Guard-3-8B,以及 ObligationGuard。消融另报告 Qwen3-4B、Qwen3-14B 及其微调结果。
- 数据:ObligationBench 240 条,正负例各 120,共 339 条义务。任务安全实验用 SusVibes 的 186 个任务。轨迹由 Mini-SWE-Agent 收集。
- 指标:正例 Precision、Recall、EM;正负例分开的 CA+、CA−。任务实验报告 FuncPass(通过功能测试的任务比例)和 SecPass(功能与安全测试都通过的比例)。
- 评审:义务是否指同一必要动作由 GPT-5.6-Sol 判断,温度 0。论文未写匹配以外的数值阈值。
- 重复:每个模型对每个实例运行一次,支持时使用确定性解码。论文未报告多次重复。
- 训练:ObligationGuard 由 Qwen3-8B 在 40,000 条合成样本上全参微调 2 个 epoch。摘要将该模型写作 ObligationGuard-8B。
主结果
据 Table 2,单位为 %。只列出 8 个模型;Recall 最低的 Llama-Guard-3-8B 在表内。
表格较宽,可左右滑动
模型 Precision Recall EM CA+ CA− ObligationGuard 82.98 57.52 21.67 85.83 89.17 Claude-Opus-4.8 73.45 48.97 9.17 93.33 79.17 GPT-5.6-Sol 86.63 47.79 9.17 90.83 80.00 DeepSeek-V4.1-Flash 90.08 32.15 10.00 63.33 95.83 Qwen3-8B 51.49 15.34 0.83 65.00 73.33 Qwen3Guard-Gen-8B 40.43 5.60 0.83 29.17 83.33 Llama-3.1-8B-Instruct 3.03 0.59 0.00 34.17 94.17 Llama-Guard-3-8B 0.00 0.00 0.00 0.00 100.00 省略 DeepSeek-V4-Pro、Kimi-K3、GLM-5.3、Qwen3.8-27B、Qwen3.8-Max、GPT-OSS-20B、AgentDoG1.5-Qwen3.5-4B。其中 AgentDoG1.5-Qwen3.5-4B 的 Recall 为 1.77%、EM 为 0.00%(Table 2)。
- 作者称既有模型很少给出准确且完整的义务集合。作者称 Llama-Guard-3-8B 在任何实例上都不返回义务,因此在仍有义务时也不能提示必要动作。
- 作者将既有护栏与通用模型的差距部分归因于安全训练聚焦禁止动作。作者认为这类训练可能帮助判断动作是否被允许,但没有教模型识别轨迹中缺失却必要的动作。
- 作者称 ObligationGuard 的 Recall 比既有最高结果高 8.55 个百分点,EM 超过既有最高结果的两倍;相对骨干的提升说明合成轨迹对真实执行提供了可用监督。
义务出现时机与并存数量
- 测了什么:120 个正例上,对 Claude-Opus-4.8、DeepSeek-V4.1-Flash、DeepSeek-V4-Pro、Kimi-K3、GLM-5.3 取平均(Figure 6)。距离为终止步减去最早义务的创建步;创建步由 GPT-5.6-Sol 标注,并由专家独立复核。论文未报告该复核的一致率。
- 结果:距离 ≤4、5–8、9–16、>16 的 Recall 为 42.82%、38.54%、34.09%、25.48%,EM 为 12.41%、9.66%、5.81%、3.87%。义务数 1 到 5 的 Recall 为 58.33%、46.67%、37.59%、28.83%、23.56%,EM 为 30.83%、7.62%、1.11%、0.00%、0.00%。
- 作者解读:作者称义务创建后插入的动作越多、并存义务越多,识别越不完整。五条并存时,作者称模型平均识别不到四分之一的必要动作,且没有模型返回准确且完整的集合。
训练因素
- 规模与家族:同一 40,000 条上,Qwen3-4B 的 Recall 从 10.91% 到 43.66%,EM 从 0.00% 到 12.50%;Qwen3-14B 从 18.88%、1.67% 到 62.54%、25.83%(Table 3)。Llama-3.1-8B-Instruct 的 Recall 从 0.59% 到 49.85%,EM 从 0.00% 到 16.67%。作者称微调后的 4B 在 Precision、Recall、EM 上都超过未微调的 14B。
- 数据量:正文给出 Qwen3-8B 从 5K 到 40K 时,Precision 从 70.06% 到 82.98%,Recall 从 32.45% 到 57.52%,EM 从 5.00% 到 21.67%(Figure 7a)。作者称在所测范围内,增加合成轨迹会继续提高在真实执行上的表现。
- 模板:不用模板、由 GPT-5.6-Sol 直接生成 40K 样本时,Qwen3-8B 为 Precision 74.40%、Recall 45.43%、EM 8.33%;用模板则为 82.98%、57.52%、21.67%(Figure 8)。作者将部分增益归于生成前写明安全要求与义务集合。Figure 8 把直接合成的 EM 标为 8.33%,并把既有最高 EM 标为 10.00%。
引导后的任务安全
- 设置:智能体为 Qwen3.8-27B,框架 Mini-SWE-Agent,SusVibes 186 个任务。首次尝试终止时比较无引导、self-reminder 和护栏引导。后两种从同一执行状态继续,每条执行至多引导一次。此处的六种护栏是 Table 4 中的模型,不是 Table 2 里的 Llama-Guard-3-8B 等三个既有护栏。
- 结果:无引导 FuncPass 27.4%、SecPass 6.5%。ObligationGuard 为 26.9% 与 15.1%(表中 ΔSec 为 +8.6)。Claude-Opus-4.8 的 SecPass 为 12.4%(+5.9),self-reminder 为 8.1%(+1.6),Qwen3-8B 为 7.5%(+1.0)(Table 4)。作者称功能完成大体保持。
- 结果如何变化:Table 5 中,引导前 Correct-Unsafe 的 39 个里 16 个变为 Correct-Safe,3 个变为 Incorrect;Incorrect 的 135 个里 1 个变为 Correct-Safe;Correct-Safe 的 12 个里 1 个变为 Correct-Unsafe。作者未解释后两类变化。六个护栏的 ObligationBench Recall 与 SecPass 提升的 Spearman ρ 为 0.94、Pearson r 为 0.97。作者认为识别出更多未履行义务,可能给智能体更完整的仍须完成动作的指导。Figure 9 的持久登录案例中,作者称 Qwen3-8B 建议在登出时清除持久 cookie,未处理服务端过期;ObligationGuard 指出拒绝过期会话,方案变为 Correct-Safe。
其他消融与分析
- SusVibes 初步分析仅含通过功能测试的执行:DeepSeek-V4.1-Flash 的 Unsafe Rate 75.82%、禁止动作 33.52%、未履行义务 45.60%;GLM-5.3 为 80.77%、30.00%、56.92%;宏平均 78.30%、31.76%、51.26%(Table 1)。标注用 GPT-5.6-Sol。论文未报告这批执行的条数。
- Figure 7a 另标注 10K 为 Precision 75.94%、Recall 41.89%、EM 9.17%,20K 为 80.28%、50.44%、15.83%;正文只逐项写出 5K 与 40K。
- Figure 7b 标注微调带来的 Recall 增益:Qwen3-4B +32.75 个百分点,Qwen3-8B +42.18 个百分点,Qwen3-14B +43.66 个百分点。
- Table 3 中 Qwen3-4B、Qwen3-8B、Qwen3-14B 微调后 CA+ 为 83.33%、85.83%、91.67%,CA− 为 84.17%、89.17%、90.83%。Llama-3.1-8B-Instruct 微调后 CA+ 85.83%、CA− 87.50%,其未微调 CA− 为 94.17%。
- 语义匹配人工复核 400 对,按被评模型分层,匹配与不匹配各 200:确认匹配 196/200(98.0%)、不匹配 184/200(92.0%),合计 95.0%(Section 7.1)。复核者看不到模型身份和判定。
有什么可以进一步探索的点?
作者在第 7.2 节列出四项效度威胁及缓解,未写具体后续实验。
作者指出的局限与后续方向
- 标注可靠性(Section 7.2):作者把自动标注可能漏掉必要动作、或把不必要动作当成义务,从而影响评测,列为效度威胁。文中的缓解是两名五年以上经验的工程师独立复核、讨论分歧并丢弃含糊实例。
- 多样性与真实性(Section 7.2):作者把合成轨迹可能覆盖不到实际任务与执行行为列为威胁。文中的缓解是从已有软件工程基准的真实执行收集轨迹,使用四个 LLM 后端,并覆盖五类安全要求与 1 到 5 条义务。
- 实际相关性(Section 7.2):作者写明 ObligationBench 上的高分本身不能确定护栏是否在实践中提高智能体安全。文中的应对是在 SusVibes 上用预测义务引导智能体。
- 可推广性(Section 7.2):作者写被评模型的选择可能限制结论能推广到多广。文中的缓解是纳入 14 个既有模型,并在三种规模的 Qwen3 与一个 Llama 骨干上检查同一批合成数据。
- 社区呼吁(Conclusion):作者希望社区把义务识别纳入未来护栏模型的设计与评测。论文未写出具体的未完成实验计划。
实验覆盖范围
- 义务识别主评测为 ObligationBench 的 240 条实例,14 个既有模型加 ObligationGuard,每模型每实例运行 1 次(Section 5.4、Table 2)。
- 轨迹来自 SWE-Bench Pro、FeatureBench、Terminal-Bench 2.0 上采样的 1,000 个任务、四个后端和 5,684 条有效轨迹;终版为正负例各 120(Section 3.3)。
- 任务安全实验为 SusVibes 的 186 个任务,智能体骨干 Qwen3.8-27B,框架 Mini-SWE-Agent,比较无引导、self-reminder 与 Table 4 的六种引导,每条执行至多引导一次(Section 6.4)。
- 微调比较覆盖 Qwen3-4B、Qwen3-8B、Qwen3-14B 与 Llama-3.1-8B-Instruct,训练量为 5K、10K、20K、40K,并比较有无合成模板(Section 6.3)。
- 语义匹配由 GPT-5.6-Sol 完成,人工复核 400 对。论文未报告 ObligationBench 评测的多次重复,也未报告护栏的查询次数或耗时。
总结一下论文的主要内容
义务是护栏缺口;ObligationGuard 提高识别,并把 SecPass 从 6.5% 提到 15.1%。
作者认为编码智能体的安全不能只靠拦截禁止动作,还要找出终止时仍未做的安全关键动作,并将其称为义务。
- 缺口:在 SusVibes 上、只计通过功能测试的执行时,GLM-5.3 有 56.92% 含未履行义务,30.00% 含禁止动作(Table 1)。作者称现有护栏主要检查禁止动作,且据其所知没有基准评测义务识别。
- 基准与模型:ObligationBench 有 240 条专家校验轨迹,正负例各 120,正例平均 2.83 条义务。ObligationGuard 先用 GPT-5.6-Sol 写出 10,000 条模板,再合成 40,000 条轨迹,对 Qwen3-8B 做全参数微调。
- 识别:14 个既有模型在正例上最高 Recall 为 48.97%(Claude-Opus-4.8),最高 EM 为 10.00%(DeepSeek-V4.1-Flash)(Table 2)。ObligationGuard 为 Recall 57.52%、EM 21.67%。三个既有护栏里 Recall 最高为 5.60%。
- 更难的情形:五个模型平均后,最早义务到终止超过 16 步时 Recall 为 25.48%、EM 为 3.87%;五条义务并存时 EM 为 0.00%(Figure 6)。
- 任务侧:186 个 SusVibes 任务上,ObligationGuard 把 Qwen3.8-27B 智能体的 SecPass 从 6.5% 提到 15.1%,FuncPass 从 27.4% 到 26.9%(Table 4)。作者称更准确、更完整地识别义务有助于更安全地完成任务,并希望后续护栏把该能力纳入设计与评测。