适用场景
越来越多事故来自"别人的代码":开源组件漏洞、依赖被投毒、镜像被篡改。供应链安全的核心是"知道自己用了什么、版本是什么、有没有已知漏洞"。
配置步骤(组件清单与 SBOM)
# 前端/Node
npm ls --all --json > sbom-npm.json
# Java
mvn dependency:tree -DoutputFile=deps.txt
# 容器镜像
trivy image --format cyclonedx -o sbom.cdx.json 镜像:标签
关键参数与建议
- 建立组件清单(SBOM):名称、版本、来源、引入时间
- 在 CI 中集成依赖扫描,高危组件阻断发布
- 镜像与制品来自私有仓库,禁止直接从公网拉取到生产
- 升级策略:高危漏洞限时修复,中低危随版本迭代
- 第三方交付物要审计:源码或二进制、依赖清单、漏洞报告
容易踩的坑
- 只记录直接依赖,忽略传递依赖(漏洞往往在传递依赖里)
- SBOM 生成后不更新,新版本又漏
- 交付物没有 SBOM,出漏洞无法评估影响面
验证与巡检
trivy image 镜像:标签 | tail -20
- 巡检:每次发版有 SBOM、高危组件为零或已评估
小结
供应链安全不是一次性工作:每次发版都生成 SBOM、每次高危漏洞都排查影响面,形成台账,检查时才有据可依。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。