首页/开发/CI/CD 与发布速查/依赖漏洞扫描(SCA)接入
流水线设计54 条

依赖漏洞扫描(SCA)接入

对第三方依赖清单做已知漏洞比对:npm audit、pip-audit、OSV 等工具可离线接入 CI,按严重级决定阻断。

CI/CD 与发布速查开发更新于 2026-10-13

依赖漏洞扫描是什么

依赖漏洞扫描(SCA)对第三方依赖清单做已知漏洞比对:npm audit、pip-audit、OWASP Dependency-Check、Trivy fs 等工具可离线接入 CI,按严重级决定阻断。策略通常是高危阻断、中低危记录并跟踪;扫描对象是锁文件对应的依赖闭包——锁文件缺失或不更新时,结果不可信。扫描要覆盖直接依赖与传递依赖,闭包之外的开发依赖按团队策略裁剪。

基本信息

工具npm audit、pip-audit、OWASP Dependency-Check、Trivy fs 等
数据源各工具自带的漏洞库或 OSV 等公开数据
策略高危阻断、中低危记录并跟踪
前置锁文件最新且入库,扫描基于解析后的依赖闭包
豁免带原因与到期时间的白名单,到期自动重新评估

漏洞处置节奏

严重级时限参考处理
严重与高危尽快阻断合并且安排修复或缓解
中危限期排期升级,跟踪到期
低危批量随例行升级消化
无修复版本评估临时缓解并跟踪上游

典型使用场景

  • 合并门禁:新增依赖引入高危漏洞时阻断,防止欠债入库
  • 例行巡检:对存量依赖定期全量扫描,输出治理清单
  • 应急响应:公开漏洞爆发时批量比对哪些服务受影响
  • 采购评估:引入新依赖前核对漏洞与维护活跃度
  • 合规材料:认证要求提供依赖漏洞治理流程与记录
  • 修复节奏:小步升级与锁定版本结合,避免一次跳跃过大引入兼容风险

Node

Node
npm audit --audit-level=high

Python

Python
pip-audit --strict
扫描对象是锁文件对应的闭包依赖;锁文件缺失时结果不可信。CI 里先校验锁文件与清单一致再扫描。
误报与无修复版本要有豁免流程:登记原因、责任人与复核时间,避免一刀切把团队逼去绕过。

易错点

  • 只在安装时检查不在流水线检查:锁文件漂移无人拦截
  • 把「无修复版本」的漏洞一律阻断:需要有豁免流程与到期重评估机制
  • 只扫直接依赖:传递依赖才是漏洞大头,确保扫描覆盖完整闭包
  • 修复无台账:升级了但说不清哪些漏洞被谁处理,治理记录要留存
  • 开发依赖与运行依赖不区分:噪声拉高、团队失去耐心,按进入产物的实际范围筛选

数据来源与参考

  • npm Docs《npm audit》
  • PyPA 文档《pip-audit》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌