ScrawlD
收藏arXiv2022-02-26 更新2024-06-21 收录
下载链接:
https://github.com/sujeetc/ScrawlD
下载链接
链接失效反馈官方服务:
资源简介:
ScrawlD是由印度理工学院坎普尔分校创建的一个包含6780个真实世界以太坊智能合约的数据集,这些合约均标有潜在的漏洞。数据集通过使用多种工具进行多数投票来标注合约中的漏洞。ScrawlD旨在为以太坊社区提供一个无偏见的标准基准,用于评估现有工具和新工具的性能。该数据集可用于评估新工具的正确性、效率和其他参数,也可作为机器学习基工具的训练数据,以及进行现有工具的实证分析。
ScrawlD is a dataset containing 6,780 real-world Ethereum smart contracts, all of which are marked with potential vulnerabilities. The vulnerabilities in these contracts are annotated via majority voting using multiple tools. ScrawlD aims to provide an unbiased standard benchmark for the Ethereum community to evaluate the performance of both existing and newly developed tools. This dataset can be used to assess the correctness, efficiency and other parameters of new tools, serve as training data for machine learning-based tools, and conduct empirical analyses of existing tools.
提供机构:
印度理工学院坎普尔分校
创建时间:
2022-02-23
搜集汇总
数据集介绍

构建方式
在以太坊区块链生态系统中,智能合约承载着巨额数字资产,其安全性至关重要。ScrawlD数据集从Ren等人构建的45,622个真实世界以太坊智能合约地址中筛选而来,这些合约均在链上拥有多次交易记录且源代码公开。研究者通过Etherscan API爬取合约源码,并采用Slither、Mythril、Smartcheck、Oyente和Osiris五种开源检测工具进行分析。为避免单一工具误报,数据集采用多数投票机制:对于每种漏洞类型,仅当超过50%的工具在同一代码行报告相同漏洞时,才将该合约标记为存在该漏洞。最终,ScrawlD收录了6,780个经过标注的真实合约,覆盖算术溢出、重入攻击、未检查调用返回值等八种常见漏洞类型。
特点
ScrawlD的核心价值在于其真实性与标注的可靠性。与以往仅包含数百个人造合约的标注数据集不同,ScrawlD提供了6,780个源自以太坊主网的合约,真实反映了链上合约的多样性与复杂性。其标注过程基于多工具交叉验证,通过多数投票机制降低了单一工具误报或漏报的影响,为每个漏洞标注提供了统计意义上的置信度。数据集还详细记录了每种漏洞类型对应的支持工具数量及投票阈值,使研究者能够清晰理解标注的生成逻辑。此外,ScrawlD的合约分布呈现长尾特征,其中2,688个合约无漏洞,2,912个合约仅含一种漏洞,而少数合约同时存在多达四种漏洞,这为研究漏洞共现模式提供了宝贵素材。
使用方法
ScrawlD为以太坊智能合约安全研究提供了标准化基准。研究者可直接将其作为测试集,评估新开发漏洞检测工具的正确性、召回率与效率,避免因数据集不统一导致的性能偏差。对于基于机器学习的漏洞检测方法,ScrawlD的6.7K标注合约可作为监督学习的训练数据,支持分类或序列标注任务。此外,该数据集适用于对现有工具的实证比较分析,通过在同一基准上运行多种工具,研究者可以量化不同工具在各类漏洞检测上的优劣,为开发者选择合适的安全分析工具提供参考。数据集已公开于GitHub,用户可通过下载源码仓库直接获取合约地址、源码及对应的漏洞标注信息。
背景与挑战
背景概述
以太坊作为去中心化智能合约平台,承载着价值数百万美元的数字资产,其安全性问题日益凸显。在此背景下,印度坎普尔理工学院的研究人员Chavhan Sujeet Yashavant、Saurabh Kumar和Amey Karkare于2022年创建了ScrawlD数据集,旨在填补真实世界智能合约漏洞标注基准的空白。该数据集从以太坊主网中提取了6780个真实合约,利用Slither、Mythril等五种主流检测工具,通过多数投票机制进行漏洞标注,涵盖整数溢出、重入攻击、未授权调用等八类关键漏洞。ScrawlD的发布为智能合约安全分析领域提供了首个大规模、高可靠性的真实世界标注数据集,显著推动了漏洞检测工具的客观评估与机器学习方法的训练应用。
当前挑战
ScrawlD面临的核心挑战源于智能合约安全分析的复杂性与工具异构性。首先,现有漏洞检测工具均存在误报与漏报问题,单一工具结果不可靠,需通过多数投票机制权衡,但若多数工具同时产生错误,标注准确性将受损。其次,工具间依赖不同版本软件包,兼容性差,需借助Docker容器化技术集成,增加了构建成本。此外,Mythril等工具内存消耗巨大(超过10GB),无法并行运行,严重制约了大规模合约的标注效率。数据集构建过程中,从原始45622个合约中仅成功标注6780个,反映了真实合约代码质量参差、工具适配困难等现实障碍。未来需通过引入更多工具、人工众包审核等方式提升标注覆盖与精度。
常用场景
经典使用场景
在以太坊智能合约安全分析领域,ScrawlD数据集被广泛用作评估和比较各类漏洞检测工具性能的标准化基准。该数据集包含6,780个真实世界的以太坊智能合约,通过多数投票机制对八种常见漏洞类型(如重入攻击、整数溢出、未检查调用返回值等)进行了标注。研究者利用ScrawlD可以客观地衡量新开发工具在准确率、召回率、误报率等关键指标上的表现,从而推动漏洞检测技术的持续改进。这一基准测试场景填补了此前缺乏大规模真实标注合约集进行公平评估的空白。
解决学术问题
ScrawlD数据集有效解决了以太坊智能合约安全研究中长期存在的两个核心学术问题:一是缺乏大规模、真实世界且带有可靠漏洞标注的合约数据集,导致不同工具间的比较缺乏统一基准;二是现有标注数据集要么规模过小(不足千个合约),要么依赖人工构造的合约,难以代表真实部署的合约多样性。ScrawlD通过整合五种主流检测工具的输出并采用多数投票策略,提供了6,780个真实合约的可靠标注,显著提升了实证研究的可信度和可重复性,为智能合约安全领域的系统性评估奠定了坚实基础。
衍生相关工作
ScrawlD数据集催生了一系列重要的衍生研究工作。基于该数据集,研究者开发了更高效的智能合约漏洞检测工具,例如通过集成学习融合多个基础检测器的结果以提升检测精度。同时,ScrawlD被用于训练深度学习模型(如基于图神经网络的漏洞分类器),实现了对未知漏洞模式的泛化识别。此外,该数据集促进了智能合约安全评估框架的标准化,例如SmartBugs等工具集利用ScrawlD作为核心测试集,推动了工具间横向对比的规范化。这些衍生工作进一步扩展了ScrawlD在智能合约安全研究中的影响力。
以上内容由遇见数据集搜集并总结生成



