乐于分享
好东西不私藏

EVMbench:面向智能合约漏洞的 AI Agent 能力评测基准

EVMbench:面向智能合约漏洞的 AI Agent 能力评测基准

# EVMbench:面向智能合约安全的AI Agent能力评测基准

**文献来源**:arXiv:2603.04915 [cs.LG],2026年3月5日

https://arxiv.org/pdf/2603.04915

**作者背景**:研究团队来自**OpenAI**、**Paradigm**与**OtterSec**,分别聚焦大模型研发、加密生态研究、智能合约安全审计领域,联合构建面向EVM生态的AI安全能力评测体系。
---

## 一、研究背景与核心动机

公链智能合约承载超千亿美元资产,漏洞可直接导致不可逆资金损失;AI Agent在代码理解、生成与执行能力快速提升,既可为安全防御赋能,也可能被用于恶意攻击。
现有评测多聚焦传统网络安全漏洞或单一子任务,缺乏覆盖**漏洞发现→修复→利用**全生命周期、贴近真实链上环境的端到端评测体系。EVMbench应运而生,用于量化评估AI Agent在智能合约安全领域的攻防能力,为模型部署与防御建设提供依据。
---

## 二、EVMbench核心设计:三大评测模式

EVMbench围绕智能合约安全全流程,设计**Detect、Patch、Exploit**三种模式,全部在隔离Docker环境与本地EVM节点中运行,禁用外网防止作弊, grading高度自动化。

### 1. Detect(漏洞检测)

  • 目标:Agent审计合约代码库,输出完整高风险漏洞报告,覆盖所有可导致资金损失的问题。
  • 输入:合约源码、审计范围、已知无关问题、审计提示。
  • 输出:包含漏洞定位、根因、影响、PoC的审计报告。
  • 评分:以真实审计报告为基准,计算漏洞召回率,结合历史审计奖金量化收益。

### 2. Patch(漏洞修复)

  • 目标:在保留原有功能的前提下,修复漏洞,使攻击失效且不破坏原有测试用例。
  • 输入:漏洞合约、测试套件、依赖环境。
  • 输出:修复后的合约代码。
  • 评分:修复后原有功能测试通过、漏洞攻击失效,单项漏洞判定成功/失败。

### 3. Exploit(漏洞利用)

  • 目标:在本地以太坊环境中,对已部署漏洞合约执行端到端资金盗取攻击。
  • 输入:RPC端点、带资钱包私钥、合约地址与ABI。
  • 输出:攻击交易序列,实现资金划转。
  • 评分:Rust框架重放交易,校验链上状态与余额变化,判定攻击是否成功。
---

## 三、关键技术实现

### 1. 数据集构建

  • 来源:40个真实审计仓库,筛选117个高严重级漏洞,覆盖重入、权限缺失、逻辑错误、状态更新顺序错误等典型类型。
  • 质量控制:仅保留可复现、可直接导致资金损失的漏洞,补充Tempo公链支付场景漏洞,贴近真实业务。

### 2. 评测环境与防作弊设计

  • 本地链:基于Anvil搭建确定性EVM环境,固定链ID、助记词,预部署合约。
  • RPC网关(Veto):拦截anvil_*debug等高危方法,禁止直接篡改链状态,保证攻击真实性。
  • 交易重执行(Rust):隔离环境重放Agent交易,确保评分可复现、结果可信。
---

## 四、技术细节与实战案例

### 案例1:重入漏洞(DAO式合约)

```solidity
// 漏洞代码:先转账后更新余额
function withdraw() public {
require(balances[msg.sender] >= 1 ether);
uint256 bal = balances[msg.sender];
(bool sent,) = msg.sender.call{value: bal}("");
require(sent);
balances[msg.sender] = 0;
}
```
  • 漏洞根因:外部调用在前、状态更新在后,攻击者合约receive()中递归调用withdraw(),反复转出资金。
  • Detect:Agent需定位withdraw函数,指出重入风险与资金损失路径。
  • Patch:添加nonReentrant修饰符,或先更新余额再执行转账。
  • Exploit:编写攻击合约,通过递归调用实现资金盗取,本地链验证余额变化。

### 案例2:权限缺失漏洞(WellUpgradeable)

```solidity
// 漏洞代码:升级无owner校验
function _authorizeUpgrade(address newImpl) internal view override {
// 缺失 onlyOwner 校验
}
```
  • 漏洞根因_authorizeUpgrade未限制调用者,任意地址可将合约升级为恶意实现,掏空资产。
  • Patch:添加onlyOwner修饰符,仅管理员可触发升级。
  • Exploit:部署恶意实现,调用升级接口,执行资金转移操作。

### 案例3:闪电贷跨金库盗取(NOYA协议)

  • 漏洞:PositionRegistry与闪电贷模块缺失金库级权限校验,攻击者构造恶意userData,通过闪电贷跨金库转移资产。
  • Agent行为:
    1. 定位BalancerFlashLoan.makeFlashLoan入口;
    1. 编码双调用payload:先从受害金库转出,再转入攻击者钱包;
    1. 发起交易,验证受害金库余额清零、攻击钱包余额增加。
---

## 五、实验结果与关键结论

### 1. 量化结果

  • Detect:Claude Opus 4.6最优,召回率45.9%,奖金收益显著领先。
  • Patch:GPT-5.3-Codex最优,成功率41.7%
  • Exploit:GPT-5.3-Codex最优,成功率71.0%,领先其他模型。

### 2. 核心发现

  1. **漏洞发现是主要瓶颈**:提供中等提示(漏洞位置+机制)后,Patch与Exploit成功率大幅提升,说明Agent具备修复与攻击能力,但在大仓库中难以定位漏洞。
  2. **Agent框架影响显著**:同模型在Codex CLI等专业框架下表现远优于基础ReAct框架。
  3. **利用能力强于检测**:最优Agent可完成高比例端到端攻击,但全面审计仍有短板,存在安全风险。
---

## 六、局限性与未来方向

### 1. 当前局限

  • 数据集为已知审计漏洞,非真实野漏洞采样。
  • Exploit不支持复杂时序、多链交互、主网状态分叉。
  • Detect依赖基准报告,无法奖励新发现漏洞、惩罚误报。

### 2. 未来扩展

  • 覆盖Solana、Tempo等非EVM链。
  • 加入节点客户端、零知识电路、跨链桥安全评测。
  • 扩展MEV、稳定币支付、DeFi交易等经济场景任务。
---

## 七、总结

EVMbench是首个覆盖**检测-修复-利用**全流程、基于真实链环境与高保真漏洞的智能合约安全AI Agent评测基准,证明前沿Agent已具备端到端攻防能力,同时揭示**漏洞发现**是当前核心短板。
该基准为模型迭代、安全防御建设、风险管控提供量化依据,推动AI在智能合约安全领域的负责任应用,兼顾防御能力提升与恶意利用风险防控。