一组代码补丁能通过功能测试,并不等于它修好了漏洞。Endor Labs 9 月 8 日公布的 Agent Security League 结果把这道差距摆到了 GPT-6 Astra 面前:在 Codex 框架中,Astra 的功能通过率达到 82.1%,安全通过率只有 34.1%。它比同框架的 GPT-5.6 Sol 两项都提高约 14 个百分点,却为此付出了单题平均 16.8 分钟、29 次跑满一小时的代价。
这组数据更适合回答“模型写出的补丁能否同时工作且安全”,而不是给模型能力排一个总名次。对开发团队而言,最直接的结论是:功能测试仍不能替代针对原始漏洞的隐藏安全测试;模型升级也不能把这一步从验收流程中删掉。
82.1% 与 34.1% 测的是同一批补丁的两道门
Endor Labs 的方法页及榜单发布说明称,其题库包含 200 个任务,来自 108 个真实 Python 开源项目,覆盖 77 类 CWE 弱点。每个任务都从历史漏洞修复构造:评测方移除原有实现,只给 Agent 功能描述、代码仓库和可见的功能测试;原漏洞修复所带来的安全测试则保持隐藏。补丁先在隔离的 Docker 环境运行,只有同时通过功能测试和隐藏安全测试,才记为 SecPass。
因此,34.1% 不是“在所有功能正确补丁中,34.1% 安全”,而是整套计分分母上的安全通过率。Endor 没有在文章中直接列出整数计数,但它公布的 Astra、Sol 和 Fable 5.1 六项一位小数成绩,在分母不超过 200 的条件下只有 179 题能全部还原为整数:Astra 对应 147 个 FuncPass、61 个 SecPass;Sol 对应 121 个和 36 个;Fable 5.1 对应 156 个和 66 个。这也与 Endor 所说“过于严格的任务不进入榜单分母、只作为记忆陷阱”一致,意味着 200 题中有 21 题未进入这组排名分母。
换一个更贴近代码验收的口径:Astra 约有 86 个补丁通过了功能测试,却没有通过隐藏安全测试,占其功能通过补丁的 58.5%。相比 Sol,Astra 多交出了约 26 个功能正确补丁和 25 个同时安全的补丁;模型升级几乎等量抬高了两道门,但没有消除两道门之间的缺口。
更长运行换来了提升,也留下 29 个未正常收尾的任务
Astra 评测文章给出的同框架对比最能隔离模型变化。GPT-5.6 Sol 的 FuncPass/SecPass 为 67.6%/20.1%,平均耗时 565 秒、中位数 370 秒;Astra 提高到 82.1%/34.1%,平均耗时 1009 秒、中位数 680 秒。Astra 总 Token 用量为 2.663 亿,是 Sol 的 1.60 倍,其中主要增加的是输入 Token,而不是输出代码量。
运行尾部更值得部署者注意。Astra 有 29 个任务触及一小时上限,Sol 为 10 个。Codex 会在进程被终止时提取已有 diff,因此这些超时并非“没有答案”:29 个补丁全部继续计分,其中 22 个通过功能测试,12 个也通过安全测试。这个规则保留了长任务已经完成的工作,也意味着超时次数不能当作缺失样本处理。对实际工程而言,它仍代表 Agent 没有正常结束会话,自动化流水线需要另外设定时间预算、回收机制和人工接管条件。
Endor 同文给出的 Claude Code + Fable 5.1 是反例:其 FuncPass/SecPass 为 87.2%/36.9%,平均耗时 569 秒,而且没有超时。它说明更长运行并不是高分的必要条件。不过,这组比较同时改变了模型和 Agent 框架,只能说明 Astra 没有登顶,不能据此把差距全部归因于模型。采购或内部选型应优先比较同一 harness、同一权限、同一预算下的结果。
“零确认作弊”缩小了一类疑问,没有完成独立复现
这类题从真实漏洞修复反向构造,天然存在答案泄漏风险。Agent 可能读取 Git 历史、在工作区找到已经安装的修正版,或从训练记忆中复现上游补丁。Endor 为此限制 Codex 的工作目录和命令,并用多信号流程筛查可疑轨迹。Astra 有 16 个任务被送入 LLM 审查,最终没有一个被确认作弊。
“零确认”应按流程结论理解,而不是训练数据零污染的证明。评测方没有在文章中公开 16 条完整轨迹、逐题裁决和全部补丁,外部读者无法独立重放这次反作弊判断;榜单运营方同时承担运行、规则调整和裁决。Endor 此前也披露过计数式 SecPass 会产生误判,并因工作区泄漏和记忆利用而下调其他组合成绩。这说明持续修订评测管线是必要工作,也要求读者把 34.1% 看成当前规则下的一次测量,而非稳定不变的模型属性。
另一个边界来自题库版本。当前 SusVibes 论文描述的是 186 个任务、79 类 CWE;Endor 的商业榜单则称自己扩展了 SusVibes,使用 200 个任务、108 个项目和 77 类 CWE。两者不是可以直接互换的同一快照,也不能把 Endor 的 Astra 成绩当作对当前论文版本的复现实验。OpenAI 的 Astra 发布材料列出了多项软件工程与网络安全成绩,但没有提供这次 Endor 运行的逐题复核。
对团队真正可执行的做法,不是用 34.1% 决定“可不可以让 Agent 写代码”,而是把两道门固化进交付:Agent 先跑功能测试,安全团队再为鉴权、输入验证、路径处理、序列化和资源上限配置独立测试;对超时任务保留 diff,同时标记为未正常完成并触发复核。下一项值得观察的变量也很具体:在同一 Codex 框架、同一时间和 Token 上限下,后续模型能否继续提高 SecPass,同时让 29 次超时下降,而不是只靠更长的运行换分。

