【问题标题】:Find source (in package.json) of vulnerability (in package-lock.json)查找漏洞的来源(在 package.json 中)(在 package-lock.json 中)
【发布时间】:2018-06-08 23:48:19
【问题描述】:
GitHub 今天向我发送了一封电子邮件,警告我 package-lock.json 文件中存在漏洞。但是,据我了解,此文件是在npm install 期间从package.json 生成的。
我如何找出哪个包(来自package.json)与易受攻击的包(package-lock.json)相关联?
相关问题:
【问题讨论】:
标签:
github
npm
npm-install
【解决方案1】:
如何找出哪个包(来自package.json)与易受攻击的包(package-lock.json)相关联?
(回答我自己的问题):易受攻击的包被命名为growl。所以,npm ls growl 命令显示了依赖它的包:
$ npm ls growl
my-project@1.0.1 C:\some_project
`-- mocha@3.5.3
`-- growl@1.9.2
然后问题是找到使用更现代版本的那些包(在本例中为 mocha)的更新版本。在本回答时,漏洞已修复在growl@1.10.0(根据GitHub的漏洞分析)。所以,通过release notes for mocha 看看哪个版本更新到了咆哮 1.10。我发现了:
4.0.1 / 2017-10-05
? 修复
- #3051:将 Growl 升级到 v1.10.3 以修复其对等 dep 问题 (@dpogue)
更新我的package.json 以显示"mocha": ">=4.0.1",,然后重新运行npm install,然后是npm ls growl,现在会显示当前不易受攻击的咆哮版本:
my-project@1.0.1 C:\some_project
`-- mocha@5.2.0
`-- growl@1.10.5