中文

用于评估 SBOM 消费工具的软件材料清单数据集

软件工程 2025-04-10 v1

摘要

软件材料清单(SBOM)正在成为有效软件依赖管理的重要工具。SBOM 是软件中所用组件的列表,包括组件名称、版本和许可证等细节。通过 SBOM,开发人员可以快速识别软件组件并评估其软件是否依赖于脆弱的库。支持 SBOM 管理的工具可以大致分为两类:生成 SBOM 的工具和利用 SBOM 的工具。需要大量准确的 SBOM 才能评估利用 SBOM 的工具。然而,目前尚无专为此目的设计的公开数据集,SBOM 消费工具的研究也有限。本文我们提出了一个 SBOM 数据集以弥补这一差距。我们构建的数据集包含来自真实世界 Java 项目的 46 个 SBOM,计划扩展到包括各种编程语言的更广泛项目范围。准确且结构良好的 SBOM 使研究人员能够评估 SBOM 消费工具的功能并识别潜在问题。我们从 GitHub 收集了 3,271 个 Java 项目,并使用 Maven 和开源 SBOM 生成工具为其中 798 个项目生成 SBOM。通过自动和手动校正,这些 SBOM 被精炼为 46 个符合 SPDX Lite 框架的 SBOM。该框架定义了面向实际行业工作流程的最小要求。这一过程也揭示了 SBOM 生成工具本身的问题。该数据集已公开于 Zenodo(DOI: 10.5281/zenodo.14233415)。

关键词

引用

@article{arxiv.2504.06880,
  title  = {A Dataset of Software Bill of Materials for Evaluating SBOM Consumption Tools},
  author = {Rio Kishimoto and Tetsuya Kanda and Yuki Manabe and Katsuro Inoue and Shi Qiu and Yoshiki Higo},
  journal= {arXiv preprint arXiv:2504.06880},
  year   = {2025}
}

备注

5 pages, to appear in the Proceedings of the 22nd IEEE/ACM International Conference on Mining Software Repositories (MSR'25)