适用场景

越来越多事故来自"别人的代码":开源组件漏洞、依赖被投毒、镜像被篡改。供应链安全的核心是"知道自己用了什么、版本是什么、有没有已知漏洞"。

配置步骤(组件清单与 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、每次高危漏洞都排查影响面,形成台账,检查时才有据可依。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。