外观
Agent Harness 生命周期风险评测
摘要
HarnessRisk 把 Agent Harness 安全拆成配置、能力扩展、运行操作、状态持久化、动作控制和事件恢复六个阶段,以 128 个沙箱案例、3 个 Harness、6 个模型和 14 个 model-harness 配置比较部署组合。作者实验中攻击成功率(Attack Success Rate, ASR)为 12.6%–80.9%,任务效用为 75.0%–97.6%;配置阶段在三个 Harness 中都最易受影响。
该研究的独立增量不是又增加一种提示词注入,而是把安全责任放回完整 Harness 生命周期,并同时测量攻击成功、持久化、检测与恢复。结果来自作者控制实验,证据为 moderate,不能外推为所测产品的现实漏洞发生率。
核心创新与差异
现有 SABER 主要检查最终工作区状态,ToolHazard 关注对抗环境合成;HarnessRisk 则比较同一部署组合在六个生命周期阶段的失效位置。尤其重要的是,部分配置的风险识别率超过 90%,仍保留明显攻击成功,说明“模型看出了风险”不能替代 Harness 的确定性阻断和恢复验证。
威胁模型与评测流程
每个案例把良性用户目标与嵌入不可信工作流制品的对抗指令配对。攻击者能影响配置、扩展、工作区内容或持久状态,但测试在沙箱中执行。评测记录任务效用、ASR、攻击是否跨会话持续、控制是否检出,以及事件后能否恢复到可信状态。
实验设计与关键结果
128 个案例覆盖 14 个 model-harness 配置。不同配置的 ASR 跨越 12.6%–80.9%,说明不能只给基础模型或 Harness 单独打安全分;同一模型在不同 Harness 中、同一 Harness 配不同模型时都可能改变排序。配置阶段的共同高风险表明,安全参数可在表面合法流程中被改写,而后续动作审批无法总是恢复此前丢失的约束。
后续的 Safe to Resume? 将事件恢复阶段进一步拆为检查点内容、框架内部状态与外部副作用三类状态,并在三个 Agent 框架中构造五类回滚连续性失效。其核心发现是:恢复点即使能重新加载对话或执行器,也可能重复已经产生的外部动作、遗漏回滚后的授权变化,或让内部计划与现实资源状态分叉。因此“进程成功恢复”不能作为安全完成条件,恢复验收必须比较恢复前后的外部世界状态和动作幂等性。该证据来自作者控制实验,不能外推到未测试框架。
Execution Edits 精确检查进一步把 checkpoint、fork、restore 与 merge 统一建模为执行编辑,并检查编辑后已授权、在途和必需动作是否仍满足安全条件。它补足了仅验证单次回滚的范围:分支复制可能重复外部副作用,恢复可能重新启用已撤销授权,合并则可能把各自安全的局部历史组合成不安全状态。因此 Harness 的恢复门禁应同时验证动作授权沿革、不可撤销外部状态和分支合并后的全局不变量,而不能只比较内部快照。该结论来自论文的形式化模型和作者实验,公开代码仓库当前不可核验,尚不能外推到任意 Agent Runtime。
三个后续结果说明 Harness 本身既是实验变量,也是可变资产。EvoUndo发现 Agent 自我修改虽然可提升能力,却不能保证跨状态安全恢复,并提出独立检查可恢复性的框架;该工作有代码和限制说明,但尚无独立复现。Same Model, Different Harness在模型与任务固定时只更换 Harness,直接检验结果是否翻转;公开记录未给出可独立复核的完整工件,因此当前只能支持“必须把 Harness 版本列为实验变量”。StarHarness把 prompt、任务框架、工具接口、Skill、MCP provider、子 Agent 和循环配置纳入分层搜索,在三个企业环境中经 4–12 次接受变更后将完整 benchmark 表现提高 20–35 个百分点。性能增益不等于安全增益;搜索过程还可能对 benchmark 过拟合,三项结果都需用留出任务、状态差分和回滚测试复核。
Inspect AI 0.3.263 提供了与生命周期风险直接相关的工程证据。该版本新增 inspect ctl task drain,允许停止派发排队样本、等待在途样本自然结束,并以 EvalResults.logged_samples 记录实际解决的样本数;被留在队列中的样本可由后续 eval-set 或 eval-retry 继续执行。它还修复了取消重试、任务结束后排队样本被误判为已完成、工具目录所有权不安全,以及日志中显式 Score.reason 丢失等问题。这里能确认的是 Harness 对排队、在途、已记录和待重试状态的处理语义发生了变化,不能据此声称此前所有评测均受影响;升级前后应保存版本、任务终止方式、logged_samples、审批策略和未派发样本清单,避免把部分运行误当成完整运行。
本轮证据把生命周期评测补成“测量框架—真实配置—逐步轨迹—策略演化”四个相互约束的层面。AgentAudit以五个模型和九类能力/对抗任务生成综合信任分,但跨模型 22.6–95.1 的差距仍受任务权重影响;SAGE-RT按七类可观察行为自动生成每域 120 个场景,并以人工校验 LLM Judge 比较 CrewAI 与 AutoGen;配置供应链扫描在 3,171 个公开仓库中观察到未锁定 MCP 版本、表面收窄但实际预授权任意执行,以及随 Skill 分发的 shell 预授权;AgentDrift则为五个领域 12,536 条合成工具轨迹的 71,024 个步骤标注注入点、劫持与失败攻击。结合 SafeEvolve在 AgentDojo 上对 Qwen3.5-4B 报告 ASR 约降至三分之一且良性效用由 59.79% 升至 61.86%,可见 Harness 验收不能只比较总分:配置来源和权限闭包、攻击步骤定位、Judge 校准、策略更新后的留出攻击与回滚条件必须分别可审计。
AgentWard从初始化、输入处理、记忆、决策和执行五个阶段组织异构防护,并以 OpenClaw 插件原型展示阶段间协调与执行约束。它补充 HarnessRisk 的评测视角:生命周期控制不仅要逐阶段存在,还要沿威胁传播路径共享来源、授权和状态信息。公开材料主要是七页架构说明与原型可行性展示,没有给出大规模对抗样本、跨框架比较或独立复现,因此不能据此断言五层架构已达到生产防护效果。
防护措施与验证方法
- 对六阶段分别定义不变量、审计点和恢复验收条件,避免只测最终动作。
- 配置与扩展采用签名、来源约束和差异审查;高风险参数变更默认拒绝。
- 检测和阻断分开计分,验证“识别风险后确实没有产生副作用”。
- 事件恢复应检查持久状态、凭据、扩展和外部动作,而不只是清空对话。
局限与待验证问题
案例、Harness 和攻击制品均由作者设计;不同配置的权限与功能并不完全等价。研究没有独立复现,也没有证明六阶段穷尽所有生命周期责任。后续需要真实事故回放、跨版本重复测试,以及对恢复后残留状态的长期验证。