一个手动整理的开放源代码软件漏洞修复数据集
软件工程
2025-03-18 v3 密码学与安全
机器学习
摘要
增进我们对软件漏洞的理解、自动化其识别、分析其影响并最终缓解其危害,对于实现更安全的软件开发是必要的。在运行我们开发且目前被 SAP 数百个开发单位使用的漏洞评估工具时,我们手动收集并整理了一个开放源代码软件漏洞及其修复提交的数据集。数据来源于国家漏洞数据库(NVD)以及我们持续监控的特定项目 Web 资源。从这些数据中,我们提取了一个数据集,将影响 205 个不同开放源代码 Java 项目(用于 SAP 产品或内部工具)的 624 个公开披露的漏洞映射到修复它们的 1282 个提交上。在 624 个漏洞中,29 个完全没有 CVE 标识符,46 个虽有编号机构分配的 CVE 标识符但尚未在 NVD 中提供。该数据集以开源许可证发布,并附带支持脚本,使研究人员能够自动从相应仓库检索提交的实际内容,并扩充每个实例可用的属性。此外,这些脚本允许用非安全修复的额外实例来补充数据集(例如,在机器学习应用中这很有用)。我们的数据集已成功用于训练可自动识别代码仓库中安全相关提交的分类器。将该数据集及支持代码作为开源发布,将使未来研究能够基于具有工业相关性的数据;同时,这也代表了使该数据集的维护成为开放源代码社区、学术界和工业界共同协作的具体一步。
引用
@article{arxiv.1902.02595,
title = {A Manually-Curated Dataset of Fixes to Vulnerabilities of Open-Source Software},
author = {Serena E. Ponta and Henrik Plate and Antonino Sabetta and Michele Bezzi and Cédric Dangremont},
journal= {arXiv preprint arXiv:1902.02595},
year = {2025}
}
备注
This is a pre-print version of the paper that appears in the proceedings of The 16th International Conference on Mining Software Repositories (MSR), Data Showcase track