标准答案
- 依赖必须来自可信 registry,团队要统一包管理器和 lockfile。
- CI 中可以运行依赖漏洞扫描、许可证检查和 lockfile 校验。
- 关注 install script、postinstall、未知维护者、拼写相似包和异常新增依赖。
- 对运行时依赖、构建工具、开发依赖按影响面分级处理。
- 升级安全补丁前仍要审查 changelog、lockfile diff、测试结果和回滚路径。
题目解析
供应链风险不仅是“某个包有 CVE”。恶意包、维护权转移、安装脚本执行、依赖混淆、锁文件漂移都会影响前端项目。
治理要分层:安装阶段保证来源和版本可复现,合并阶段做审计和 review,发布阶段保证产物可追踪,线上阶段能快速定位某个版本使用了哪些依赖。
安全修复也不能无脑升级。大版本升级可能引入兼容问题,需要在风险和稳定性之间做明确判断。
常见误区
- 不提交 lockfile,导致 CI 和本地安装出不同依赖树。
- 看到 audit 告警就直接升级大版本,没有验证影响面。
- 忽略 postinstall 脚本和新增间接依赖的风险。