正文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 与构建产物一并归档,附加到发布资产以便后续验证与审计。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部