适用场景

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

配置步骤(依赖与镜像漏洞扫描)

# CI 阶段扫描
npm audit --production
trivy fs --severity HIGH,CRITICAL .
trivy image --severity HIGH,CRITICAL 镜像:标签
# 阻断策略:存在 CRITICAL 且无可修复方案时人工评审

关键参数与建议

  • 建立组件清单(SBOM):名称、版本、来源、引入时间
  • 在 CI 中集成依赖扫描,高危组件阻断发布
  • 镜像与制品来自私有仓库,禁止直接从公网拉取到生产
  • 升级策略:高危漏洞限时修复,中低危随版本迭代
  • 第三方交付物要审计:源码或二进制、依赖清单、漏洞报告

容易踩的坑

  • 扫描只在本地跑,CI 未集成,发布时没人看
  • 一律阻断导致业务无法发布(需人工评审通道)
  • 扫描结果不归档,无法对比趋势

验证与巡检

trivy image --severity CRITICAL 镜像:标签 | head
  • 巡检:CI 扫描任务存在、结果归档、阻断策略明确

小结

供应链安全不是一次性工作:每次发版都生成 SBOM、每次高危漏洞都排查影响面,形成台账,检查时才有据可依。

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