它是如何工作的?
执行x射线扫描后,您可以使用两种支持的SBOM格式之一将扫描数据导出为SBOM报告:
- SPDX:软件包数据交换(SPDX)是用于通信软件包组件的标准格式,包括关于许可证版权的信息。它包含了对开源软件特别有用的几种机制。
支持Xray: tag:value、JSON和xlsx的导出格式。 - CycloneDX:CycloneDX是专为软件安全需求和相关风险分析而设计的轻量级SBOM规范。它的设计是灵活的,易于适应的,具有流行构建系统的实现。
支持Xray的导出格式:JSON和XML。
导出SBOM数据
要将SBOM数据导出为SPDX或CycloneDX,请执行以下操作:
- 在Artifactory,从x光数据选项卡上,选择行动.
- 根据您需要的格式,选择其中之一导出SBOM为SPDX或导出SBOM为CycloneDX.
- 根据需要选择一种支持的导出格式。
SPDX格式示例
在生成SPDX报告的当前实现中,Xray涵盖了文档创建信息而且包信息它包括以下字段:
- 包名
- 包版本
- 检测到许可证
- 尽可能检测校验和
PackageName: PyYAML SPDXID: SPDXRef-Package-PyYAML-3.10 PackageVersion: 3.10 packagdownloadlocation: NOASSERTION FilesAnalyzed: false PackageChecksum: SHA256: 3d8ee7cc23fef4279e6a0a46ea8df14f2bfe09703dd1e67b465bca5d4b500602 PackageHomePage: NOASSERTION packagelicenseconclded: MIT packagelicenseasserted: NOASSERTION PackageCopyrightText: NOASSERTION
未来的版本将包括基于SPDX规范的附加数据。注意,报告中的一些值可能具有No Assertion值,这意味着Xray试图但无法达到合理的客观判断或故意不提供任何信息。有关更多信息,请参见SPDX规范版本2.2.1.
CycloneDX格式示例
CycloneDX实现提供报告的一般元数据,其中包括诸如x射线版本、生成报告的时间以及格式等信息。它还涵盖了每个被检测组件的详细组件信息,其中包括以下字段:
- 包名
- 包版本
- 检测到许可证
- 检测到授权URL
- 尽可能检测校验和
"type": "application", "name": "ubuntu:bionic:libsqlite3-0", "version": "3.22.0-1ubuntu0.4", "hash ": [{"alg": "SHA-256", "content": "1c0f71e7796c1ddb8527b9b052f9948fc8a2c1e8e9c89b084bcc36100f966714"}], "licenses": [{"license": {"id": "GPL-2.0", "url": "http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html"}}]}
当前的实现基于CycloneDX规范1.3版本,未来的版本将包括额外的数据,如检测包url和依赖关系。
REST API支持
方法还支持导出SBOM数据出口组件细节REST API。