标准答案

  1. 依赖必须来自可信 registry,团队要统一包管理器和 lockfile。
  2. CI 中可以运行依赖漏洞扫描、许可证检查和 lockfile 校验。
  3. 关注 install script、postinstall、未知维护者、拼写相似包和异常新增依赖。
  4. 对运行时依赖、构建工具、开发依赖按影响面分级处理。
  5. 升级安全补丁前仍要审查 changelog、lockfile diff、测试结果和回滚路径。

题目解析

供应链风险不仅是“某个包有 CVE”。恶意包、维护权转移、安装脚本执行、依赖混淆、锁文件漂移都会影响前端项目。

治理要分层:安装阶段保证来源和版本可复现,合并阶段做审计和 review,发布阶段保证产物可追踪,线上阶段能快速定位某个版本使用了哪些依赖。

安全修复也不能无脑升级。大版本升级可能引入兼容问题,需要在风险和稳定性之间做明确判断。

常见误区

  • 不提交 lockfile,导致 CI 和本地安装出不同依赖树。
  • 看到 audit 告警就直接升级大版本,没有验证影响面。
  • 忽略 postinstall 脚本和新增间接依赖的风险。

作者信息