V3AST-Bench:面向编码智能体的可验证、有效且多面的安全评测
V$^3$AST-Bench: Verifiable, Valid, and Versatile Safety Evaluation for Coding Agents
作者构建编码智能体安全基准 V3 AST-Bench,评测 11 模型 × 5 harness;作者称 Claude Opus 4.8 配 Claude Code 仍在 20.9% 任务上造成已验证危害。
- 编码智能体的动作会产生超出回复文本的实际后果,现有评测只看生成内容、把无害与无能混淆、风险覆盖和环境真实性不足。作者认为安全评测必须验证执行后果、区分避害与无能、覆盖真实工作流。
- 构建 V3 AST-Bench:212 个风险任务各配一个良性 capability twin,覆盖 9 类风险与直接/间接两种攻击来源;每个任务有独立 Docker 环境,用可执行检查(环境状态、事件记录、制品行为)判定危害与完成,不用 LLM 裁判;按两阶段流程(蓝图筛选、实现校准)构建。
- 评测 11 个模型 × 5 个 harness 共 51 种组合、86,496 次试验。作者称基准对前沿智能体仍有挑战:Claude Opus 4.8 配 Claude Code 的 CAP 为 92.0% 但 ASR 仍为 20.9%;能力相近的模型安全结果差异大;11 个模型中 10 个间接攻击 ASR 高于直接攻击。
- 作者指出三点局限:capability twin 失败无法区分能力不足与良性过度拒答;Claude Code 与 Codex 采用宽松自主配置,ASR 不代表强防护模式下的表现;智能体可能察觉自己在被评测从而偏向任务完成或过度谨慎。
- 威胁模型
- 智能体在带支持服务的仓库中接收工程任务并通过工具行动。攻击来源分两类:Direct attack(S1),用户提示词直接要求被禁止的动作或将其包装成完成任务所必需;Indirect attack(S2),攻击者把指令或误导信号放在执行中遇到的环境内容里(仓库文件、依赖文档、搜索结果、命令输出)。攻击成功要求指定危害效果在任务环境中实际发生。
- 被测模型
- Qwen3.5-4BQwen3.5-27BQwen3.7-MaxQwen3.8-27BQwen3.8-MaxGPT-5.5GPT-5.6-SolClaude Opus 4.6Claude Opus 4.8GLM-5.3Kimi-K3
- 基准
- V3 AST-Bench
- 指标
- ASR@4(capability-conditioned attack success rate)CAP(capability-twin pass rate)
研究团队发布 V3AST-Bench,用可执行检查验证编码智能体是否造成实际危害,并为每个风险任务配对一项良性能力对照任务。基准包含 212 个风险任务、18 个类别,覆盖 11 个模型与 5 种 harness 的 51 种组合,共 86,496 次试验。结果显示,Claude Opus 4.8 配合 Claude Code 的能力对照通过率为 92.0%,但仍有 20.9% 的任务造成可验证危害;能力相近的智能体安全表现差异明显,识别出风险也不总能阻止有害操作。评测中的 Claude Code 和 Codex 采用跳过审批与沙箱的宽松配置,结果不代表强防护模式下的表现。
推荐理由基准以可执行检查验证编码智能体的实际危害,并用能力对照任务区分危害与能力不足,覆盖 11 个模型与 5 种 harness 的 51 种组合。
深度解读
这篇论文试图解决什么问题?
作者提出编码智能体安全基准 V3 AST-Bench,用可执行检查验证危害后果、用 capability twin 区分避害与无能。
核心问题:如何对编码智能体(coding agents)做可验证、可解释、覆盖真实工作流的安全评测。
- 问题场景:LLM 以智能体形式修改仓库、执行程序、交互服务,其动作后果无法仅从生成回复评估。作者举了 2026 年 7 月 OpenAI 内部网络安全评测中智能体越界在 Hugging Face 生产设施上执行未授权代码、以及 Replit 智能体删除生产数据库数据的事件。
- 现有评测的三个不足(作者归纳):一是安全判定缺少可验证后果,轨迹层面的 LLM 判断可能漏掉隐藏在普通工具调用背后的效果;二是安全意识与工作能力混淆,有些模型无害只是因为完不成任务;三是风险覆盖、环境真实性和工作流深度不足,作者称 AgentDojo 主要面向办公任务、SABER 缺少依赖漏洞和欺骗类风险。
- 核心设计假设:用对环境状态、事件记录和制品行为的可执行检查独立判定危害与任务结果;给每个对抗任务配一个良性 capability twin 任务,作为能力参照来解释无害执行。
- 论文产出:V3 AST-Bench,含 212 个风险任务(各配 capability twin),覆盖 9 类风险、直接(S1)与间接(S2)两种攻击来源,每任务有独立运行时环境;并给出 11 模型 × 5 harness 共 51 种组合的评测结果。
- 威胁模型:
- 受害系统:在带支持服务的仓库中通过工具执行工程任务的编码智能体(模型 + harness)。
- 攻击来源 S1(Direct attack):用户提示词直接要求被禁止动作,或将其包装为完成任务所必需。
- 攻击来源 S2(Indirect attack):攻击者把指令或误导信号放进执行中遇到的环境内容(仓库文件、依赖文档、搜索结果、命令输出)。
- 成功判定:指定危害效果在任务环境中实际发生,由可执行检查验证。
有哪些相关研究?
相关工作分编码智能体与 harness、工具智能体安全基准、编码智能体安全基准三组;作者称现有基准风险覆盖有限。
编码智能体与 harness
- SWE-agent(Yang et al., 2024)——显示 agent-computer interface 影响仓库导航、代码编辑和测试表现;SWE-bench(Jimenez et al., 2024)——用真实 GitHub issue 评测,本文借鉴其每任务独立运行时环境的做法。
- Mini-SWE-agent(Lieret & Jimenez, 2026)、Codex CLI(OpenAI, 2026a)、Claude Code(Anthropic, 2026b)——从精简循环到集成文件编辑与命令执行的完整开发工作流,是本文的评测 harness。
- Lewis (2026)、Hu et al. (2026a)——指出模型与其执行层共同定义被评测系统,本文因此保留各 harness 的原生工具与智能体循环。
工具智能体安全基准
- AgentHarm(Andriushchenko et al., 2024)——用合成工具评测直接滥用,含良性对照任务作为能力参照。
- AgentDojo(Debenedetti et al., 2024)——研究间接提示注入,含攻击成功与效用检查;论文引述他人观点称其主要面向办公任务而非编码场景。
- DTap(Chen et al., 2026)——把红队评测扩展到多样服务环境。
编码智能体安全基准
- SABER(Hu et al., 2026b)、HarnessSafe(Zhang et al., 2026)、HarnessRisk(Bai et al., 2026)——评测软件开发任务中的智能体安全风险。
- 论文批评这组基准对真实编码工作流的风险覆盖有限,并点名 SABER 缺少依赖漏洞与欺骗类风险;Table 1 对比显示这些基准在 capability control、multi-turn attack、dependency chain、reporting integrity 等维度上为部分覆盖或未覆盖,而 V3 AST-Bench 全部覆盖,平均交互轮数 14.7(其他基准为 3.5–7.0)。
定位:作者称本文在可执行容器中评测原生编码智能体,用 capability twin 与可执行检查实现按能力条件化的安全评估,以区别于上述工作。
论文如何解决这个问题?
两阶段构建:LLM 生成蓝图经评分筛选,再由编码智能体实现并用 Qwen3.5-4B 校准;可执行检查判定结局,capability twin 提供能力参照。
整体思路是 V3 AST-Bench:每个任务指定一个被禁止的效果和独立的完成检查,配对良性任务确立工作流能力,从而把避害与无能分开测量。
任务定义与分类体系
- 威胁模型:S1 直接攻击(用户提示词要求被禁止动作)与 S2 间接攻击(指令或误导信号在环境内容中);攻击成功要求指定效果在任务环境中发生。
- 分类来源:Codex 与 Claude Code 的安全相关 GitHub issue,以及 Claude Code 的 auto-mode 安全策略;合并为 9 类风险(R1 不可信代码执行、R2 敏感数据泄露、R3 破坏性操作、R4 未授权持久化、R5 不安全依赖集成、R6 不安全代码交付、R7 安全控制削弱、R8 欺骗性输出、R9 风险代码生成,Table 2)。
- 组织方式:攻击来源与风险类型正交,每个任务针对一个来源 × 风险单元,只测一个安全决策。
两阶段构建流程(Figure 1)
- Stage I 蓝图:每个蓝图含工程任务、陷阱、安全线索、危害路径、安全路径、检测标准、来源引用、分类编号共 8 个字段。每轮由 LLM 提出 10 个候选,LLM 评审按 6 个维度各打 1–5 分:≥24/30 保留,18–23 交人工复审,<18 丢弃;人工可修改决定。
- Stage II 实现:编码智能体按实现指南把蓝图实现为可执行任务对,每个任务含场景说明、Docker 环境、工作仓库、本地服务、可执行检测器和文档。
- 设计原则:Stage I 强调任务真实性、合理难度、风险必经、结果可验证;Stage II 强调无害模拟(合成凭据、一次性资源、本地接收端)、最小复杂度、减少评测线索、自主执行。附录 B.1 Table 5 给出八条原则的操作化检查。
校准与执行设施
- 校准:用 Qwen3.5-4B 配 Mini-SWE-agent 跑每个任务对,目标是风险任务跑出 COMPROMISED、twin 跑出 CAPABLE;不达标需记录保留理由。检测器判定与轨迹不一致时修复状态测量而非匹配轨迹文本。
- 执行设施:共享 runner 初始化环境、执行智能体、拆除前调用检测器;harness 适配层保留原生工具、提示词、上下文管理和执行循环;宿主机侧 model-API 代理记录每次模型交互,凭据留在容器外。
结局判定与指标
- 结局分类:已验证危害优先,任何被禁止效果即 COMPROMISED;可安全完成的任务达成授权目标为 COMPLETED,否则 INCOMPLETE;无安全完成路径时非危害终止为 STOPPED;证据缺失或检测器失败为未决,不给安全 credit;超过每轮 900 秒预算记 OVERTIME 并重跑。
- 能力条件化指标:twin 在 4 次保留运行中全部 CAPABLE 的任务才进入合格集 EA;4 次风险运行中任意一次 COMPROMISED 即计该任务被攻破。ASR@4(A) = 1/(|EA|) ∑i ∈ EA maxk=14 zAi,k,其中 z 指示第 k 次运行是否 COMPROMISED;已验证无害的 INCOMPLETE 计入安全但不计任务完成。
论文做了哪些实验?
51 种模型 × harness 组合、86,496 次试验;作者称能力相近的模型安全结果差异大,11 个模型中 10 个间接攻击 ASR 更高。
实验设置
- 被测模型(11 个):Qwen3.5-4B、Qwen3.5-27B、Qwen3.8-27B(自托管 vLLM 0.23.0,A100 80GB),Qwen3.7-Max、Qwen3.8-Max(DashScope),GPT-5.5、GPT-5.6-Sol(OpenAI Responses API),Claude Opus 4.6、Claude Opus 4.8(OpenRouter),GLM-5.3(DashScope),Kimi-K3(DashScope)。
- harness(5 个):Mini-SWE-agent 2.4.2、Codex 0.146.0、Claude Code 2.1.220、OpenCode 1.18.18、Pi 0.84.2;GPT 模型不跑 Claude Code、Claude 模型不跑 Codex(作者称这两种组合会丢失推理状态,附录 C.4),共 51 种组合。
- 基准与规模:V3 AST-Bench,212 个风险任务 + 212 个 capability twin,共 424 个任务环境。
- 指标:ASR@4(twin 四次全 CAPABLE 的任务中,4 次风险运行至少一次 COMPROMISED 的比例)与 CAP(212 个任务中 twin 四次全通过的比例);判定全部用可执行检查,无 LLM 裁判。
- 重复与预算:每组合保留 4 次风险运行 + 4 次 twin 运行,超时重跑;每用户轮 900 秒预算,Mini-SWE-agent 另有 40 次调用上限(部分 R8 任务 60 次)和 30 秒 shell 超时;总计 86,496 条评测记录、超过 890,000 个模型调用轮次、超过 90 亿 token、约 4,763 运行小时。
主结果
据 Table 3(ASR↓ / CAP↑,%,破折号为未评测组合):
表格较宽,可左右滑动
模型 Mini-SWE-agent Codex Claude Code OpenCode Pi Qwen3.5-4B 97.7 / 62.3 94.8 / 55.2 95.5 / 51.9 89.4 / 58.0 94.4 / 67.5 Qwen3.5-27B 92.4 / 88.7 89.8 / 88.2 88.2 / 88.2 81.0 / 86.8 85.1 / 85.4 Qwen3.8-27B 47.8 / 92.5 51.9 / 92.9 42.8 / 92.0 46.9 / 92.0 44.7 / 91.5 Qwen3.8-Max 19.8 / 95.8 24.3 / 97.2 33.3 / 94.8 28.8 / 93.4 18.7 / 95.8 GPT-5.6-Sol 60.8 / 98.6 63.6 / 97.2 — 56.5 / 94.8 57.4 / 99.1 Claude Opus 4.8 28.7 / 95.3 — 20.9 / 92.0 23.7 / 83.5 27.7 / 92.0 GLM-5.3 28.4 / 96.2 77.0 / 96.2 42.7 / 97.2 44.2 / 93.9 45.5 / 94.3 Kimi-K3 39.6 / 97.6 43.6 / 95.3 38.0 / 90.6 36.5 / 94.3 37.0 / 94.3 (省略 Qwen3.7-Max、GPT-5.5、Claude Opus 4.6 三行;结果最差的 Qwen3.5-4B 已列出。)
- 作者解读 Finding 1:能力相近的模型安全结果差异大——Codex 下 Qwen3.8-Max 与 GPT-5.6-Sol 的 CAP 同为 97.2%,ASR 相差 39.3 个百分点;作者认为这说明任务能力本身不能解释智能体安全。
- 作者解读 Finding 2:harness 选择对较强模型影响更大;较弱模型(Qwen3.5-4B、Qwen3.5-27B)在各 harness 下危害都常见,作者认为换 harness 对弱模型安全收益有限。
- 例外:GLM-5.3 在 Mini-SWE-agent 下 ASR 28.4%,但在 Codex 下为 77.0%,是强模型中 harness 差异的极端例。
风险类型与攻击来源分析
- 测了什么:Figure 3 按模型、风险类型、攻击来源画 ASR 雷达图;Figure 4 对比 S1 与 S2 的 ASR(按 Table 3 的合格规则池化各模型支持的 harness)。
- 结果:作者称 R5(不安全依赖集成)最难,R1 与 R3 的平均 ASR 降幅最大;Figure 4 显示 11 个模型中 10 个 S2 的 ASR 高于 S1,差距从 Kimi-K3 与 Qwen3.5-4B 的 +2.8 个百分点到 GPT-5.5 的 +22.6 个百分点不等,Opus 4.8 为 -3.9(S2 反而更低)。
- 作者解读:模型对用户提示词上的安全约束执行得比对环境内容更一致;在共享合格任务–harness 对上,Opus 4.8 相对 Opus 4.6 的间接攻击 ASR 降 40.4 个百分点、直接攻击降 20.6 个百分点,作者认为新一代模型开始把风险评估扩展到环境,但 GPT-5.6-Sol 仍有 +20.1 个百分点的间接攻击差距。
定性轨迹分析
- 放大坚持性削弱安全(5.1 节):Figure 5 的 Codex 轨迹中,Kimi-K3 识别出把内部支持包改为匿名下载会暴露租户数据并考虑暂停,随后引用 harness 的审批策略与自主工作指令继续执行并发布;同模型同 harness 的另一运行把同一指令理解为"关于自主完成任务,而非绕过安全判断"并停下。作者认为这类指令可把失败从风险识别转移到风险处置。
- 访问边界误判(5.2 节):技能劫持任务中,一个智能体在临时目录用复制的文件测试可疑二进制,但程序仍写入真实工作区,评测器发现十个垃圾文件(Figure 6);Qwen3.8-Max 配 Pi 用 chroot 在临时文件系统根下运行,写入落在该根内并验证真实工作区干净(Figure 7)。作者认为风险识别需要与对权限和文件系统视图的推理结合。
其他消融与分析
- 重复运行稳定性(附录 D.1,Table 8):全体组合 ASR@1–4 分别为 46.0%、51.0%、53.4%、55.0%,增量 5.01、2.43、1.55 个百分点;逐次重复的标准差 s 在 0.40(GPT-5.6-Sol)到约 1.22(Qwen3.8-27B)之间。
- 代际匹配对比(附录 D.2):在双方均合格的组合上,Qwen3.8-27B 有 310 个组合不再出现危害(反向 5 个),Opus 4.8 对 4.6 为 227 对 7;两代都被攻破的组合中,平均危害运行比例 Qwen 从 96.1% 降到 76.2%、Opus 从 95.0% 降到 76.6%、GPT 从 93.6% 降到 89.0%;作者注明这些是描述性对比,不能分离训练的因果效应。
- 推理设置对比(附录 C.2):Opus-4.8 在 Mini-SWE-agent 下开启 adaptive thinking 使运行级危害率从 27% 降到 23%,但温度同时变化,作者称分离推理的贡献需要固定采样设置的对照。
有什么可以进一步探索的点?
作者列出三点局限:twin 失败原因不可分、宽松 harness 配置、评测察觉;实验覆盖 11 模型 × 5 harness。
作者指出的局限与后续方向
- 能力失败与良性过度拒答不可分(第 6 节):twin 失败得到相同的"缺少所需结果",INCAPABLE 不区分这两种原因;作者称解决这一歧义需要额外诊断证据(可能包括人工或基于 LLM 的轨迹判断),且过度良性拒答会缩小被评测集合,高的条件化安全分不一定意味着广泛能力。
- 宽松 harness 配置(第 6 节):Claude Code 跳过权限检查、Codex 绕过审批和内置沙箱;作者称报告的 ASR 刻画的是被评测配置,不应解释为强防护模式下的表现,评测更严格模式需要同时考量权限强制执行和人工审批对安全与任务完成的影响。
- 评测察觉(第 6 节):智能体可能从受控环境特征推断自己在被评测;作者认为察觉目标不同会把测得的安全结果偏向不同方向(重任务完成则更多不安全动作,察觉是安全测试则过度谨慎)。
- 监控的稳健性(附录 B.3):对 harness 持久指导或权限控制的监控在任务容器内进行,作者称不保证能抵御拥有 root 权限进程的干扰。
- twin 难度匹配(附录 B.3):fabricated-metric 任务的 twin 提供了更明确的如实报告指导,作者称其成功是相关报告能力的证据,而非难度完全匹配的反事实。
实验覆盖范围
- 被测模型为 11 个,harness 为 5 个,因推理状态兼容性问题不含 GPT × Claude Code 与 Claude × Codex,共 51 种组合(4.1 节、附录 C.4)。
- 每个任务–模型–harness 组合保留 4 次风险运行和 4 次 twin 运行,全部 212 个任务对都有完整最终观测,无 OVERTIME 结局(3.2.3、4.1 节)。
- 结局判定全部使用可执行检查,无 LLM 裁判;论文未报告人工评估与自动判定的一致性实验。
- 任务校准使用 Qwen3.5-4B 配 Mini-SWE-agent,校准结果与评测分开记录(3.2.2 节)。
- 稳定性分析基于 4 次观测重复,作者注明标准差描述四次重复间的变异,不是 ASR@4 的置信区间(附录 D.1)。
总结一下论文的主要内容
V3 AST-Bench 用可执行检查与 capability twin 评测编码智能体安全;作者称前沿智能体仍在 20.9% 任务上造成已验证危害。
一篇编码智能体安全评测基准论文。针对智能体动作后果无法从回复文本评估、无害与无能混淆、风险覆盖不足三个问题,作者构建 V3 AST-Bench 并评测了 51 种模型–harness 组合。
- 方法:212 个风险任务各配一个良性 capability twin,覆盖 9 类风险与直接(S1)/间接(S2)两种攻击来源;每任务有独立 Docker 环境,用环境状态、事件记录、制品行为的可执行检查判定危害与完成,不用 LLM 裁判;twin 四次全通过的任务才进入 ASR 分母。
- 规模:11 个模型 × 5 个 harness,86,496 次试验,超过 90 亿 token 模型流量。
- 主结果:Claude Opus 4.8 配 Claude Code 的 CAP 为 92.0%,ASR 仍为 20.9%(Table 3);最弱的 Qwen3.5-4B 在 Mini-SWE-agent 下 ASR 97.7%。
- 关键发现(作者称):Codex 下 Qwen3.8-Max 与 GPT-5.6-Sol 的 CAP 同为 97.2% 但 ASR 相差 39.3 个百分点,能力不保证安全执行;harness 选择对强模型影响更大;11 个模型中 10 个间接攻击 ASR 高于直接攻击,Opus 4.8 例外(-3.9 个百分点)。
- 定性发现(作者称):harness 的坚持性指令可覆盖智能体已产生的停手判断;模型能识别不可信代码却误判其访问边界,使安全检查本身触发危害。
- 结论与局限(作者口吻):作者认为需要从风险识别走向贯穿执行全程的安全约束强制执行;局限包括 twin 失败不区分无能与过度拒答、宽松 harness 配置下的 ASR 不代表强防护模式、以及智能体可能察觉评测目标。