我最近开始了一个新的Vue.js项目。在我最新的GitHub提交之后,我收到了以下Dependabot通知:
在package-lock.json中定义的node-forge <0.10.0中检测到的已知高严重性安全漏洞。建议使用package-lock.json更新:node-forge〜> 0.10.0。
如何更新节点伪造?我已经运行了npm审核修复程序。
node-forge仅在我的package-lock.json文件中,并且是“自签名”依赖项所必需的。
答案 0 :(得分:4)
您可以尝试
npm update
这应该将所有软件包更新为最新版本,同时遵守package.json / package-lock.json中的语义版本控制规则。
您还可以尝试允许Dependabot生成拉取请求以解决此问题。如果您选择警报本身,则应该会看到一个类似这样的按钮:
这将尝试创建拉取请求(这不会总是成功),通常需要几分钟。完成此操作后,您可以查看和合并。
答案 1 :(得分:0)
如果npm update
无法解决它,我通过删除package-lock.json
和node_modules
,然后运行npm install
来重新创建两者来修复它。
我希望这是一个快速修复程序,可能不适合团队开发,但这是一个严重性高的安全漏洞,已经存在3个多星期了,需要解决。确保在git diff
上运行package-lock.json
并确认它没有更新不应有的内容。
对我而言,Dependabot并未像通常那样创建PR,因为缺陷位于node-forge 0.9.0中,而补丁位于0.10.0中,该自签名被认为是一个重大更改。 npm audit
未发现任何漏洞,并且npm update
进行了几次更新,但未将node-forge更新为0.10.0,也未自签名为1.10.8(这更新了它的node-forge版本参考) )。我正在使用webpack-dev-server 3.11.0,它依赖于自签名^ 1.10.7。重新创建package-lock.json
之后,webpack-dev-server引用保持不变,但是自签名和节点伪造版本已更新,这正是我想要的。
答案 2 :(得分:0)
node-forge 0.9.0中的漏洞最近已在自签名中得到修复。尝试更新自签名。它为我解决了这个问题。 请检查链接以供参考。 Selfsigned github link
答案 3 :(得分:0)
node-forge@0.9.0
需要更新为node-forge@^0.10.0
rm -rf node-modules
rm package.lock
npm cache clean
npm i
rm -rf node_modules
rm yarn.lock
yarn cache clean
yarn
这应导致正在使用node-forge
的库更新其自己的依赖项。