如何解决Angular 15项目Checkmarx扫描出的开发依赖漏洞?
处理Angular 15项目中Checkmarx扫描出的开发依赖漏洞(npm-debug、inflight等)
- 定位依赖来源:执行命令
npm ls npm-debug inflight,查看这些漏洞依赖是被哪个父依赖引入的,明确问题根源。 - 尝试更新或扁平化依赖:用
npm update npm-debug inflight尝试更新子依赖;如果是npm 8及以上版本,执行npm dedupe扁平化依赖树,可能消除重复的旧版本漏洞依赖。 - 强制替换漏洞版本:在项目的
package.json中添加overrides字段,强制将漏洞依赖替换为安全版本。示例:
"overrides": { "inflight": "^1.0.6", "npm-debug": "^2.6.9", "once": "^1.4.0" // inflight的漏洞常源于依赖的once版本过低,可一并覆盖 }
添加后执行npm install生效。
- 检查直接引用的开发依赖:打开
package.json的devDependencies字段,确认是否直接引入了这些漏洞包,如果有,手动将其版本更新到最新安全版。 - 清理缓存重装:执行
npm cache clean --force,删除项目根目录的node_modules文件夹和package-lock.json文件,再重新执行npm install,避免缓存中的旧依赖干扰。 - 谨慎排除开发依赖扫描(最后选项):如果确认这些漏洞仅存在于开发阶段,不会被打包到生产包中,可以在Checkmarx的扫描配置里设置忽略开发依赖(比如排除
node_modules中的开发依赖目录,或配置扫描规则跳过devDependencies),但优先尝试修复而非忽略。
内容的提问来源于stack exchange,提问作者Richar Zapata
相关产品推荐
相关产品推荐

