# SBOM 清单

OpenSCA 支持生成多种格式的 SBOM 清单, 包括 DSDX (opens new window), SPDX (opens new window), CycloneDX (opens new window) 和 SWID (opens new window).

除了生成 SBOM, OpenSCA 还支持将 SBOM 作为输入, 生成漏洞报告或转换为其他格式的 SBOM 清单.

支持的 SBOM 格式:

SBOM 清单 文件后缀
DSDX .dsdx .dsdx.json .dsdx.xml
SPDX .spdx .spdx.json .spdx.xml
CycloneDX .cdx.json .cdx.xml
SWID .swid.json .swid.xml

# 生成 SBOM 清单

# 基本命令

OpenSCA-cli 使用 -out 参数指定 SBOM 清单输出路径, 使用后缀名指定 SBOM 清单格式.

opensca-cli -path {项目路径} -out {SBOM路径}.{SBOM格式}

-out 参数支持指定多个 SBOM 路径, 使用半角逗号(,)分隔.

opensca-cli -path {项目路径} -out {SBOM路径1}.{SBOM格式1},{SBOM路径2}.{SBOM格式2}

也可以同时生成 SBOM 清单和漏洞报告.

opensca-cli -path {项目路径} -out {SBOM路径}.{SBOM格式},{报告路径}.{报告格式}

# 示例

生成 JSON 格式 DSDX 清单 生成 JSON 格式 SPDX 清单 生成 JSON 格式 CycloneDX 清单 生成 JSON 格式 SWID 清单
opensca-cli -path ~/workscapce/myproject -out ~/workscapce/myproject/sbom.dsdx.json
opensca-cli -path ~/workscapce/myproject -out ~/workscapce/myproject/sbom.spdx.json
opensca-cli -path ~/workscapce/myproject -out ~/workscapce/myproject/sbom.cdx.json
opensca-cli -path ~/workscapce/myproject -out ~/workscapce/myproject/sbom.swid.json

# 转换 SBOM 清单

# 基本命令

opensca-cli -path {SBOM路径}.{SBOM格式} -out {SBOM路径}.{SBOM格式}

注意: SPDX 和 SWID 格式的 SBOM 清单不包含组件语言信息或包管理器坐标, 在转换时可能会丢失部分信息.

# 示例

DSDX 转 SPDX DSDX 转 CycloneDX DSDX 转 SWID
opensca-cli -path ~/workscapce/myproject/sbom.dsdx.json -out ~/workscapce/myproject/sbom.spdx.json
opensca-cli -path ~/workscapce/myproject/sbom.dsdx.json -out ~/workscapce/myproject/sbom.cdx.json
opensca-cli -path ~/workscapce/myproject/sbom.dsdx.json -out ~/workscapce/myproject/sbom.swid.json