ICVul
收藏arXiv2025-05-13 更新2025-05-15 收录
下载链接:
https://github.com/Chaomeng-Lu/ICVul.git
下载链接
链接失效反馈官方服务:
资源简介:
ICVul是一个针对C/C++项目的漏洞数据集,它不仅包括CVE数据,还包含与之相关的VCC信息,并通过ESC技术筛选出了噪声数据,提高了数据标签的可靠性。该数据集由五个相互关联的表组成,包括仓库信息、CVE-FC-VCC映射、提交信息、文件信息和函数信息,便于进行详细的数据分析。ICVul数据集的构建过程包括CVE数据提取和过滤、VCC收集、提交/文件/函数/仓库提取以及消除可疑提交,确保了数据集的高质量和完整性。
ICVul is a vulnerability dataset targeting C/C++ projects. It not only contains CVE data but also includes associated VCC information, and filters out noisy data via the ESC technique to improve the reliability of data labels. This dataset comprises five interrelated tables, namely repository information, CVE-FC-VCC mapping, commit information, file information, and function information, which facilitate detailed data analysis. The construction process of the ICVul dataset includes CVE data extraction and filtering, VCC collection, extraction of commits, files, functions and repositories, as well as removal of suspicious commits, ensuring the high quality and integrity of the dataset.
提供机构:
鲁汶大学DistriNet小组
创建时间:
2025-05-13
搜集汇总
数据集介绍

构建方式
在软件漏洞检测领域,高质量数据集的构建对机器学习模型的训练至关重要。ICVul数据集通过系统化的方法整合了来自国家漏洞数据库(NVD)的CVE条目,并严格筛选与GitHub修复提交相关联的记录。采用SZZ算法追溯漏洞贡献提交(VCC),结合自主研发的ESC技术消除可疑提交,确保标签的可靠性。数据以关系型数据库结构存储,涵盖代码仓库、提交记录、文件及函数层级的多维元数据,形成完整的漏洞分析链条。
特点
该数据集的核心优势体现在其数据质量与丰富维度。相较于现有资源,ICVul在函数层级实现41%的平衡比例,显著优于同类数据集5%的平均水平。独特之处在于整合了VCC追溯机制,提供漏洞引入的完整演变路径。通过ESC技术过滤23.8%的噪声函数,确保标注准确性。数据集包含807个代码仓库的15,396个函数样本,涵盖146种CWE类型,其关系型数据结构支持多粒度分析,为复杂模型训练提供理想素材。
使用方法
研究者可通过GitHub获取该数据集及配套框架,支持定期更新以保持数据时效性。典型应用场景包括:基于提交元数据的漏洞预测模型训练、结合VCC的漏洞传播路径分析、以及跨CWE类型的多分类实验。数据集的关系型设计便于SQL查询与特征工程,特别适合研究代码变更模式与漏洞的关联性。对于深度学习应用,建议优先利用函数级别的代码语义特征与复杂度指标,配合ESC过滤后的纯净标签进行模型优化。
背景与挑战
背景概述
ICVul数据集由比利时KU Leuven大学的DistriNet研究团队于2025年创建,主要研究人员包括Chaomeng Lu、Tianyu Li等。该数据集针对机器学习在软件漏洞检测领域面临的数据质量瓶颈问题,通过整合CVE漏洞数据库与GitHub真实代码仓,构建了首个包含漏洞贡献提交(VCCs)的C/C++漏洞数据集。其创新性体现在采用SZZ算法追踪漏洞引入点,并开发了ESC技术消除噪声提交,使得数据标签准确率达到41%,显著优于同期BigVul(4%)和MegaVul(5%)等数据集。作为首个具备完整漏洞生命周期的标注数据集,ICVul为漏洞预测、风险分析等研究提供了新的基准。
当前挑战
在领域问题层面,ICVul着力解决传统漏洞检测数据集存在的三大挑战:标签质量低下(如BigVul存在大量误标)、特征维度单一(多数缺失代码上下文信息)以及类别不平衡(漏洞样本占比不足5%)。数据集构建过程中面临四重技术挑战:1)从26万CVE记录中精准匹配GitHub修复提交,需设计多级过滤机制;2)应用SZZ算法追溯VCCs时存在20%的误报率;3)处理合并提交等噪声数据时,需开发ESC技术进行多维度筛查;4)保持C/C++代码解析一致性,需兼容12种文件扩展名。这些挑战通过动态分析框架与关系型存储方案得到系统性解决。
常用场景
经典使用场景
在软件工程与信息安全领域,ICVul数据集因其高质量的标注和丰富的元数据,成为机器学习模型训练的首选资源。该数据集特别适用于C/C++项目的漏洞检测研究,通过整合漏洞修复提交(FCs)和漏洞引入提交(VCCs),为模型提供了多维度的学习素材。其经典使用场景包括训练深度学习模型以识别代码中的潜在安全漏洞,以及支持静态分析和动态测试工具的验证工作。
解决学术问题
ICVul数据集有效解决了现有漏洞数据集中标签质量低、特征集有限以及数据不平衡等核心问题。通过引入ESC技术排除噪声提交,并结合SZZ算法追踪VCCs,该数据集显著提升了漏洞标注的可靠性。其意义在于为学术界提供了高质量的研究基准,推动了基于机器学习的漏洞检测方法在准确性和鲁棒性上的突破,同时为多类别分类模型的发展奠定了基础。
衍生相关工作
围绕ICVul衍生的经典工作包括:基于其多维度元数据开发的混合型漏洞预测框架,结合了JIT(即时)学习技术;以及利用VCCs时序特征构建的漏洞传播分析模型。此外,该数据集还启发了对SZZ算法改进的研究,例如通过引入上下文感知的代码溯源方法,进一步提高了VCCs识别的精确度。
以上内容由遇见数据集搜集并总结生成



