EVMbench解读:AI Agent如何检测、修复并利用智能合约漏洞
EVMbench解读AI Agent如何检测、修复并利用智能合约漏洞摘要OpenAI 与 Paradigm 发布的 EVMbench不再只让模型阅读代码后输出一段安全报告而是把 Agent 放进可执行的区块链环境分别评测漏洞检测、补丁修复和端到端利用能力。基准收录 40 次审计中的 117 个高严重度漏洞并用确定性交易回放、链上验证和受限 RPC 构建可复现评分。本文分析三种评测模式、Harness 设计、结果差异及其对安全研发流程的启示。背景为什么智能合约需要可执行评测智能合约控制大量链上资产错误通常不可通过传统运维修复攻击又能在短时间内完成。只评测模型能否解释漏洞无法证明它能在真实仓库中定位问题、修改合约并保持业务行为更无法判断它是否能将漏洞转化为完整攻击链。EVMbench 从公开审计竞赛和 Tempo 区块链安全审计中整理任务。OpenAI 官方材料称数据包含 117 个经筛选漏洞来自 40 次审计。团队复用了已有概念验证与部署脚本缺少材料时则手工补充。每个任务不仅要有已知答案还必须能在隔离环境中稳定复现。这使评测对象从“生成安全文本”转向“在状态化系统中采取可验证行动”。技术要点一Detect、Patch、Exploit评测不同能力Detect覆盖率比发现第一个问题更重要Detect 模式要求 Agent 审计整个合约仓库按真实漏洞召回率和相关审计奖励计分。难点不是找到一个显眼缺陷而是持续搜索不同模块、理解跨合约调用并避免过早停止。官方观察到Agent 有时识别出一个问题后就结束任务。这说明安全审计需要显式的覆盖策略维护已检查合约清单、枚举信任边界、追踪权限与资产流并在提交报告前进行负向确认。Patch修复漏洞还要保留原有功能Patch 模式要求 Agent 直接修改脆弱合约。评分同时检查漏洞是否消除、项目能否编译、正常功能是否保持。单纯删除危险路径或加入过强限制可能让攻击测试通过却破坏协议语义。OpenAI 在构造任务时确认漏洞可被利用并确保存在不会破坏编译的缓解方案。对工程团队而言这类评测比补丁相似度更接近真实合并要求安全修复必须同时满足回归测试、接口兼容与资产不变量。Exploit目标明确反馈闭环最强Exploit 模式把合约部署到本地链要求 Agent 完成端到端资金抽取。评分器通过程序化交易回放和链上状态验证结果。GPT-5.3-Codex 通过 Codex CLI 在该模式取得 71.0%而官方给出的 GPT-5 结果为 33.3%。值得注意的是Agent 在 Exploit 上表现最好。其目标非常清晰持续尝试直到资金被转移每笔交易的成功、回滚和余额变化都提供强反馈。Detect 和 Patch 的完成条件更开放Agent 更难判断“是否已经找全”以及“修复是否保持全部意图”。技术要点二Rust Harness如何保证可复现性EVMbench 使用 Rust Harness 部署合约、确定性重放 Agent 交易并限制危险 RPC 方法。Exploit 任务运行在隔离的本地 Anvil 环境不连接真实网络所用漏洞是历史公开问题。这几个设计共同解决了安全评测的核心矛盾Agent 必须拥有真实执行能力否则无法验证攻击链执行又必须与真实资产、公共 RPC 和外部账户隔离相同动作必须可以重放才能比较不同模型和 Harness评分必须读取链上结果而不是依赖模型自述“攻击成功”。团队还为 Exploit 编写自定义 Grader并主动红队测试评分环境修补可能被 Agent 绕过的路径。自动化审计 Agent 也被用于检查任务环境的健壮性。研发视角评测结果揭示了什么第一明确、可执行的目标会显著改善 Agent 行为。余额变化和交易回执比自然语言评分更低歧义。内部安全任务应尽量构建机器可验证的完成条件。第二检测、修复与利用不是同一种能力。优秀的攻击规划不代表具备高召回审计能力能找到漏洞也不代表能写出兼容补丁。采购或选型时不应把单一“安全能力分数”当作完整结论。第三Harness 是评测的一部分。RPC 权限、链状态、时间限制、编译器版本和测试覆盖都会改变最终结果。报告模型分数时应同步公布环境镜像、工具权限、重试策略和资源预算。第四防守方需要利用同样的执行闭环。只让 Agent 生成审计意见价值有限更有效的流程是让它复现漏洞、生成最小测试、提交补丁并由独立验证器重新执行攻击。实践建议将智能合约安全流程拆成 Detect、Reproduce、Patch、Verify 四个阶段分别记录结果。为关键资产定义链上不变量例如余额守恒、权限边界和清算条件。在本地链或隔离 Fork 中运行 Agent禁止连接真实钱包和生产 RPC。限制 RPC 方法、目标地址和网络出口使用一次性账户与测试资产。对补丁同时运行攻击回归、正常业务测试、模糊测试和静态分析。让第二个 Agent 或确定性脚本验证第一个 Agent 的结论避免自评。记录交易序列、编译器、依赖、Gas、初始链状态和随机种子保证重放。统计漏洞召回率、误报率、修复成功率、功能回归率及人工审查成本而非只看总分。风险与限制EVMbench 不能覆盖真实智能合约安全的全部复杂度。样本主要来自 Code4rena 审计竞赛经过长期实战审查的大型协议可能更难。Detect 模式以人类已知漏洞为真值Agent 报告额外问题时目前难以自动判断是真正的新发现还是误报。Exploit 交易在评分容器中顺序重放因此依赖精确时序、抢跑或复杂并发的攻击不在范围内。环境使用干净的本地 Anvil 链不是主网 Fork目前也只支持单链部分场景需要 Mock 合约。这项能力具有明显双重用途。研发团队应把高能力模型部署在授权、隔离、可审计的环境中并将成果优先用于修复与防御而不是把可执行利用流程暴露给不受控系统。参考来源OpenAIIntroducing EVMbenchhttps://openai.com/index/introducing-evmbench/