audits-with-reasons
收藏Hugging Face2024-06-28 更新2024-12-12 收录
下载链接:
https://huggingface.co/datasets/msc-smart-contract-audition/audits-with-reasons
下载链接
链接失效反馈官方服务:
资源简介:
该数据集用于智能合约审计,包含详细的描述和建议。每个条目包括代码、描述、建议、类型和功能。非漏洞示例仅包含代码、功能和类型='无漏洞'。数据集通过量化模型增强,清理了代码并增加了两个新字段:功能和类型。数据分析显示,功能描述的嵌入比代码嵌入更易于分离。
创建时间:
2024-06-20
原始信息汇总
数据集概述
基本信息
- 语言: 英语
- 许可证: MIT
- 大小分类: 1K<n<10K
- 任务分类:
- 文本生成
- 文本分类
- 美观名称: Smart Contract Audits with Reasons and Recommendations
数据集信息
特征
- code: 字符串类型
- description: 字符串类型
- recommendation: 字符串类型
- type: 字符串类型
- functionality: 字符串类型
数据分割
- 训练集:
- 字节数: 10113056.522516329
- 样本数: 2472
- 测试集:
- 字节数: 1787785.4774836714
- 样本数: 437
数据大小
- 下载大小: 4969396
- 数据集大小: 11900842
配置
- 默认配置:
- 训练集路径: data/train-*
- 测试集路径: data/test-*
标签
- finance
- code
数据集增强
- 增加了描述和建议的详细程度
- 清理代码,修复格式并移除无关注释
- 新增两个字段: functionality 和 type
字段说明
| 字段 | 描述 |
|---|---|
1. code |
包含漏洞的一个或多个代码块 |
2. description |
漏洞的描述和解释,包括如何利用漏洞的概念验证(PoC) |
3. recommendation |
一个或多个推荐的漏洞缓解措施 |
4. type* |
漏洞类型 |
5. functionality** |
代码功能的简单英语解释及其在合约中的通用目的 |
-
- 类型不适合直接分类,因为类别不是有限集合。它们是由模型判断的最准确描述,需要预处理以限定特定数量的类别。
** - 这对于知识检索很有用,因为代码功能的简单描述嵌入比代码嵌入更容易分离。
数据分析
- 使用Large-Cased Bert Model生成的嵌入进行PCA分析。
- 功能描述的嵌入比原始代码本身的嵌入更容易分离。
附加信息
- 换行符已转义(即
\n)
搜集汇总
数据集介绍

构建方式
该数据集基于[基础数据集](https://huggingface.co/datasets/msc-smart-contract-audition/vulnerable-functions-base)进行扩展,采用了[Unsloth的Llama3 8b instruct模型](https://huggingface.co/unsloth/llama-3-8b-Instruct-bnb-4bit)进行量化处理。具体构建过程中,数据集不仅丰富了漏洞描述和修复建议的细节,还对代码进行了清理,移除了可能干扰模型的无关注释和外部链接。此外,数据集新增了两个字段:`functionality`和`type`,分别用于描述代码的功能和漏洞类型。非漏洞示例仅包含`code`、`functionality`和`type='no vulnerability'`字段。
使用方法
该数据集适用于文本生成和文本分类任务,特别是智能合约漏洞检测与修复建议生成。用户可以通过加载数据集并访问其`train`和`test`分割,分别用于模型训练和评估。数据集中的`description`和`recommendation`字段可直接用于生成任务,而`type`字段则可通过预处理适配分类任务。此外,`functionality`字段的嵌入表示在知识检索任务中表现出更好的可分离性,适合用于增强模型的语义理解能力。数据集的代码字段经过清理,可直接用于模型输入,而无需额外处理。
背景与挑战
背景概述
在智能合约安全审计领域,准确识别和修复漏洞是确保区块链系统安全的关键。`audits-with-reasons`数据集由MSC智能合约审计团队于近期创建,旨在通过增强现有数据集,提供更详细的漏洞描述和修复建议。该数据集基于Llama3 8b instruct模型进行扩展,新增了功能性和漏洞类型字段,进一步提升了数据的信息量和实用性。其核心研究问题在于如何通过自然语言处理和代码分析技术,自动化生成高质量的漏洞描述和修复建议,从而为智能合约开发者提供更高效的安全审计工具。该数据集对智能合约安全领域的研究和实践具有重要影响,推动了自动化审计工具的发展。
当前挑战
`audits-with-reasons`数据集在解决智能合约漏洞识别与修复问题时面临多重挑战。首先,漏洞类型的多样性使得分类任务复杂化,现有字段中的漏洞类型并未限定为有限集合,需进一步预处理以适配分类模型。其次,代码与自然语言描述之间的语义鸿沟增加了数据处理的难度,尽管功能描述在嵌入空间中表现出更好的可分性,但如何高效生成这些描述仍是一个技术瓶颈。此外,数据构建过程中需处理代码格式化和无关注释的清理问题,以确保模型训练的纯净性。这些挑战不仅影响了数据集的构建质量,也对后续模型的训练和性能优化提出了更高要求。
常用场景
经典使用场景
在智能合约安全审计领域,`audits-with-reasons`数据集被广泛应用于漏洞检测与修复建议的生成。通过结合代码块、漏洞描述及修复建议,该数据集为研究人员提供了丰富的训练样本,用于开发自动化审计工具。特别是在基于大语言模型的智能合约漏洞检测任务中,该数据集能够有效提升模型的解释能力和修复建议的准确性。
解决学术问题
该数据集解决了智能合约安全审计中的两大核心问题:一是如何准确描述漏洞的成因与影响,二是如何生成有效的修复建议。通过提供详细的漏洞描述和修复建议,该数据集为智能合约安全研究提供了标准化基准,推动了自动化审计技术的发展。此外,数据集中的功能描述字段为代码语义理解提供了新的研究方向,有助于提升代码嵌入的分离度。
实际应用
在实际应用中,`audits-with-reasons`数据集被广泛用于开发智能合约安全审计工具。例如,金融机构和区块链开发团队可以利用该数据集训练模型,自动检测智能合约中的潜在漏洞,并生成修复建议。此外,该数据集还可用于构建知识检索系统,帮助开发人员快速理解代码功能,提高开发效率。
数据集最近研究
最新研究方向
近年来,随着智能合约在金融领域的广泛应用,其安全性问题日益凸显。`audits-with-reasons`数据集通过结合Llama3 8b instruct模型,进一步丰富了智能合约漏洞的描述与修复建议,为智能合约审计提供了更为详尽的参考。该数据集不仅扩展了漏洞描述和推荐的细节,还新增了功能性和类型字段,使得漏洞分类更加精准。当前研究热点集中在如何利用该数据集进行更高效的漏洞检测与分类,尤其是在结合大型语言模型(如BERT)进行代码嵌入分析时,功能描述嵌入的分离性显著优于原始代码嵌入。这一发现为智能合约审计工具的开发提供了新的思路,推动了智能合约安全领域的进一步发展。
以上内容由遇见数据集搜集并总结生成



