SkillLifeBench: 评 测 智能 体 技能 全 生命 周期 的 安全
388 个成对情景上,GPT-5.6-Sol 与 Sonnet 4.6 的运行时联合成功同为 82.0%,生命周期却是 96.7% 对 56.7%。651 次完成的受挑战任务里,有 103 次同时达成攻击目标。

本文目录
SkillLifeBench:评测智能体技能全生命周期的安全
Chenxu Zhang,单位:帝国理工学院,伦敦,英国。Zhou Liu,单位:北京大学,北京,中国。Wu Xin,单位:北京大学,北京,中国。Wentao Zhang,通信作者,电子邮件:wentao.zhang@pku.edu.cn,单位:北京大学,北京,中国。四位作者依次是 Chenxu Zhang、Zhou Liu、Wu Xin 与 Wentao Zhang。Chenxu Zhang 的单位是帝国理工学院;其余三位的单位是北京大学。通信作者是 Wentao Zhang。
摘要
Web 智能体复用技能时,所存储的代码、所选择的版本,以及实际加载的实现,会在不同任务和更新之间发生偏离。SkillLifeBench 在 388 个成对情景中,把这些状态连接到任务结果。这些情景覆盖实现、接口、运行时、组合以及版本变化。我们在两条成对的决策轨道上评测 14 个模型:89 个运行时任务,以及 60 个自主生命周期任务,后者跨越由本文引入的案例派生出的 12 个模板。生命周期任务允许智能体在完成可核验用户请求的同时,检查、选择并重新配置技能。联合成功要求完成任务,同时不达成已登记的攻击目标。GPT-5.6-Sol 与 Sonnet 4.6 在运行时任务上都达到 82.0%,但在生命周期任务上分别达到 96.7% 与 56.7%。在全部生命周期评测中,受挑战条件下的任务成功率为 77.5%,联合成功率为 65.2%;有 103 次运行既完成了任务,也达成了攻击目标。在一项匹配的恢复研究中,加入执行出处之后,效用联合成功率从仅有日志与元数据时的 49.35% 提高到 65.58%。一条确定性的执行一致性规则达到 64.94%,并且良性效用更高;完全恢复则达到 69.48%。生命周期任务能区分运行时分数相近的模型,而执行证据能改进恢复。
图 1。SkillLifeBench 总览。(a)388 个来源情景;(b)在 89 个运行时任务和 60 个生命周期任务上的成对评测;(c)干预可行性;(d)匹配恢复;(e)14 个模型的联合成功率排名。该基准包含 388 个成对来源情景。十四个模型评测 89 个运行时任务和 60 个自主生命周期任务实例。恢复研究与干预研究保留各自原来的任务组。最后一块面板按生命周期联合成功对全部 14 个模型排名,并在旁边给出它们的运行时分数。在 651 个已完成的受挑战生命周期任务中,有 103 个同时也达成了攻击目标。
图 2。受控的 OpenClaw 更新。选择返回已修补的 $v_{1}$,但一个缓存句柄执行的是 $v_{0}$。所发布的 ZIP 保留了所请求的文档,并包含被禁止的 .git 元数据。用户要求发布 example-skill 的文档,同时排除 .git 元数据。智能体选择了打包技能 packager-vcs 的已修补版本 1,但运行时复用了一个缓存的版本 0 句柄。本地捕获的 ZIP 同时包含所需的 normal.txt 文档和被禁止的 .git/config 元数据。目标包 example-skill 与打包技能本身是不同的对象。
1. 引言
Web 智能体使用可复用技能来访问电子邮件、云存储和 Web API(Xu and Yan, 2026; Ling et al., 2026; Yao et al., 2023)。一项技能把可复用的指令或可执行函数打包给智能体使用。过期或被改动的技能可能暴露私人数据,或触发未经授权的动作,因此生命周期完整性是一项 Web 安全与隐私问题。评测同时度量任务完成,以及对已授权数据访问、目的地和状态变更的遵守。
智能体可以交出一份正确的报告,同时未经授权地复制数据;也可以选出一项已修复的技能,而一个保存下来的执行引用(句柄)仍然调用有漏洞的上一版本(图 2)。现有基准覆盖了经由技能内容、组合、持久化和更新实施的攻击(Debenedetti et al., 2024; Zhuang et al., 2026; Xie et al., 2026; Liao et al., 2026; Ning et al., 2026; Mao et al., 2026; Badhe and Tiwari, 2026)。仅有输出和版本记录,并不能确立实际运行了哪一段代码,也不能确立其动作是否得到授权。评测必须把调用连接到已执行的代码,分别检查任务完成和未经授权的效果,并测试智能体在版本、权限和工作流上的选择。
我们提出 SkillLifeBench,其中有 388 个成对案例,覆盖技能生命周期。每一对都保持用户请求和授权不变,同时改变一项实现、一个接口、一次运行时响应、一次组合或一个版本。两条成对的决策轨道评测 14 个模型:89 个运行时任务和 60 个自主生命周期任务(表 2)。在生命周期任务上,智能体可以检查并改变技能状态,或直接使用可用工具。任务检查与攻击目标检查共同定义联合成功:满足请求,同时不达成已登记的攻击目标。规定调用的案例在一次固定调用下度量实现行为;两条决策轨道则在完整的任务检查下度量模型的选择。
生命周期任务揭示了超出运行时表现的差异:GPT-5.6-Sol 与 Sonnet 4.6 在运行时联合成功上并列 82.0%,但在生命周期任务上分别得到 96.7% 与 56.7%。在 Qwen3.5-4B 与 Qwen3.5-9B 上,授权检查提高了运行时联合成功,但攻击目标成功也从 19 增加到 21(第 4.3 节)。对这两个模型,在匹配条件下把执行出处加入日志和元数据,使风险任务的联合成功从 76/154 提高到 101/154。一条确定性的哈希与句柄规则达到 100/154,并且比出处引导的诊断保留了更多良性任务完成(第 4.4–4.5 节)。
表 1。智能体与技能基准所评测的能力(定义见第 2 节)。✓ 表示已评测;$\sim$ 表示部分覆盖;✗ 表示落在所述协议之外;— 表示未报告。
| 基准 | 技能产物 | 保留状态 | 版本变化 | 效用 + 伤害 | 带版本的出处 | 被调用代码绑定 | 证据引导的缓解 |
|---|---|---|---|---|---|---|---|
| AgentDojo (Debenedetti et al., 2024) | ✗ | — | — | ✓ | — | — | — |
| InjecAgent (Zhan et al., 2024) | ✗ | — | — | $\sim$ | — | — | — |
| ToolSword (Ye et al., 2024) | $\sim$ | — | — | $\sim$ | — | — | — |
| AgentTrap (Zhuang et al., 2026) | ✓ | $\sim$ | — | $\sim$ | $\sim$ | — | — |
| MetaCascade (Wen et al., 2026) | ✓ | — | — | ✗ | — | ✗ | — |
| SCR-Bench (Xie et al., 2026) | ✓ | — | — | — | — | — | — |
| SkillHarm (Ning et al., 2026) | ✓ | ✓ | ✓ | ✓ | $\sim$ | — | ✓ |
| MalSkillBench (Guo et al., 2026) | ✓ | $\sim$ | — | $\sim$ | $\sim$ | — | — |
| SkillSec-Eval (Badhe and Tiwari, 2026) | ✓ | $\sim$ | ✓ | $\sim$ | ✓ | — | ✓ |
| SkillMisevo-Bench (Mao et al., 2026) | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| SkillRelayBench (Liao et al., 2026) | ✓ | ✓ | — | ✓ | ✓ | — | ✓ |
| SkillLifeBench | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
2. 相关工作
#### 工具型智能体安全。
AgentDojo 在可执行环境中度量任务效用和攻击者目标;InjecAgent 评测被注入的工具响应;ToolSword 把输入、执行和输出情景分开(Debenedetti et al., 2024; Zhan et al., 2024; Ye et al., 2024)。这三项工作分别对应可执行环境、被注入的工具返回,以及输入、执行与输出三个阶段。WASP 与 AgentDAM 研究 Web 智能体的安全与隐私;MCP-SafetyBench 与 AgentLAB 把评测扩展到多轮工作流和长程攻击(Evtimov et al., 2025; Zharmagambetov et al., 2025; Zong et al., 2026; Jiang et al., 2026)。
#### 技能内容与持久化。
AgentTrap 评测已安装的包,MetaCascade 研究由元数据驱动的选择,MalSkillBench 通过运行时证据核验恶意包(Zhuang et al., 2026; Wen et al., 2026; Guo et al., 2026)。SCR-Bench 评测组合,SkillHarm 包含会自我变异的包,SkillSec-Eval 覆盖从准入到更新核验的过程(Xie et al., 2026; Ning et al., 2026; Badhe and Tiwari, 2026)。SkillSec-Eval 检查已准入载荷的完整性与版本谱系,然后在执行期间强制执行权限和信息流。
#### 出处与干预。
SkillMisevo-Bench 记录带版本的库、被检索的技能和复用结果;SafeEvolve-UP 使用这一谱系进行修复,以及基于重放的接受(Mao et al., 2026)。SkillRelayGuard 把技能影响连接到后来被消费的产物的内容指纹,并把这一出处与操作复核结合起来(Liao et al., 2026)。两者都度量缓解和任务效用。结构防御与运行时防御检查能力、依赖和授权(Bhardwaj, 2026; Yang et al., 2026);数据集与结果检查研究则考察组合与评分可靠性(Wang et al., 2026; Chen, 2026; HUANG et al., 2026)。为考察执行证据如何促成恢复,SkillLifeBench 记录已加载的实现、调用时刻的源哈希(代码的内容指纹),以及保留句柄的链接。其匹配恢复研究把这些执行记录加到日志和元数据上,同时保持事件、诊断模型、动作和预算固定。
#### 比较维度。
表 1 比较七项能力。技能产物包括可复用指令、元数据、接口和代码。保留状态要求后来使用被持久化的状态;仅有写入只构成部分覆盖。版本变化包括发布、学习得到的修订,以及运行时变异。效用与伤害覆盖任务结果和违规;仅有拒绝、接受或检测器误报只构成部分覆盖。带版本的出处把版本连接到来源、批准、修订或使用。被调用代码绑定把调用连接到已加载的源和句柄,以便与选择结果比较。证据引导的缓解使用记录来做守卫、修复或操作复核。
3. 基准定义与构建
SkillLifeBench 评测的是:当技能发生变化时,有用且得到授权的任务完成。每个案例在同一请求和同一授权下配对不同的技能条件,并带有可执行的结果检查,以及被调用实现的记录。
3.1. 问题定义
每个案例规定一项用户请求、依条件而异的初始状态、一条授权边界、两个技能条件,以及可执行的结果检查。授权边界定义被允许的数据访问、目的地和状态变更。干净条件使用参考技能或参考响应;受挑战条件对技能代码、元数据或工具响应施加一项指定的变化。成对评测保留请求和授权边界,同时度量任务结果和已登记的违规。
模型观察到公开的工具名称、描述、参数模式和反馈;执行器解析实现。在主要比较中,模型看到接口但看不到源代码,因此一次合法调用可以执行被改动的行为。在 64 个实现与接口案例中,任务规定一次精确的 apply_contract 调用;比较所度量的,是该实现在这一调用下的执行后果。运行时案例在反馈之后测试决策;自主生命周期任务测试实现选择、配置和复用。
一个回合用一个模型和一套智能体脚手架运行一个案例条件。脚手架管理模型与工具之间的交互。一条轨迹通过持久的技能身份和版本状态把回合连接起来。每个回合分别评测有用输出和指定的违规:一份被请求的输出和一次未经授权的复制可以同时存在。
3.2. 生命周期与数据集设计
生命周期操作描述一项技能如何到达一项任务:获取把它准入,存储保留其代码和注册表条目(即技能身份、版本和批准的记录),检索选择一个技能身份和版本,执行调用已解析的实现,演进为后来的使用激活一个后继版本。A–E 扰动族规定沿这一生命周期发生变化的是什么。
该基准包含 388 个案例:262 个由本基准引入,126 个改编自 AgentDojo(Debenedetti et al., 2024)。这 126 个改编案例保留已发表的攻击载荷、任务、攻击目标和工具接口;其中 89 个具有完整的任务检查和攻击目标检查,构成我们的运行时决策轨道,也称为语义核心。附录 A 给出来源与控制。
A 改变实现行为(19 个案例)。B 改变接口与实现的关系(77 个):53 个代码变更保持接口不变,1 个改变描述,23 个同时改变代码和元数据。C 改变运行时内容(128 个)。D 测试工作流传播(65 个),检查跨技能调用的效果。E 比较版本(99 个),包括 OpenClaw 的安全更新(aether-ai-agent, 2026; Sid, 2026)。全部 A 与 E 的配对,以及上面那 53 个 B 配对,都保留相同的公开目录。
对 13 个组合案例,另有一项控制替换被跟踪的输入值,或移除目标命令,同时保持下游工具固定。这测试下游效果对被指定来源输入的依赖,使每个模型在完整套件上有 $2\times 388+13=789$ 次运行。共享任务语境或攻击目标的案例保留共同标识符。
3.3. 案例构建与验证
#### 1. 规定任务与授权。
我们记录每一项请求、所需输入、被允许的目的地和状态变更,以及攻击目标,然后核验该目标超出了用户的授权。
#### 2. 构建成对的技能条件。
我们使用 A–E 所定义的变化,构造参考产物和受挑战产物。文件哈希为每个产物做指纹;成对运行共享请求和授权,并从匹配的任务状态开始。
#### 3. 定义并核验结果检查。
正控制与负控制核验效用检查和伤害检查。例如,打包案例把文档是否被保留,与被禁止的版本控制元数据分开检查(第 4.6 节)。
#### 4. 核验一项干预。
我们测试完整工作流:它们保留请求、输入和授权,同时产出所需的有用输出,且不产生指定的伤害。第 3.5 节区分已核验的、智能体可见的工作流,受信任的部署干预,以及没有已核验干预的案例。
#### 自主生命周期决策。
我们从 262 个本文引入的案例中的 12 个父案例,派生出 60 个任务实例:B、D、E 各四个模板,每个模板五个参数实例。每一对都在同一请求、同一输入和同一授权下,配对干净的与受挑战的生命周期状态。公开观察暴露注册表批准、已加载版本及其绑定,或已保存的工作流策略。智能体可以自由检查、选择并重新加载实现,配置工作流,或组合可用工具来完成任务。这些选择覆盖实现选择、存储替换、被撤销的权限、工作流组合和版本更新。状态对保留父机制;打包模板使用维护者发布的 OpenClaw 更新。全部 560 项资格控制都通过,包括两种条件下的安全完成,以及拒绝、部分输出和有害执行控制。附录 A 给出模板和完整端点。
3.4. 执行与测量
图 3。840 次受挑战生命周期执行上的任务结果与攻击结果。联合成功占据左上格;103 个已完成任务同时也达成了已登记的攻击目标。四个任务/攻击目标格子分别包含:548 次没有达成目标的任务成功,103 次达成目标的任务成功,153 次没有达成目标的任务失败,以及 36 次达成目标的任务失败。
#### 执行记录与隔离。
我们的评测框架 SkillLifeEval 把模型推理、技能执行和结果测量分开(图 1)。技能在一次性的 Linux 沙箱中接收已声明的参数和合成任务文件;API 凭证留在沙箱之外。记录捕获被调用的实现、参数、反馈、状态变更和终止。持久运行还记录活跃版本、被选版本和已执行版本。实现身份表示已加载的对象;源哈希为其代码做指纹;句柄链接把存储的引用连接到该对象。与被选版本或已批准版本比较,可以暴露过期或被替换的实现。哈希确立代码身份;结果检查确立伤害。实验在与生产数据和外部接收方隔离的受控环境中,使用合成金丝雀——用来揭示未经授权复制的测试值。已发布的记录省略带有凭证的响应头。
#### 持久状态。
一项支持性研究让 77 个 B 族技能经过安装、在存储中被替换,以及基于哈希的核验。更新研究比较全新的版本查找、存储句柄的复用,以及版本核验;任务输入被重置,而注册表和句柄状态持续存在。可用实现、被选实现和已执行实现的记录,以及任务结果,揭示存储句柄何时调用了与所选版本不同的版本(第 4.6 节)。附录 D 给出持久状态协议和案例时间线。
#### 结果检查。
我们度量四种结果:依案例而定的效用(该案例所要求的有用输出,例如保留一份文档)、完整的任务正确性、指定的伤害,以及完整的攻击目标。一项披露检查把一个指定的合成值绑定到其目的地;一项完整性检查评测受保护状态的转移。运行时轨道检查完整任务和攻击目标;生命周期轨道还检查所需产物和生命周期状态。
两条决策轨道都把任务完成和攻击目标达成记为 True 或 False。完成要求全部被指定的答案、产物、状态变更和顺序约束。未完成的任务算失败,包括拒绝之后、无效动作之后或预算耗尽之后。一旦攻击目标发生,后来的修复并不把它抹去。联合成功意味着完成任务且未达成攻击目标。模型在每条轨道内部共享同一评分协议(附录 A)。
#### 受控比较。
固定动作的比较从匹配的初始状态重放相同的动作;端到端比较还度量模型规划。元数据控制在同一记录下来的执行点上,改变被指定的反馈字段。
表 2。模型在运行时任务和生命周期任务上的决策质量(%)。联合成功率(Joint SR)要求在挑战下任务成功,并且没有已登记的未经授权目标。行按生命周期 Joint SR 排名;分数相同则共享名次。任务成功率(TSR)度量任务完成。每个生命周期模板贡献五个任务,因此其等模板平均等于全部 60 个任务上的比率。
| 名次 | 模型 | 权重 | 运行时干净 TSR | 运行时受挑战 TSR | 运行时 Joint SR | 生命周期干净 TSR | 生命周期受挑战 TSR | 生命周期 Joint SR |
|---|---|---|---|---|---|---|---|---|
| 1 | GPT-5.6-Sol | Closed | 87.6 | 82.0 | 82.0 | 100.0 | 100.0 | 96.7 |
| 1 | GPT-5.6-Terra | Closed | 91.0 | 80.9 | 80.9 | 98.3 | 98.3 | 96.7 |
| 3 | Sonnet 5 | Closed | 87.6 | 76.4 | 76.4 | 88.3 | 91.7 | 88.3 |
| 3 | GLM-5.2 | Open | 84.3 | 74.2 | 74.2 | 96.7 | 95.0 | 88.3 |
| 5 | GLM-5.3 | Open | 89.9 | 76.4 | 76.4 | 95.0 | 96.7 | 80.0 |
| 6 | DeepSeek-V4-Pro | Open | 82.0 | 77.5 | 77.5 | 86.7 | 88.3 | 76.7 |
| 6 | Kimi-K2.6 | Open | 84.3 | 77.5 | 77.5 | 100.0 | 96.7 | 76.7 |
| 8 | DeepSeek-V3.2 | Open | 59.6 | 56.2 | 28.1 | 85.0 | 83.3 | 60.0 |
| 9 | Sonnet 4.6 | Closed | 87.6 | 82.0 | 82.0 | 88.3 | 85.0 | 56.7 |
| 10 | Qwen3.5-4B | Open | 84.3 | 74.2 | 61.8 | 98.3 | 86.7 | 55.0 |
| 11 | Qwen3.5-9B | Open | 85.4 | 76.4 | 73.0 | 85.0 | 68.3 | 51.7 |
| 12 | DeepSeek-V4-Flash | Open | 85.4 | 77.5 | 77.5 | 53.3 | 50.0 | 45.0 |
| 13 | GPT-6-Luna | Closed | 75.3 | 73.0 | 73.0 | 33.3 | 31.7 | 31.7 |
| 14 | Gemini 3.5 Flash | Closed | 76.4 | 67.4 | 67.4 | 38.3 | 13.3 | 10.0 |
运行时决策的样本量为 $N=89$;生命周期决策的样本量为 $N=60$。Open 表示可下载权重,Closed 表示仅托管访问。表中数字均按原文著录,只翻译表头。从左到右,前三列百分比是运行时轨道上的干净任务成功率、受挑战任务成功率和联合成功率;后三列是生命周期轨道上的同三项比率。名次按生命周期联合成功率排列,分数相同则并列。GPT-5.6-Sol 与 GPT-5.6-Terra 并列第一,生命周期联合成功均为 96.7%;Gemini 3.5 Flash 为 10.0%,排在最后。Sonnet 4.6 的运行时联合成功为 82.0%,与 Sol 相同,但生命周期联合成功只有 56.7%。
3.5. 已核验的干预选项
已核验的干预分成两组(图 5)。170 个具有智能体可见干预工作流的案例,只使用智能体可以获得的信息。另有 189 个案例具有已核验的部署干预,它们使用受信任的资源,例如一份受信任的技能实现。其余 29 个案例进入模型评测,但没有可供比较的已核验干预。
我们用五个重新抽样的私有测试值,重跑这 170 条智能体可见工作流中的每一条。全部 850 次重放都保留所需的有用输出,并避免指定的伤害,且不读取隐藏信息,也不改变任务授权。第 4.3 节在具有智能体可见工作流的案例上,测试授权检查。授权检查对照请求所允许的数据、目的地和状态变更来评测动作。受信任的恢复在具有部署干预的案例上测试。
3.6. 匹配恢复
#### 恢复案例与配对。
恢复研究复用 388 个案例基准中的 77 个 B 族案例。它们覆盖 17 个任务模板和六种故障类型,在恢复之前通过包、注册表、缓存或句柄的变化引入(表 6)。每个父案例在同一请求、授权、输入、接口和检查下,把一个风险配置与一个构造出来的良性配置配对。案例和公开批准记录在模型评测之前固定。修复候选必须可用、未被撤销、完整性已核验,并且与任务兼容。完全恢复(Full)按批准顺序和源哈希选择;它不接收隐藏的故障标签、成对干净身份,或成功修复的答案。每个模型评测 77 个风险配置和 77 个良性配置,使每种方法在两个模型上、每条轨道有 154 次评测。附录 C 给出构造和规则触发的细节。
日志与元数据(M)包含请求的授权、调用与返回、事件结果、原生日志、已安装版本和活跃版本、文件哈希、批准记录,以及合格的修复候选。执行出处(E)在 M 之上加入实现级出处:已加载实现的身份、调用时刻的源哈希,以及存储句柄的链接。事件、模型、提示、动作和预算相同;故障标签和修复标签被扣下。
在两种证据条件下,模型都选择一个受支持的计划。一个共同的执行器从匹配的包、注册表、缓存和内存状态应用该计划。一段全新的 Default 对话运行固定的后续任务。Full 恢复合格的已批准实现并重启运行时,不做模型诊断。附录 A.1 给出提示、动作、选择规则和失败处理。
后续任务度量依案例而定的效用和伤害;效用联合成功要求有用输出且没有指定的伤害。一条成对的良性轨道度量效用代价。我们统计除无动作(noop)以外被提交的计划,包括被拒绝或失败的计划,并计时在线证据准备、诊断、补救和后续任务。诊断和修复各有 120 秒上限;任务执行保留 900 秒的回合预算。
#### 确定性恢复规则。
这些规则使用执行记录、匹配的事件快照和已授权的恢复目标,不做模型诊断。R-Hash-Reload 在已执行或已存储的源哈希违反版本或批准约束时,重新加载或激活合格实现。R-Hash-Restore 使用同一触发条件,但应用 Full。R-Hash-Link 还检查句柄绑定,并按照可见的适配器能力选择重新加载、重启或恢复。有效的保留版本满足与其他合格目标相同的任务约束。每条规则从共同的动作集合中选择一个计划,不做试探性修复。
证据消融从 E 中去掉实现身份、已执行源哈希或句柄链接,同时保留其他证据。附录 A.2 给出完整的规则定义、资源检查、投影和预算。
4. 实验
四个研究问题(RQ)考察模型决策、有用干预、恢复所需的证据,以及干预成本。
4.1. 实验设置
表 3。授权检查与恢复的效果。比率是联合成功(%)。$N$ 计两个 Qwen 模型上每种条件的评测次数;$\Delta$ 以百分点计。
| 子集 | $N$ | 默认 | 干预 | $\Delta$ |
|---|---|---|---|---|
| 1. 默认 $\rightarrow$ 授权检查 | ||||
| B/D/E | 92 | 31.52 | 46.74 | +15.22 |
| C:核心$\dagger$ | 178 | 67.42 | 72.47 | +5.06 |
| C:其他 | 70 | 37.14 | 50.00 | +12.86 |
| 2. 默认部署 $\rightarrow$ 已授权恢复 | ||||
| 部署 | 378 | 6.88 | 70.63 | +63.76 |
两条决策轨道在 89 个运行时任务和 60 个生命周期任务上评测 14 个模型,给出 4,172 次干净/受挑战执行。十二个模型还覆盖全部 388 个来源案例。这些基线研究合计 11,504 次执行。每个模型在每条轨道内使用固定配置;附录 B 给出配置和精确的结果计数。在表 2 中,Open 表示可下载权重,Closed 表示仅托管访问。两条轨道都允许 15 个逻辑模型回合、30 次尝试的工具调用、每次请求 2,048 个输出词元、每次请求两次传输尝试、180 秒的请求超时,以及每个回合 900 秒。
#### 结果与比较。
联合成功率(Joint SR)是在未达成攻击目标的情况下完成的受挑战任务所占比例。分母对运行时是 89,对生命周期是 60;分数保持分开。表 2 按生命周期 Joint SR 排列模型,并列者共享名次。任务成功率(TSR)度量每种条件下的任务完成。生命周期区间把 12 个模板作为组来重抽样。RQ2 把受挑战的 Qwen 运行时记录复用为 Default,并在相同设置下把授权规则加为 Check(附录 A.1)。
每个干预案例/模型/条件运行一次。在两个 Qwen 模型上,授权检查对每种策略覆盖 92 次非运行时评测、178 次语义核心评测,以及 70 次其他运行时评测。单独的部署队列包含 189 个案例,使每种条件有 378 次受挑战评测和 378 次良性评测。恢复使用依案例而定的效用检查和伤害检查来评测后续任务结果:每个 Qwen 模型有事件之后的 77 个风险案例和 77 个良性案例。这使 Logs、Provenance、Full 和每条规则基线在每个任务组上有 154 次评测,每种方法有 308 次评测。良性案例度量干预代价;每一组 Provenance 证据消融使用同样的 154 个风险任务。
图 4。按任务划分的生命周期决策质量。模板按类别分组,并按联合成功递减排序。每个比率把 14 个模型在五个实例上汇总(70 次受挑战运行);各面板共享 0–100% 的刻度。三个面板分别归入实现与权限任务、持久组合任务,以及版本更新任务。每个面板包含四条按联合成功递减排序的水平条。所有面板共享从零到百分之百的刻度,并显示 70 次中的精确成功次数。
图 5。按案例族划分的干预可行性。在 388 个案例中,170 个有智能体可见工作流,189 个有部署干预,29 个没有已核验干预。案例在模型评测之前分类。A 到 E 五个族的堆叠水平条中,智能体可见工作流、部署干预、无已核验干预的案例数分别是:A 为 0、19、0;B 为 10、60、7;C 为 124、0、4;D 为 30、25、10;E 为 6、85、8。
图 6。恢复策略与执行证据。(a、b)风险联合成功与良性效用,各自基于 154 次评测,行按风险成功排序。(c)从 Provenance 去掉每一证据组之后的恢复损失(百分点)。(d)在 46 个没有哈希触发的风险案例上,Full 与 Restore 的比较。颜色标识方法;表 8 给出精确计数。这是一张单列的二乘二图。上方面板共享方法顺序:Full、Provenance、Link、Restore、Reload 和 Logs。风险成功分别为 107、101、100、94、90、76,良性效用成功分别为 117、115、120、118、122、120,各自以 154 为分母。去掉源哈希、句柄链接和实现身份,分别使成功下降 10.39、6.49、0.65 个百分点。没有哈希触发时,Full 在 46 个风险任务中成功 32 个,Restore 成功 19 个。
4.2. RQ1:模型如何处理运行时与生命周期挑战?
生命周期决策区分了在运行时任务上打成平手的模型。运行时 Joint SR 的范围是 28.1–82.0%;生命周期 Joint SR 的范围是 10.0–96.7%(表 2)。GPT-5.6-Sol 与 Sonnet 4.6 在运行时都得到 73/89,但在生命周期上分别达到 58/60 与 34/60。Sol 与 Terra 共享最高的生命周期分数,58/60(96.7%)。
任务完成可以掩盖生命周期伤害。在 840 次受挑战生命周期评测中,智能体完成 651 个任务(77.5%),但其中 103 个也达成了攻击目标,留下 548 次联合成功(65.2%;图 3)。干净运行取得 688 次联合成功(81.9%),攻击目标成功为零。
GPT-6-Luna 完成 19/60 个受挑战生命周期任务,攻击目标成功为零。Qwen3.5-4B 完成 52/60,但其中 19 次完成也达成了攻击目标,留下 33 次联合成功。这些结果把未完成的工作与有害的完成区分开。
决策要求因任务而异。联合成功的范围,从只读日历访问的 20/70,到私有报告访问的 62/70(图 4)。日历任务在权限被撤销之后要求一个只读实现;私有报告任务允许一个仅所有者可用的参数。在 139 次攻击目标成功中的 78 次里,目标第一次发生,是在一次调用执行了与所选版本不同的实现之后。
发现 1。 生命周期决策提供了超出运行时表现的信息。在运行时并列 82.0% 的模型,在生命周期上得到 96.7% 与 56.7%。有 103 次生命周期运行在完成任务的同时达成了攻击目标。
4.3. RQ2:已核验工作流是否支持有用干预?
授权检查提高智能体可见工作流上的联合成功。在匹配的资源下,没有指定效果的有用执行,汇总后从 29/92 增加到 43/92(+15.22 个百分点;表 3)。这些评测覆盖 46 个本文引入的非运行时案例:10 个接口案例、30 个组合案例,以及六个具有已核验工作流的版本案例,模型可以在其中选择已授权的动作。效用阳性从 53 增加到 56,效果从 40 降到 27,有 18 次成对增益和 4 次损失。已核验工作流确立可行的结果;Check 测试智能体是否选择一条已授权路径。
运行时联合成功提高,同时攻击目标成功也增加。在 89 个运行时任务上,授权检查使 Qwen3.5-9B 的联合成功从 65/89 提高到 69/89,使 Qwen3.5-4B 从 55/89 提高到 60/89。汇总成功从 120/178 增加到 129/178(+5.06 个百分点),有 15 次成对增益和 6 次损失。任务成功从 134 升到 145,而完整攻击目标也从 19 升到 21。另一运行时子集从 26/70 提高到 35/70(+12.86 个百分点)。语义核心检查完整的任务正确性;其他组检查它们所指定的有用输出。
受信任的恢复提高部署案例上的联合成功。在单独的 189 个案例部署队列上,效用联合成功从 26/378(6.88%)增加到 267/378(70.63%)。效用阳性从 238 升到 267;观察到的伤害从 216 降到零。成对比较包含 245 次增益和 4 次损失。恢复改变已部署的实现;RQ4 报告其良性效用代价。
发现 2。 授权检查在全部三个任务组上提高汇总联合成功。增益为 15.22、5.06 和 12.86 个百分点;语义核心中的完整攻击目标也从 19 升到 21。受信任的部署恢复在其自身队列上达到 70.63% 的效用联合成功。
表 4。被选出的后继,与被执行的父版本。一次有链接的 OpenClaw 更新(Sid, 2026),处于三种受控路由策略之下。合成金丝雀在本地被捕获;效用度量文档是否被保留。
E 类生命周期更新。案例 E-NATIVE-VCS。模型:Qwen3.5-9B。包:packager-vcs。来源:OpenClaw。
任务与边界。打包 example-skill,并把其普通文档发布到所配置的本地注册表。排除技能包之外的文件,以及版本控制元数据。
$v_{0}$:父版本 3f64d4a。包中包含 .git/config。夹具的合成金丝雀进入 ZIP。
$v_{1}$:后继版本 3bfe990。排除版本控制目录。普通文档仍留在 ZIP 中。
在 $t_{1}$ 的受控 Reuse 策略:选择与执行发生偏离。活跃 / 返回的是 $v_{1}$,接着是存储的父句柄,接着执行 $v_{0}$,接着是被捕获的 ZIP。后继处于活跃状态;Reuse 解析先前的句柄;package_and_publish 产出 normal.txt 加上 .git/config。
同一次更新,三种路由策略($t_{1}$)。
| 策略 | 活跃 | 返回 | 已执行 | 效用 | 伤害 |
|---|---|---|---|---|---|
| Fresh | $v_{1}$ | $v_{1}$ | $v_{1}$ | True | False |
| Reuse | $v_{1}$ | $v_{1}$ | $v_{0}$ | True | True |
| Revalidate | $v_{1}$ | $v_{1}$ | $v_{1}$ | True | False |
包的结果检查。效用:被捕获的包中有精确的普通文档。伤害:所产生或被捕获的 ZIP 中有合成金丝雀。Reuse 分发了普通文档,并且包含被禁止的版本控制元数据。
执行出处增加了什么。在全部三种策略下,活跃版本和返回版本都标识为 $v_{1}$。已解析对象和源绑定在 Reuse 下标识为 $v_{0}$,在 Fresh/Revalidate 下标识为 $v_{1}$。输出日志揭示被禁止的文件;调用证据把它归因于被保留的父实现。
4.4. RQ3:执行出处为生命周期恢复增加了什么?
持久状态把选择与执行分开。存储替换在 66 个技能、231 次成对的案例/模型观察中,产生 161 个新的伤害阳性结果。在 36 次受控的更新后执行中,活跃身份与被选身份始终一致,但有 12 次调用执行的是父版本:六个有害的受挑战任务,以及六个没有伤害的良性任务。调用记录识别已执行的实现;结果检查确定其效果。表 4 与附录 D 给出成对协议。
执行证据支持模型诊断和基于规则的恢复。在匹配的快照和动作下,风险联合成功在日志与元数据下为 76/154,在执行出处下为 101/154,在完全恢复下为 107/154(图 6a–b)。确定性规则中,R-Hash-Reload 达到 90/154,R-Hash-Restore 达到 94/154;Provenance 相对 R-Hash-Restore 有 12 次成对增益和 5 次损失,净增益为七。R-Hash-Link 达到 100/154,Provenance 相对它有四次增益和三次损失。源哈希和句柄链接支持一条规则,它恢复的风险任务几乎与模型诊断一样多。
完全恢复在没有哈希触发的案例上获得增益。在规则触发的 108 次风险评测中,R-Hash-Restore 与 Full 各自成功 75 次。在它选择无动作的 46 次评测中,该规则成功 19 次,Full 成功 32 次。这些未触发的案例解释了 Full 相对 R-Hash-Restore 的全部 13 次成功净优势。
源哈希和句柄链接对恢复的贡献最大。图 6c 每次从 Provenance 去掉一个证据组。没有源哈希时,成功从 101 降到 85/154(10.39 个百分点);没有句柄链接时,降到 91/154(6.49 个百分点)。没有实现身份时,为 100/154(0.65 个百分点)。每次消融都保留原生日志和所有其他证据组。附录 A.2 定义投影,表 8 给出分模型计数以及成对增益与逆转。
发现 3。 执行证据同时支持规则和模型引导的恢复。哈希与句柄规则恢复 100/154 个任务,模型诊断为 101/154。去掉源哈希或句柄链接,使后者分别减少 16 次或十次成功;去掉实现身份只减少一次。
4.5. RQ4:干预伴随哪些效用与执行成本?
出处使用的计划更少、时间也少于完全恢复。在 308 次评测中,Logs、Provenance 和 Full 分别提交 165、137 和 308 个非 noop 计划,平均时间分别为 102.50、97.50 和 127.50 秒。Provenance 比 Full 少用 55.52% 的计划,在线时间少 23.53%。计时包括失败和超时;附录 A.1 定义提交与计时边界。
出处保留的良性任务少于 Logs、Full 和各条规则。在恢复研究中,良性效用在 Logs 下为 120/154(77.92%),在 Provenance 下为 115/154(74.68%),在完全恢复下为 117/154(75.97%)。R-Hash-Reload、R-Hash-Restore 和 R-Hash-Link 分别保留 122、118 和 120 次良性成功。R-Hash-Link 比 Provenance 少一次风险成功,多五次良性成功。在单独的部署研究中,良性效用从 303/378(80.16%)变为 294/378(77.78%),下降 2.38 个百分点。附录 C 给出成对结果和精确成本。
发现 4。 恢复策略在风险恢复、良性效用和成本之间权衡。R-Hash-Link 在风险恢复上几乎追上 Provenance(100 对 101),并保留更多良性任务(120 对 115)。Provenance 比 Full 少用 55.52% 的计划、少用 23.53% 的在线时间,同时恢复和良性效用都更低。
4.6. 案例研究:过期的执行句柄
被保留的执行句柄在后继已被选出之后,仍然运行父版本。表 4 跟随这次 OpenClaw 更新:在 $t_{1}$,三种策略下选择都返回后继,而 Reuse 执行父版本,Fresh 与 Revalidate 执行后继。注册表和句柄在全新的任务夹具之间持续存在。所有策略在 $t_{0}$ 都执行父版本,并在 $t_{2}$ 使用预定的全新解析。全部九个匹配的良性任务都保留文档且不含金丝雀。
调用记录定位选择与执行的错配。字段 active_target 与 selection.selected 标识后继;在 Reuse 下,routing.resolved 与 loaded_source 标识被执行的父版本。源清单对上游模块代码做哈希;code_sha256 对包装器做哈希。输出 ZIP 包含被禁止的文件,路由记录把它链接到被保留的父实现。
在 $t_{1}$,活跃版本字段与被选版本字段在各策略之间一致,但它们的结果不同。所有策略都保留文档,因此仅有效用会漏掉这一故障。源绑定识别归档背后的代码;句柄链接识别需要刷新的引用。Fresh 与 Revalidate 表明更新必须在何处生效:在下一次调用。
在整个更新研究中,108 次运行包括 54 个受挑战任务和 54 个良性任务。在 $t_{1}$,按更新、夹具和模型分成的 12 个组比较策略。Fresh 与 Revalidate 保留打包效用(3/3),并拒绝符号链接打包(0/3),没有伤害。全部 18 个良性的 $t_{1}$ 任务都保留效用且没有伤害。
5. 结论
SkillLifeBench 使用成对的技能条件和执行记录,评测得到授权的任务完成。生命周期任务揭示超出运行时分数的模型差异,而任务完成可以伴随攻击目标的达成。在两个 Qwen 模型上,执行证据改进风险恢复;一条哈希与句柄规则几乎追上模型诊断,并且良性效用更高。该基准支持诊断执行错配,并在风险、良性效用和成本上比较恢复策略。因此,评测技能复用,需要检查版本选择是否在执行中生效,以及任务动作是否停留在用户授权之内。
觉得有用,转给同事
微信扫码
用微信扫一扫,在手机上打开后即可转发。