SBOM是一份信息详尽、机器可读的形式化清单,其中囊括了软件所有组件的详尽信息及它们之间的层级关系。
- 主流SBOM格式标准分别是SPDX、CycloneDX和SWID
- CycloneDX格式:是一种轻量级的标准,专为应用安全和供应链组件分析而设计,专注于提供快速、可靠的软件组件信息,而不是提供信息详尽的元数据。这使得CycloneDX在处理大型、复杂的软件项目时具有较高的性能
安装CycloneDX
PHP项目
composer global require --dev cyclonedx/cyclonedx-php-composer# 若报错In PluginManager.php line 752:
# cyclonedx/cyclonedx-php-composer (installed globally) contains a Composer p
# lugin which is blocked by your allow-plugins config. You may add it to the
# list if you consider it safe.
# 运行以下命令解决
# composer global config --no-plugins allow-plugins.cyclonedx/cyclonedx-php-composer true# 获取帮助
composer CycloneDX:make-sbom --help# 生成sbom文件
composer CycloneDX:make-sbom --output-file=/workspace/projectname/reports/sbom.xml -d /workspace/projectname/
# --output-file sbom文件生成地址
# -d 指定项目目录,也就是composer.json所在目录
Node项目
# 安装
# npm方式
npm install --global @cyclonedx/cyclonedx-npm
# npx方式
npx --package @cyclonedx/cyclonedx-npm --call exit# 获取帮助
cyclonedx-npm --help# 生成sbom
cyclonedx-npm --output-file=/workspace/projectname/reports/sbom.xml -d /workspace/projectname/
其他语言
cyclonedx全部语言库https://github.com/orgs/CycloneDX/repositories?type=all