遇见数据集

Smart Contract Audit Findings

收藏
github2026-08-31 更新2026-09-04 收录
官方服务:

资源简介:

该数据集包含23,625个智能合约安全审计发现(漏洞报告),每个发现包含标题、描述、概念验证代码、建议和严重性评级。

This dataset contains 23,625 smart contract security audit findings (vulnerability reports), each of which includes a title, description, proof-of-concept code, remediation suggestions, and severity rating.

创建时间:
2026-08-31
原始信息汇总

智能合约审计发现数据集(Smart Contract Audit Findings)

数据集概述

该数据集包含 23,625 条智能合约安全审计发现(漏洞报告),每条记录涵盖标题、描述、概念验证代码、修复建议和严重性评级。数据以英文呈现,规模介于 10K 至 100K 之间,属于文本分类与文本生成类任务,主要面向安全、智能合约、代码审计、漏洞分析及 Solidity 相关研究。

数据格式与结构

  • 主文件:单个 Parquet 文件 data/train-00000-of-00001.parquet,可通过 datasetspandaspolars 加载。
  • 原始来源:未经修改的源 CSV 文件存放于 raw/ 目录,用于追溯数据来源。
  • 数据划分:仅包含 train 分割。

字段说明

字段 类型 描述
id 整数 行标识符
file_name 字符串 发现来源的文件名
bug_title 字符串 发现标题(常包含研究人员用户名)
bug_desc 字符串 漏洞的自由文本描述
bug_poc 字符串 概念验证/利用代码(通常为 Solidity/Foundry)
bug_rec 字符串 建议的修复方案
bug_sev 字符串 规范化严重性:CriticalHighMediumLowGas OptimizationInformationalOtherUnknown
bug_sev_raw 字符串 未经规范化的原始严重性文本
bug_weight 浮点数 0–1 的重要性评分(基于报告长度/细节与严重性计算)
bug_full 字符串 发现的完整合并文本

严重性权重计算机制

bug_weight 由早期管道步骤生成,计算逻辑如下:

  1. 对各部分(描述、建议、PoC)按字符长度分配 0–1 的因子(50 字符以下为 0,2000 字符以上为 1.0,其间线性增长)。
  2. 加权内容得分 = 1.2 × 描述因子 + 0.5 × 建议因子 + 1.8 × PoC因子(PoC 权重最高,建议最低)。
  3. 代码块加成:统计各部分中 solidity 围栏代码块(每部分上限 2 个),加成 = 2.0 × 总块数
  4. 严重性乘数(按关键词匹配):Critical/High = 1.5,Medium = 0.8,Low = 0.4,Info = 0.1;无匹配时默认按 0.4(即 Low 档)。
  5. 原始权重 = (内容得分 + 代码块加成) × 严重性乘数,上限为 15.0。
  6. 归一化:bug_weight = ln(1 + 原始权重) / ln(1 + 15),保留 8 位小数。

注意事项

  • Critical 与 High 使用相同乘数(1.5),二者差异完全来自报告长度与代码块数量。
  • 管道中的严重性匹配是独立的粗粒度子串检查,与 bug_sev/bug_sev_raw 字段不同;未含关键词的严重性文本(如 "Major" 或抓取痕迹)会被默认为 Low 档(0.4)。
  • 该权重应视作 "受粗粒度严重性等级约束的报告完整度评分",而非精细或完全准确的严重性排序。

已知局限

  • bug_poc 大量为占位符:约 78.1% 的行(18,443/23,625)无实际代码,值如 "no poc""N/A""No data"。若用于 PoC 生成训练需按内容长度过滤。
  • bug_rec 部分为占位符:约 12.2% 的行(2,880/23,625)为 "No recommendation""No data"
  • 重复情况:3 行为完整记录精确重复,136 行与其他行共享相同 bug_desc(未做去重)。
  • 严重性标注不一致:原始来源涉及多平台且标注风格不一(如 "Low Risk"、"Crit" 或带 "Reported By" 后缀),bug_sev 已归一化,bug_sev_raw 保留原始文本。
  • 无法分类的记录:216 行(约 0.9%)标记为 Unknown,其中 147 行的原始值为 "Commit Location",疑似抓取痕迹。
  • 许可与版权不明确:底层审计报告可能来自第三方研究人员,需按 license: other 处理,不应假设超出原始平台授权的再分发或商业使用权。

预期用途

该数据集适用于智能合约漏洞检测、分类、报告/PoC 生成的模型训练与评估,面向防御性安全研究目的。需注意:原始半结构化数据仍需进一步清洗(去重、标签规范化、过滤低质量条目等)后才能用于模型训练或微调。

搜集汇总
数据集介绍
Smart Contract Audit Findings 数据集图片
构建方式
该数据集汇聚了23,625条智能合约安全审计发现,每条记录蕴含标题、详尽描述、概念验证代码、修复建议及严重性评级等多元信息。原始数据源自多个审计竞赛平台的半结构化报告,经解析整合为统一的Parquet格式,并保留原始CSV以供溯源。构建过程中,为每条发现赋予了名为bug_weight的综合评分,该评分巧妙融合了文本详尽度、代码块数量与严重性层级,通过精细的加权与对数压缩算法,量化了每条发现的重要性,旨在为后续的清洗与模型训练奠定坚实基础。
特点
数据集的一大特色在于其丰富的字段设计与细致的预处理考量。除基础文本外,特别设置了严重性归一化字段bug_sev,将杂乱的原始标签统一为从Critical到Unknown的八大类,同时保留bug_sev_raw以尊重原始表述的多样性。尤为值得一提的是bug_weight评分机制,它并非单纯的严重性排序,而是融合了报告撰写详尽度与代码示例含量的复合指标,并明确区分了Critical与High在权重上的等同性,提醒使用者该值更多反映报告完整度而非精确风险层级。此外,数据集中约78.1%的PoC字段为占位符,这一特点对依赖真实漏洞利用代码的研究者构成了重要警示。
使用方法
鉴于数据集的原始半结构化属性,使用时需遵循谨慎的预处理流程。推荐借鉴Hugging Face datasets库或pandas直接加载Parquet文件,进而开展去重、严重性标签二次规范化及低质量条目过滤等操作。该数据集的预期应用聚焦于防御性安全研究,涵盖智能合约漏洞检测模型的训练与评估、审计报告分类任务,以及漏洞描述与修复建议的生成式研究。研究者应警惕PoC字段的高缺失率,并在涉及严重性分析或权重排序时,审慎考量bug_weight的生成逻辑,必要时可基于bug_sev_raw重新构建个性化严重性映射,以适应特定的研究需求。
背景与挑战
背景概述
智能合约安全审计是区块链生态系统中至关重要的环节,其目的在于识别并修复合约代码中的潜在漏洞,以防资金损失与信任危机。随着去中心化金融(DeFi)和Web3应用的蓬勃发展,智能合约的复杂性与日俱增,使得人工审计愈发耗时且容易遗漏,因此利用人工智能技术辅助漏洞检测与修复已成为研究热点。Smart Contract Audit Findings数据集应运而生,于2025年前后由第三方研究机构从多个公开审计竞赛平台系统性收集并整理,共包含23,625条真实安全审计发现,每条记录涵盖漏洞标题、详实描述、概念验证代码、修复建议及严重性评级。该数据集的构建旨在打破安全研究领域高质量标注数据稀缺的瓶颈,为智能合约漏洞的自动检测、严重性分类以及报告生成模型提供大规模训练语料,其影响力在于推动从依赖专家经验的传统审计模式向数据驱动的智能审计范式演进,为保障区块链应用的安全性提供了坚实的数据基础设施。
当前挑战
当前数据集面临多重挑战。其一,原始数据呈现高度非结构化特征,源自不同竞赛平台的严重性标注口径不一,如'Low Risk'、'Crit'等,需经归一化处理,但仍有0.9%的样本无法准确映射,其中147条疑似网页抓取造成的伪影(如'Commit\nLocation'),这为模型的稳健性带来干扰。其二,数据质量参差不齐,庞大部分(78.1%)的漏洞概念验证代码为占位符而非真实可利用代码,约12.2%的修复建议亦缺失,此类样本虽可训练文本生成,却严重削弱了模型学习实际漏洞利用与防御策略的效能。其三,数据集中存在少量重复记录(3条完全重复,136条描述雷同),未经去重处理,可能导致训练数据冗余,影响模型学习的泛化性。此外,以严重性加权的权重设计受原始标注质量制约,Critical与High权重相同,且对异常标签的降级处理(如'Major'归为Low)会潜移默化地扭曲模型对风险等级的判别。最后,底层审计报告的授权与所有权不明确,限制其商业用途与公开再分发,为规范化应用设下法律屏障。
常用场景
经典使用场景
智能合约安全审计发现数据集作为区块链安全领域的基石资源,其核心应用场景聚焦于漏洞检测与分类模型的构建。研究者可依托其丰富的字段结构,训练模型对合约代码进行脆弱性模式识别,或利用bug_title与bug_desc进行细粒度的漏洞类型多分类。同时,该数据集中规范化的严重性等级标签为监督学习提供了基准,使得模型能够学习漏洞危害程度的量化评估,从而在智能合约部署前的自动化安全筛查中发挥关键作用。
解决学术问题
此数据集有效缓解了区块链安全研究中高质量标注数据稀缺的困境,为实证分析智能合约漏洞的分布规律与演化特征提供了大规模语料。它支撑了针对漏洞描述自动摘要、严重性等级自动判定等自然语言处理任务的学术探索,推动了从人工审计向智能化、规模化安全检测范式的转变。其意义在于,通过提供统一格式的审计报告,确立了可复现研究的基准,促进了防御性安全分析方法的可比性与可验证性。
衍生相关工作
该数据集衍生出的学术工作涵盖了多个前沿方向,包括基于预训练语言模型的漏洞检测微调、结合图神经网络的合约代码表征学习,以及利用检索增强生成技术优化漏洞修复方案的推荐系统。研究者还基于其bug_poc字段探索自动化利用代码生成,并通过bug_weight指标研究审计报告质量对模型性能的影响。这些工作不仅深化了对智能合约安全的理解,也推动了代码智能与安全分析交叉领域的持续演进。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务