npm audit提示glob-parent<5.1.2存在5个中度漏洞,该如何修复?
该漏洞为glob-parent <5.1.2版本的正则拒绝服务中度漏洞,属于开发环境依赖漏洞,仅影响本地开发服务运行,不会被打包到生产环境代码中,实际风险极低。可根据你的项目情况选择以下任意一种方案解决:
方案1:直接忽略漏洞(风险可接受场景首选)
漏洞仅存在于开发依赖链,生产环境完全不受影响,可直接执行临时忽略命令:npm audit --ignore glob-parent
如需永久忽略,可在项目根目录新增.auditignore文件,添加内容glob-parent即可。日常审计时如果仅需检查生产环境依赖漏洞,可执行命令:npm audit --production方案2:升级上层依赖(根源修复)
根据依赖链信息,漏洞根因是@angular-devkit/build-angular版本低于13.0.0-next.3,你可以直接升级Angular构建工具到修复版本:ng update @angular-devkit/build-angular@13
如果你的项目Angular主版本低于13,建议先同步升级Angular全家桶到13及以上版本,升级完成后重新安装依赖即可彻底消除该漏洞。方案3:强制覆写依赖版本(无需升级大版本场景)
如果项目暂时无法升级Angular大版本,可以通过配置强制指定glob-parent的安全版本:- 使用npm >=8.3.0的项目,在package.json中新增overrides配置:
{ "overrides": { "glob-parent": "^5.1.2" } }配置完成后删除
node_modules文件夹和package-lock.json文件,重新执行npm install即可生效。- 使用yarn的项目,在package.json中新增resolutions配置:
{ "resolutions": { "glob-parent": "^5.1.2" } }配置完成后重新执行
yarn install即可生效。
内容的提问来源于stack exchange,提问作者Munavvir Muneer

