Blackduck扫描报node_postgres:1.1.1高危漏洞,pg-promise依赖问题求解
解决Blackduck误报pg@1.1.1漏洞的步骤
彻底清理依赖并重建依赖树
先删除本地依赖缓存与锁定文件,避免残留旧版本引用:rm -rf node_modules package-lock.json npm install执行完成后,用
npm ls pg查看完整依赖树,确认是否还有pg@1.1.1被其他依赖引入。如果有,就能定位到具体是哪个包带了旧版pg。强制锁定pg版本
若发现其他依赖偷偷引入旧版pg,直接在package.json中添加版本锁定规则:"resolutions": { "pg": "^8.11.3" }注意npm本身不直接支持
resolutions,需先安装工具:npm install -D npm-force-resolutions再在
package.json的scripts中添加前置钩子:"scripts": { "preinstall": "npm-force-resolutions" }重新执行
npm install,即可强制所有依赖使用指定的pg版本。排查并升级违规依赖
通过npm ls pg找到依赖pg@1.1.1的包,去npm查询该包的最新版本,确认是否已修复pg依赖问题。若有可用新版本,直接升级该包即可解决依赖冲突。验证扫描结果准确性
手动检查node_modules/pg/package.json中的版本号,确认是8.11.3。如果确实没有旧版pg,大概率是Blackduck的扫描缓存或组件库索引过期,尝试重新触发扫描任务,或联系运维人员更新Blackduck的组件数据。直接指定pg版本安装
若以上步骤无效,可直接安装指定版本的pg,覆盖依赖树中的旧版本:npm install pg@8.11.3 --save-exact
内容的提问来源于stack exchange,提问作者Umut TEKİN
相关产品推荐
相关产品推荐

