nimaster/primevul_dataset
收藏Hugging Face2024-06-30 更新2024-07-06 收录
下载链接:
https://hf-mirror.com/datasets/nimaster/primevul_dataset
下载链接
链接失效反馈官方服务:
资源简介:
该数据集包含多个特征,如项目名称、提交ID、目标、函数、CWE标识符、漏洞索引、索引、哈希值、大小、消息和数据集名称。数据集被划分为训练集、测试集和验证集,每个部分都有特定的字节大小和示例数量。数据集的下载大小为125436355字节,总大小为415528468字节。
This dataset includes multiple features such as project name, commit ID, target, function, CWE identifier, vulnerability index, index, hash, size, message, and dataset name. The dataset is divided into training, test, and validation sets, each with specific byte sizes and example counts. The download size of the dataset is 125436355 bytes, and the total size is 415528468 bytes.
提供机构:
nimaster
搜集汇总
数据集介绍

构建方式
在软件安全领域,高质量漏洞数据集是支撑深度学习模型进行脆弱性检测的基石。nimaster/primevul_dataset 数据集通过系统化整合多个来源的漏洞样本构建而成,其原始数据源自 Big-Vul 等知名漏洞数据库。构建过程中,每条记录均保留了项目名称(project)、提交标识(commit_id)、漏洞函数代码(func)以及对应的 CWE 分类标签,并额外引入了哈希值(hash)与消息(message)字段以增强可追溯性。数据集按照 184427、25911 和 25430 的样本量划分为训练、测试与验证三个子集,确保模型评估的严谨性。这种多源融合与精细标注的构建策略,为跨项目漏洞检测研究提供了丰富的训练素材。
特点
该数据集最显著的特点在于其多维度的信息覆盖与结构化设计。每个样本不仅包含函数级别的源代码(func)与二元漏洞标签(target),还关联了具体的 CWE 弱类型编号,这使得模型能够针对不同漏洞类别进行细粒度学习。此外,big_vul_idx 与 idx 索引字段的存在,便于研究者回溯原始数据源与进行交叉验证。数据集规模达到约 415 MB,涵盖超过 23 万个样本,在同类漏洞数据集中具备较大的容量优势。这些特性共同赋予了数据集在训练深度神经网络时所需的丰富性与多样性,有助于提升模型在真实场景下的泛化能力。
使用方法
使用该数据集时,研究者可通过 Hugging Face Datasets 库直接加载,指定配置名称为 'default' 即可访问训练、测试与验证三个分片。加载后,每条样本以字典形式呈现,包含 project、commit_id、func 等字段。典型的应用流程包括:将 func 字段中的源代码作为模型输入,以 target 字段作为监督信号进行二分类训练;同时可利用 cwe 字段进行多类别漏洞分类实验。由于数据已预先划分好标准子集,用户可直接用于模型训练与评估,无需额外拆分。建议在预处理时对函数代码进行 tokenization 或向量化处理,以适应不同架构的深度学习模型。
背景与挑战
背景概述
在软件安全领域中,源代码漏洞检测一直是维护软件生态健康的关键环节。随着开源软件的蓬勃发展,大量潜在的安全缺陷潜藏于代码库中,亟需高效自动化的检测手段。PrimeVul数据集由研究人员精心构建,旨在为基于深度学习的漏洞检测模型提供大规模、高质量的基准资源。该数据集收录了来自多个真实开源项目的函数级代码样本,并标注了具体的漏洞类型(如CWE分类)与修复信息,其创建时间可追溯至近年,主要依托于对BigVul等早期数据集的整合与扩充。通过涵盖训练、验证与测试三部分共超过23万个样本,PrimeVul显著推动了跨项目漏洞预测、细粒度缺陷定位等研究的发展,成为评估模型泛化能力与鲁棒性的重要基石。
当前挑战
PrimeVul数据集所面临的挑战首先体现在领域问题的复杂性上:源代码漏洞检测不仅是简单的二分类任务,还需应对漏洞类型的高度不平衡、代码语义的稀疏表达以及不同编程范式带来的迁移困难。模型常因样本分布不均而偏向于常见漏洞,难以捕捉罕见但高危的缺陷模式。在数据集构建过程中,挑战同样严峻:从海量提交记录中精准对齐漏洞引入与修复的commit,需克服噪声标签、版本兼容性歧义及函数粒度切分的模糊性。此外,跨数据集融合时需统一标注标准与特征格式,避免引入冗余或冲突信息,这要求对原始数据(如BigVul)进行严格的清洗与验证,以确保训练数据的可靠性与代表性。
常用场景
经典使用场景
PrimeVul数据集在软件安全领域扮演着基石角色,其核心应用场景聚焦于源代码级别的漏洞检测与分类任务。通过整合来自多个开源项目的函数级代码样本,该数据集为训练和评估深度学习模型提供了丰富的正负样本,使得研究者能够构建高精度的漏洞预测系统,从而在代码审查阶段自动识别潜在的安全缺陷。
衍生相关工作
基于PrimeVul,衍生了一系列经典工作,包括针对漏洞检测的图神经网络架构优化(如Devign、Reveal的改进版本)、基于预训练代码模型的微调策略(如CodeBERT、GraphCodeBERT在漏洞场景的适配),以及跨语言漏洞检测基准的建立,这些工作共同构建了现代智能漏洞分析的技术体系。
数据集最近研究
最新研究方向
在软件安全领域,源代码漏洞的自动化检测与分类正成为研究焦点,而高质量标注数据集是推动该方向发展的基石。nimaster/primevul_dataset作为一个汇聚了多源漏洞样本的大规模数据集,涵盖了CWE分类、函数级代码及提交元数据,为深度学习模型在细粒度漏洞识别与因果分析方面提供了丰富的训练与评估资源。近期前沿研究围绕该数据集展开,重点探索如何利用预训练代码模型(如CodeBERT、GraphCodeBERT)进行跨项目漏洞迁移学习,以及结合图神经网络对函数调用关系进行上下文感知的脆弱性预测。同时,该数据集在支撑软件供应链安全事件(如Log4j漏洞的变种检测)的实证研究中发挥了关键作用,推动了从静态规则到数据驱动范式的转变,其影响在于为工业级代码审计工具提供了可复现的基准,并促进了开放科学环境下漏洞数据集的标准化建设。
以上内容由遇见数据集搜集并总结生成



