Q15 · 代码质量
node_modules 的包安全性问题如何解决?
⚡ 速记答案(30 秒)
- 使用 npm audit / yarn audit / pnpm audit 等自动扫描漏洞
- 引入 Snyk、Dependabot 等服务自动提 PR 修复安全问题
- 锁定版本(lockfile),避免引入未知变更
- 对高风险包进行白名单管理,尽量减少无用依赖
- 在 CI 中加入安全扫描步骤,不通过禁止上线
📖 详细讲解
安全扫描工具
| 工具 | 特点 |
|---|---|
| npm audit | 内置,免费 |
| Snyk | 功能强,有 CI 集成 |
| Dependabot | GitHub 原生 |
| Socket | 检测供应链攻击 |
安全策略
1. 定期扫描
npm audit
npm audit fix2. CI 集成
- run: npm audit --audit-level=high3. 依赖锁定
• 提交 package-lock.json
• 使用 npm ci 而非 npm install
4. 白名单管理
• 控制可安装的包来源
• 审核新增依赖
面试技巧:回答工程化问题时,结合你实际项目中的配置和优化经验,更有说服力。