遇见数据集

samscrack/solidity-eval-2026

收藏
Hugging Face2026-04-30 更新2026-05-03 收录
官方服务:

资源简介:

Solidity Eval (2026)是一个代理性Solidity基准测试数据集,专注于智能合约代码生成和评估。数据集包含任务,其中代理修改Etherscan验证的合约,将函数体替换为revert语句,然后构建和测试更改。奖励基于差异模糊测试通过率。数据集旨在与hermes-agent环境一起使用,但设计为与任何可以处理tarball的代理框架兼容。它包括两个配置,lite和full,具有不同的行数和选择标准。模式详细描述了数据集中的字段,如task_id、contract_name和各种与pragma相关的字段。README还解释了奖励语义、B2/B3奖励黑客缓解措施、来源以及从源语料库跳过的行。

Solidity Eval (2026) is an agentic Solidity benchmark focused on smart contract code generation and evaluation. The dataset involves tasks where agents modify Etherscan-verified contracts by replacing a function body with a revert statement, then build and test the changes. The reward is based on the differential-fuzz pass rate. The dataset is intended for use with the hermes-agent environment but is designed to be harness-agnostic. It includes two configs, lite and full, with different row counts and selection criteria. The schema details the fields in the dataset, such as task_id, contract_name, and various pragma-related fields. The README also explains the reward semantics, B2/B3 reward-hack mitigations, provenance, and skipped rows from the source corpus.

提供机构:
samscrack
搜集汇总
数据集介绍
samscrack/solidity-eval-2026 数据集图片
构建方式
solidity-eval-2026数据集源自SolBench的RACR-4k语料库,通过函数桩替换与tarball构建技术精心打造。构建流程首先从Etherscan上获取已验证的智能合约源代码,利用基于正则表达式的桩替换工具,将每个合约中某一真实函数体替换为`revert("TODO");`语句。随后,将包含Foundry配置文件与修改后合约的工作区打包为base64编码的`workspace_tar`,并将包含完整原始合约与评分清单的评分包编码为`scoring_tar`。经过pragma版本过滤与解析清洗,最终从3208条原始样本中筛选出3044条有效数据,并依据pragma主次版本号分层采样出200条构成精简子集`lite`。
特点
该数据集的核心特色在于其双轨评估机制与奖励防操纵设计。采用差分模糊测试框架,对智能体的输出与真实函数体进行行为等价性验证,只有当Diffusc编译成功且Echidna差分模糊测试未发现行为偏差时,奖励才被判定为1.0。为防范奖励劫持,系统设置了B3金丝雀子串检测——通过提取被删除函数体特有token构建检查列表,若智能体输出包含任意金丝雀子串则奖励归零;同时设置桩残留检测,杜绝空实现的投机行为。此外,`lite`子集的层级质量控制与跨配置的横向扩展能力,使其既适用于受限成本的快速评估,也能支撑大规模的全面评测。
使用方法
使用该数据集需遵循三段式沙箱操作协议。首先,通过`datasets`库加载数据后,将base64解码的`workspace_tar`解压至容器的`/work`目录,唤醒智能体在该工作区内进行合约编辑、编译与测试的闭环迭代,期间需禁用所有网络通信工具以防止B2型信息泄露。智能体完成迭代后,第二阶段将`scoring_tar`解压至容器的`/scoring`目录,该目录在智能体运行期间必须严格不可见。最终阶段,在同一沙箱容器内执行参考镜像提供的`run_diffusc.py`评分脚本,该镜像封装了Foundry、Echidna与Diffusc等全套工具链,输出结果存储于`/logs/verifier`目录,通过解析`reward.txt`文件即可获取最终的二进制奖励分数。
背景与挑战
背景概述
在区块链智能合约安全审计领域,将真实世界的Solidity合约漏洞修复任务转化为可自动化评估的基准测试,始终是一个极具挑战性的方向。solidity-eval-2026数据集由NousResearch团队于2026年创建,其核心研究问题聚焦于智能合约代码生成与差分模糊测试的自动化评估。该数据集基于SolBench的RACR-4k语料库构建,包含了3044个从Etherscan验证合约中提取的实函数恢复任务,通过将目标合约中单一函数体替换为`revert("TODO");`,要求智能体在Foundry工作空间中完成编辑、编译与测试。作为一个面向智能体编程的评估基准,该数据集提出的基于Echidna差分模糊测试与Diffusc编译器双验证的奖励机制,为智能合约代码生成领域提供了可复现的标准化评估范式,对推动自主智能合约修复技术的发展具有重要影响。
当前挑战
该数据集面临的核心挑战在于解决多维度技术难题。在领域问题层面,智能合约的差分模糊测试需要在Gas优化、重入保护、权限控制等复杂语义约束下确保生成代码与原始行为的完全一致,任何一个细微的差异都可能导致严重的链上风险。在数据集构建过程中,143个合约因构造器、修饰器和抽象函数等特殊结构无法通过正则规则安全地实现函数桩化,导致数据覆盖范围受限。此外,B3金丝雀检查机制存在168个样本的金丝雀子串列表为空的情况,使得ERC20风格访问器等仅使用合约内已有标识符的函数难以通过词法检测防止作弊。更复杂的是,智能体可能绕过网络隔离获取公开的Etherscan源码,迫使评估框架必须在限制网络出口的同时,设计严密的金丝雀与存根残留双重防护机制,以保障评估结果的可靠性。
常用场景
经典使用场景
在智能合约安全性与正确性评估的学术版图中,solidity-eval-2026数据集被精心设计为一种面向代理式(agentic)Solidity代码补全的基准测试平台。每一任务均向智能体呈现一个源自Etherscan真实验证合约的Foundry工作区,其中某个函数体被替换为`revert("TODO");`,要求智能体在沙盒环境中执行编辑、构建与测试,直至完成任务。该数据集最经典的使用场景在于,通过差分模糊测试(differential fuzzing)框架,结合Diffusc与Echidna工具,以候选函数体与真实函数体之间的行为等价性作为奖励信号,从而严格衡量智能体的代码生成质量。这种设定不仅模拟了现实世界中合约修复与补全的复杂挑战,更将评估从静态语法正确性推向动态语义等价性的深度验证。
实际应用
在实际应用层面,solidity-eval-2026数据集直接服务于去中心化金融(DeFi)生态中智能合约开发与审计的自动化需求。当前,以太坊上数以万计的智能合约面临着逻辑缺陷与安全漏洞的严峻挑战,而依赖人工审计的高昂成本与低覆盖率已成为制约行业发展的关键瓶颈。该数据集所定义的任务形态——在真实合约语境中补全被删除的函数体——恰好对应了合约升级、漏洞修复以及代码迁移等高频现实场景。配合Hermes Agent等代理框架,开发者能够构建出能够在沙盒中自主编译、测试并迭代完善合约代码的智能系统,大幅提升合约开发效率与质量保证水平。此外,该框架的沙盒化设计确保了评估过程不会对真实链上资产造成影响,使得该方案能够无缝集成至CI/CD流水线中,成为智能合约安全开发生命周期中的一个可靠环节。
衍生相关工作
围绕solidity-eval-2026数据集,学术界与工业界已催生了一系列具有影响力的衍生工作。该数据集源自SolBench项目中的RACR-4k语料库,其核心评估范式——以差分模糊测试通过率作为奖励信号——已被后续多个智能合约代码生成研究采纳为标准度量。尤为值得关注的是,Qwopus 3.6 27B Solidity模型在该数据集的lite分片上达到了46.5%的pass@1得分,而Claude Code 2.1.128(基于Claude Opus 4.7)紧随其后获得39.0%的得分,这组基准数据不仅证明了该数据集能够有效区分不同模型在合约代码生成任务上的能力差异,更为后续研究提供了清晰的可比参照。此外,数据集引入的B2/B3奖励作弊防御机制——包括禁用网络外泄工具、使用金丝雀子字符串检测模型是否试图直接复制真实答案——为构建高诚信度的代码生成基准树立了新的行业标准,启发了后续诸多工作如何在保持评估难度的同时规避数据污染与作弊行为。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务