正文SBOM 明确记录构建产物的依赖组成与版本来源,是供应链安全的基础。本文给出在 Node.js 前端项目中生成 CycloneDX 与 SPDX 的标准流程与 CI 集成示例,并说明落地治理要点。一、本地生成 SBOMnpx cdxgen -o sbom.cdx.json -t npm npx spdx-sbom-generator -o sbom.spdx.json 二、CI 集成与制品关联name: sbom on: push: branches: [ main ] jobs: build-sbom: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '22' - run: npm ci - uses: anchore/sbom-action@v0 with: format: cyclonedx-json output-file: sbom.cdx.json - run: tar -czf dist/app.tar.gz dist/ - uses: actions/upload-artifact@v4 with: name: release-assets path: | sbom.cdx.json dist/app.tar.gz 三、验证与风险评估jq '.components | length' sbom.cdx.json jq '.relationships | length' sbom.spdx.json 四、治理要点格式选择:优先 CycloneDX JSON,必要时同时生成 SPDX 以兼容生态工具。版本对齐:SBOM 基于 `npm ci` 的锁文件安装生成,避免依赖漂移。工具链:结合审计与漏洞数据库对 SBOM 进行风险评估并出具报告,输出到发布工单或变更记录。可追溯:将 SBOM 与构建产物一并归档,附加到发布资产以便后续验证与审计。

发表评论 取消回复