源码
中文

服务器

版本:25.03

1. SBOM介绍

SBOM是一种正式标准化的、机器可读的元数据,它唯一地标识软件组件及其内容;也可能包括版权和许可证等成分数据。SBOM旨在跨组织共享,有助于提供软件供应链成分清单与透明度,并且未来趋势将作为软件交付件必要清单。

2. SBOM最小集定义

美国国家电信和信息管理局(National Telecommunications and Information Administration)发布SBOM最小集的定义: 数据字段是关于必须捕获和维护每个组件的基础数据,以便在整个软件供应链中跟踪组件,并基于此扩展License和漏洞库等其他数据字段。

数据字段描述
供应商名称创建、定义和标识组件的实体的名称。
组件名称分配给原始供应商定义的软件单元的名称。
组件的版本组件版本号、供应商用来指定软件从先前标识的版本发生变化的标识符。
其它唯一标识符用于标识组件或用作相关数据库的查找键的其他标识符。
依赖关系软件依赖关系、表征上游组件 X 包含在软件 Y 中的关系
SBOM数据的作者为此组件创建SBOM数据的实体的名称。
时间戳记录SBOM数据组装的日期和时间。
推荐的数据
组件的哈希组件的唯一哈希,以帮助允许列表或拒绝列表。
生命周期阶段SDLC 中捕获 SBOM 数据的获取的阶段。

3. openEuler发布的SBOM字段说明

最小集数据字段SPDX
组件供应商名称document->packages->supplier
组件名称document->packages->name
组件版本document->packages->versionInfo(openEuler使用了epoch:version-release格式)
组件其他唯一标识document->packages->externalRefs(category:PACKAGE_MANAGER)->purl
组件依赖关系document->packages->externalRefs(category:EXTERNAL_MANAGER)->purl
SBOM数据作者document->creationInfo->creators
SBOM时间戳document->creationInfo->created
组件的哈希document->packages->checksums
生命周期阶段未支持
其他组件关系内部子组件:document->packages->externalRefs(category:PROVIDE_MANAGER)->purl 运行时依赖:document->relationships(relationshipType:DEPENDS_ON)
组件License信息document->packages->licenseDeclared document->packages->licenseConcluded
组件Copyright信息document->packages->copyrightText
组件上游社区信息document->packages->externalRefs(category:SOURCE_MANAGER)->url
组件补丁信息补丁文件:document->files(fileTypes:SOURCE) 补丁关系:document->relationships(relationshipType:PATCH_APPLIED)
组件来源document->packages->downloadLocation
组件信息document->packages->description document->packages->summary
组件官网/博客document->packages->homepage

4. SBOM文件示例

解析最小颗粒度是RPM包