Jiuzhou
收藏arXiv2020-09-04 更新2024-06-21 收录
下载链接:
https://github.com/xf97/JiuZhou
下载链接
链接失效反馈官方服务:
资源简介:
Jiuzhou数据集是由河海大学和香港理工大学合作创建的,专注于以太坊智能合约中的漏洞。该数据集包含176个智能合约,涵盖了所有已知的智能合约漏洞类型,旨在帮助研究人员和开发者更好地理解和检测智能合约中的安全问题。数据集的创建过程涉及从多个来源收集漏洞信息,并通过扩展IEEE标准软件异常分类框架进行分类。Jiuzhou数据集的应用领域广泛,主要用于评估智能合约分析工具的性能,以及作为研究和开发新的漏洞检测方法的基准。
The Jiuzhou Dataset was co-created by Hohai University and The Hong Kong Polytechnic University, focusing on vulnerabilities in Ethereum smart contracts. This dataset includes 176 smart contracts covering all known types of smart contract vulnerabilities, aiming to help researchers and developers better understand and detect security issues in smart contracts. The creation process of the Jiuzhou Dataset involved collecting vulnerability information from multiple sources and classifying the data by extending the IEEE standard software exception classification framework. The Jiuzhou Dataset has a wide range of application scenarios, mainly used to evaluate the performance of smart contract analysis tools and serve as a benchmark for researching and developing new vulnerability detection methods.
提供机构:
河海大学计算机与信息学院
创建时间:
2020-09-04
搜集汇总
数据集介绍

构建方式
Jiuzhou数据集的构建始于对以太坊智能合约中已知漏洞的全面收集,来源涵盖学术文献、网络资源、博客及开源项目,共获得323条漏洞记录。经过去重、合并行为相同的漏洞,并剔除已被以太坊修复的缺陷后,最终提炼出49种漏洞。在此基础上,研究团队通过扩展IEEE软件异常分类标准,将这49种漏洞归为数据、描述、环境、交互、接口、逻辑、性能、安全及标准九大类别,并为每种漏洞设计了详细的检测准则。数据集包含176个智能合约,包括含漏洞合约、修复后合约以及精心构造的诱饵合约,旨在全面覆盖所有已知漏洞类型。
特点
该数据集的核心特点在于其全面性与系统性。它首次覆盖了49种已知的以太坊智能合约漏洞,并依据扩展的IEEE标准进行了层次化分类,为每种漏洞提供了明确的检测准则。此外,数据集不仅包含常规的漏洞样本,还特别引入了针对上下文相关漏洞的诱饵合约,这些合约通过拆分语句、使修复语句无效或采用非标准修复方式,能够有效评估分析工具在应对复杂场景时的鲁棒性。所有合约均采用Solidity 0.4.26至0.6.2版本编写,确保了与现代开发环境的兼容性。
使用方法
Jiuzhou数据集为不同用户群体提供了多样化的应用方式。智能合约开发者可通过研读其中的漏洞合约与修复示例,深入理解各类缺陷的触发模式与修复策略。分析工具开发者则能利用数据集中的诱饵合约,学习如何避免误报与漏报,从而优化检测算法。对于评估者而言,该数据集可作为基准测试平台,通过计算覆盖率、精确率与召回率等指标,系统性地衡量现有智能合约分析工具的性能。论文已通过实验发现,Mythril、Slither与Remix的组合最具价值,同时揭示了仍有10种漏洞无法被任何现有工具检测。
背景与挑战
背景概述
以太坊作为支持智能合约的最大区块链平台,其智能合约的不可篡改性使得部署后的代码无法修补,一旦存在缺陷便可能引发严重的经济损失。为填补智能合约缺陷系统性分类与全面数据集的空白,河海大学与香港理工大学的研究团队于2020年发布了Jiuzhou框架与数据集。该研究从学术文献、网络博客及开源项目中系统收集了323条缺陷记录,经合并与有效性验证后归纳出49种缺陷类型,并基于IEEE软件异常分类标准扩展为9大类别。Jiuzhou数据集包含176份智能合约,覆盖所有已知缺陷,并引入规避现有分析工具误判的定制化合约,为智能合约安全研究提供了基准测试平台。该工作不仅为开发者设计了明确的缺陷检测准则,还揭示了当前分析工具仍无法检测10种缺陷类型的现状,对推动智能合约安全领域的发展具有重要影响。
当前挑战
Jiuzhou数据集所解决的领域核心挑战在于智能合约缺陷的全面分类与检测准则的缺乏。现有分类研究仅覆盖部分缺陷类型,且未能提供具体检测标准,导致开发者难以设计有效的检测算法。此外,已有数据集如SmartContractSecurity仅包含33种缺陷且部分缺乏样本合约,Durieux等人的数据集仅覆盖10种缺陷,无法全面评估分析工具性能。在数据集构建过程中,挑战包括从多源异构资料中收集323条缺陷记录并消除命名歧义(如合并同一行为不同名称的缺陷),以及验证缺陷有效性(剔除已被以太坊修复的缺陷)。同时,需为每种缺陷设计检测准则,平衡误报与漏报风险,并手动构建176份合约,包括含缺陷合约、修复合约及针对现有工具易误判场景的定制化合约,以确保数据集的完备性与评估的严谨性。
常用场景
经典使用场景
Jiuzhou数据集专为以太坊智能合约缺陷研究而构建,涵盖了从多源文献与开源项目中收集并归类的49种已知缺陷。其经典使用场景在于作为基准测试集,系统性地评估智能合约分析工具的检测能力。研究人员可借助该数据集中包含的176份合约样本,涵盖含缺陷合约、修复后合约及人工构造的易误报合约,全面检验工具在覆盖率、精确率与召回率上的表现,从而为工具选型与优化提供实证依据。
实际应用
在实际应用中,Jiuzhou数据集服务于智能合约开发生命周期的安全质量保障环节。合约开发者可借助数据集中的样本代码学习缺陷模式,规避常见编程陷阱;安全审计团队则利用其作为测试用例,对合约进行上线前的自动化检测。此外,该数据集为区块链安全服务商提供了评估和优化分析工具能力的标准化基准,帮助筛选出如Mythril、Slither与Remix等高效工具组合,从而提升智能合约部署的安全性与可靠性。
衍生相关工作
Jiuzhou数据集衍生了一系列重要的后续研究工作。一方面,基于其提供的全面缺陷分类与检测准则,研究者开发了针对特定缺陷类型的新型分析工具,例如增强重入漏洞检测精度的专用模块。另一方面,该数据集被用作基准,催生了如SmartBugs等自动化评估框架,推动了对九种主流分析工具的横向对比研究。此外,其揭示的10种未被现有工具覆盖的缺陷类型,直接引导了后续关于新型缺陷检测算法的探索,促进了智能合约安全分析技术的持续演进。
以上内容由遇见数据集搜集并总结生成



