【问题标题】:How to fix vulnerability in npm dependencies?如何修复 npm 依赖项中的漏洞?
【发布时间】:2019-05-08 00:38:50
【问题描述】:

我通过提供 npm audit 得到了 18 个漏洞,然后我选择了标记为高的那个。

这是它的详细信息,

  High            Denial-of-Service Memory Exhaustion                           

  Package         qs                                                            

  Patched in      >= 1.x                                                        

  Dependency of   google-search-scraper                                         

  Path            google-search-scraper > request > qs                          

  More info       https://nodesecurity.io/advisories/29 

看来我们需要更新请求包,所以>npm i request 我已经安装好了。

现在下一步,审计命令再次给出相同的结果

请帮忙,

谢谢

编辑

Moderate        Prototype pollution                                           

  Package         hoek                                                          

  Patched in      > 4.2.0 < 5.0.0 || >= 5.0.3                                   

  Dependency of   botkit                                                        

  Path            botkit > botbuilder > jsonwebtoken > joi > hoek               

  More info       https://nodesecurity.io/advisories/566  

【问题讨论】:

  • 您是否尝试过使用npm audit fix
  • 这是相关的:youtube.com/watch?v=0dgmeTy7X3I 如果我没记错的话,演讲者提到了非常感兴趣的qs 漏洞,虽然没有说明如何修复它
  • 是的,但是没用。实际上我们有 18 个不同的漏洞

标签: node.js npm npm-request


【解决方案1】:

正如报告所说,qs 漏洞已在 1.x 中修复。对于最新的request 版本,这不是问题。 google-search-scraper 具有依赖于 qs@~0.6.0request@~2.33.0 依赖项。无论项目中安装了哪个request版本,google-search-scraper都会继续使用存在漏洞的2.33.x版本。

google-search-scraper 应该被 fork 并使用而不是原始包,request 依赖版本应该在一个 fork 中更新,例如到request@^2.33.0。此外,可以在包存储库中打开问题并使用 PR 进行补充。

【讨论】:

  • 谢谢回复,好的,不是版本问题,那是什么问题,
  • 我已经分叉并克隆了这个项目(它正在使用谷歌搜索刮板),所以现在我应该怎么做。
  • 问题是google-search-scraper 被搞砸了并且被硬编码为使用易受攻击的request 版本。在这种情况下,无论是您自己的项目还是分叉的项目都无关紧要。您需要专门 fork google-search-scraper 并使用它而不是官方的。
  • 我已经用另一个漏洞编辑了这个问题,这一定是版本问题,我已经通过 > npm i hoek 安装了它,但它仍然无法正常工作。请帮忙,我以前从未处理过这些东西
  • 这不是漏洞。在评估 npm audit 报告时进行完整性检查。见stackoverflow.com/a/51852121/3731501。无论如何,只要最新的包版本强加了它们,请随意打开包中导致审计问题的问题。
猜你喜欢
  • 1970-01-01
  • 2021-08-25
  • 1970-01-01
  • 2021-08-14
  • 2021-06-27
  • 2018-12-24
  • 1970-01-01
  • 2020-02-15
相关资源
最近更新 更多