DAppSCAN-SOURCE, DAppSCAN-BYTECODE
收藏arXiv2023-11-18 更新2024-06-21 收录
下载链接:
https://github.com/InPlusLab/DAppSCAN/
下载链接
链接失效反馈官方服务:
资源简介:
DAppSCAN数据集由中山大学软件工程学院的研究团队构建,旨在为智能合约弱点分析提供大规模真实世界数据。DAppSCAN-SOURCE数据集包含从682个真实世界DApp项目中提取的39904个Solidity文件,涵盖1618个SWC弱点。DAppSCAN-BYTECODE数据集则是通过对源代码进行编译得到的6665个智能合约,包含888个SWC弱点。这些数据集不仅提供了弱点描述和位置信息,还支持对智能合约分析工具的评估,特别是在检测和预防智能合约安全漏洞方面的应用。
The DAppSCAN dataset was constructed by the research team from the School of Software Engineering, Sun Yat-sen University, aiming to provide large-scale real-world data for smart contract vulnerability analysis. The DAppSCAN-SOURCE dataset contains 39,904 Solidity files extracted from 682 real-world DApp projects, covering 1,618 SWC vulnerabilities. The DAppSCAN-BYTECODE dataset consists of 6,665 smart contracts compiled from the source code, which includes 888 SWC vulnerabilities. These datasets not only provide vulnerability descriptions and their location information, but also support the evaluation of smart contract analysis tools, particularly for applications in detecting and preventing smart contract security vulnerabilities.
提供机构:
中山大学软件工程学院
创建时间:
2023-05-15
搜集汇总
数据集介绍

构建方式
在区块链安全领域,构建高质量的数据集对于评估智能合约弱点检测工具至关重要。DAppSCAN-SOURCE和DAppSCAN-BYTECODE数据集的构建过程体现了严谨的学术方法。研究团队招募了22名参与者,投入44人月的工作量,系统分析了来自29个安全团队的1,199份开源审计报告。通过人工标注,从682个真实世界去中心化应用项目中识别出9,154个弱点,其中1,618个被归类为智能合约弱点分类注册表中的标准弱点。DAppSCAN-SOURCE数据集包含39,904个Solidity文件,而DAppSCAN-BYTECODE则通过自主研发的依赖分析工具,成功编译了6,665个智能合约字节码,为自动化分析提供了可直接使用的数据基础。
特点
该数据集在智能合约安全研究领域展现出显著特色。其核心优势在于全部数据源自真实世界的去中心化应用项目,平均每个项目包含58个Solidity文件和7,885行代码,远超以往研究中使用的简单示例合约。数据集中66.3%的项目采用高于0.6版本的Solidity编译器,反映了当前区块链开发的实际情况。数据集覆盖了34种智能合约弱点分类注册表中的弱点类型,其中代码无效、整数溢出和重入攻击等高风险弱点出现频率最高。特别值得注意的是,数据集不仅提供源代码级标注,还通过编译处理生成了可直接用于工具测试的字节码版本,这种双重设计满足了不同研究场景的需求。
使用方法
该数据集为智能合约安全分析提供了多维度应用途径。研究者可利用DAppSCAN-SOURCE数据集进行源代码级别的弱点模式分析,其包含的JSON格式标注文件详细记录了弱点类型、所在函数和具体行号信息。对于需要编译环境的分析工具,DAppSCAN-BYTECODE数据集提供了可直接执行的字节码和ABI接口信息。在实际应用中,该数据集已成功用于评估Mythril、Slither等六种主流检测工具的性能,揭示了现有工具在真实场景下的局限性。数据集还可支持基于机器学习的弱点预测模型训练、智能合约代码修复技术开发等前沿研究方向,为推进区块链安全领域实证研究提供了重要基础设施。
背景与挑战
背景概述
在区块链技术迅猛发展的背景下,智能合约作为去中心化应用(DApp)的核心组件,其安全性问题日益凸显。DAppSCAN-SOURCE与DAppSCAN-BYTECODE数据集由中山大学与新加坡管理大学的研究团队于2023年构建,旨在解决智能合约弱点检测领域缺乏大规模、无偏倚、真实世界数据集的难题。该数据集基于对29个安全团队的1,199份开源审计报告进行人工分析,涵盖了682个真实DApp项目中的9,154个弱点,其中特别标注了1,618个符合智能合约弱点分类注册表(SWC Registry)的弱点。这些数据不仅为智能合约安全工具的评估提供了可靠基准,还推动了该领域从玩具合约向真实复杂场景的实证研究转型。
当前挑战
DAppSCAN数据集面临的挑战主要体现在两大维度。在领域问题层面,智能合约弱点检测工具长期依赖简化合约进行评估,导致其在真实DApp环境中表现不佳,例如现有工具仅能覆盖34种SWC弱点中的14种,且对重入、整数溢出等关键弱点的检测效率低下。在构建过程中,数据集创建遭遇了多重困难:一是DApp项目结构复杂,涉及多文件依赖与缺失公共库,使得源代码难以直接编译;二是人工标注需耗费44人月,且非SWC弱点占比高达82.3%,其分类需额外领域知识;三是审计报告与代码版本的不匹配性,以及Solidity编译器快速迭代带来的数据时效性维护压力。
常用场景
经典使用场景
在区块链安全研究领域,DAppSCAN-SOURCE和DAppSCAN-BYTECODE数据集为智能合约弱点检测工具的评估提供了关键基准。这些数据集源自真实世界的去中心化应用项目,涵盖了从开源审计报告中提取的9,154个弱点,其中1,618个被归类为智能合约弱点分类注册表中的标准弱点。研究者利用这些数据集对现有工具进行实证分析,揭示其在处理复杂依赖关系和现代编译器版本时的局限性,从而推动工具向更贴近实际应用场景的方向演进。
衍生相关工作
基于DAppSCAN数据集,衍生出多项关于智能合约弱点检测的经典研究。例如,研究者利用该数据集对Mythril、Slither等六种主流工具进行系统性评估,揭示了工具在真实场景下检测成功率低下的问题。后续工作进一步探索了非SWC弱点的分类方法,以及结合机器学习技术的弱点预测模型。数据集还促进了自动化软件工程研究,如基于弱点定位的代码修复技术,以及针对DApp项目复杂结构的静态分析框架改进,推动了智能合约安全领域的实证研究范式发展。
数据集最近研究
最新研究方向
在智能合约安全领域,DAppSCAN-SOURCE和DAppSCAN-BYTECODE数据集的构建标志着对真实世界去中心化应用(DApp)中智能合约弱点系统性研究的深化。该数据集源于对1,199份开源审计报告的手动分析,涵盖了682个真实DApp项目中的9,154个弱点,其中1,618个被归类为智能合约弱点分类注册表(SWC Registry)中的标准弱点。前沿研究聚焦于利用这一大规模标注数据集,推动智能合约弱点检测工具的评估与优化。当前热点在于揭示现有工具(如Mythril、Slither等)在真实DApp环境中的局限性——例如,多数工具仅能成功分析少量合约,且在检测SWC弱点时表现出较低的有效性和成功率。这一发现促使学术界与工业界重新审视工具设计,强调需超越简单玩具合约的测试,转向复杂依赖关系和高版本编译器(如Solidity 0.6+)的真实场景。数据集的发布不仅为自动化软件工程研究(如弱点定位与代码修复)提供了基础,还突显了非SWC弱点在审计报告中的显著比例(82.3%),为未来探索非经典弱点分类与检测技术开辟了新方向。其影响在于提升了智能合约安全评估的严谨性,助力区块链生态在金融、游戏等关键领域增强透明性与信任度。
相关研究论文
- 1DAppSCAN: Building Large-Scale Datasets for Smart Contract Weaknesses in DApp Projects中山大学软件工程学院 · 2023年
以上内容由遇见数据集搜集并总结生成



