它是如何工作的?
执行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 packagversion: 3.10 PackageDownloadLocation: NOASSERTION FilesAnalyzed: false PackageChecksum: SHA256: 3d8ee7cc23fef4279e6a0a46ea8df14f2bfe09703dd1e67b465bca5d4b500602 PackageHomePage: NOASSERTION packagelicenseconcled: MIT PackageLicenseDeclared: NOASSERTION packagecopyrighttttext: NOASSERTION . exe
未来的版本将包括基于SPDX规范的其他数据。请注意,报告中的某些值可能为No Assertion,这意味着Xray试图但无法达到合理的客观确定或故意不提供任何信息。有关更多信息,请参见SPDX规范版本2.2.1。
CycloneDX格式示例
CycloneDX实现提供了报告的一般元数据,其中包括诸如x射线版本、何时生成报告和格式等信息。它还涵盖了每个检测到的组件的详细组件信息,其中包括以下字段:
- 包名
- 包版本
- 检测到许可证
- 检测到的license 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。