针对hoek节点模块的Github潜在安全漏洞错误

Yuv*_*til 19 git github node-modules package.json package-lock.json

今天github在我的github存储库上显示以下错误:

我们在您的某个依赖项中发现了潜在的安全漏洞../package-lock.json中定义的依赖项具有已知的安全漏洞,应予以更新.

单击"查看易受攻击的依赖关系"按钮后显示以下消息

5.0.3之前的hoek节点模块通过'merge'遭受假定不可变数据(MAID)漏洞的修改

直到昨天它没有出现这样的错误.我没有对这个存储库进行任何超过5天的推送.不知道为什么会这样.

Kei*_* DC 8

我用过:rm package-lock.json&& npm update && npm install.对我来说,这更新hoek4.2.1,其中也包含修复程序(根据此评论.)

编辑:在另一个应用程序中,我运行rm package-lock.jsonnpm i hoek && npm up && npm i && npm un hoek或者npm i hoek && npm un hoek && npm up && npm i(或者不记得订单),这与此评论更加一致(来自JamesSingleton).

(rm package-lock.json只有它存在.)

编辑:在又一个第三的应用程序,我查了一下npm outdated,发现我不得不升级react-scripts-ts2.13.02.15.1.为此,我package.json手动更新,然后运行npm i.完成后,hoek更新为4.2.1.(专门针对一个保留/主要组件).

编辑:我为Zurb Foundation 6网站提供的解决方案:

我使用的所有软件包更新到主要版本npm outdated.然后我跑了:

npm i hoek@latest --save && npm up hoek

npm i boom hawk sntp uncss gulp-uncss --save && npm up boom hawk sntp uncss gulp-uncss && npm un boom hawk sntp gulp-uncss uncss --save

有两个坚持者; browser-sync : 2.23.7并且node-sass : 4.9.0,两者都是最新版本.无论如何:提交后GitHub警告已解决.


小智 5

我使用了npm update hoek && npm install hoek,软件包已更新到5.0.3.

在此之后,漏洞警报从我的github Repo中消失了.


And*_*aro 5

npm update当将易受攻击的程序包声明为直接项目的依赖项时,它才起作用。但是通常(如在情况中hoek漏洞位于子依赖树中的那些程序包中。

由于就我而言,我决定不更新项目的所有依赖项(通过删除和重建整个package-lock.json文件),因此我采用了以下方法(当然,这更耗时):

  • 在我的计算机中找到所有易受攻击软件包的出现package-lock.json
  • 冒泡依赖树以查找哪些顶级程序包将其导入
  • 使用相同的次要版本卸载重新安装这些顶级软件包

喜欢:

npm r package-1 package-2 && npm i package-1@^1.2.3 package-2@^1.2.3
Run Code Online (Sandbox Code Playgroud)

仅当固定并释放了易受攻击的程序包并且使用方的程序包导入具有对补丁程序或次要版本开放宽松版本号的易受攻击的程序包时,此方法才有效。

  • 例如,`node-sass`愿意导入旧的`hoek`版本以保持向后兼容性:( https://github.com/sass/node-sass/pull/2170 (3认同)

小智 5

以上都不对我有用。我的依赖依赖在子树中很深。我首先做了npm ls hoek,得到了这样的东西:

??? hoek@5.0.3
??? watson-developer-cloud@2.42.0
  ??? request@2.83.0
  ? ??? hawk@6.0.2
  ?   ??? boom@4.3.1
  ?   ? ??? hoek@4.2.1  deduped
  ?   ??? cryptiles@3.1.2
  ?   ? ??? boom@5.2.0
  ?   ?   ??? hoek@4.2.1  deduped
  ?   ??? hoek@4.2.1
  ?   ??? sntp@2.1.0
  ?     ??? hoek@4.2.1  deduped
  ??? solr-client@0.7.0
    ??? request@2.81.0
      ??? hawk@3.1.3
        ??? boom@2.10.1
        ? ??? hoek@2.16.3  deduped
        ??? hoek@2.16.3
        ??? sntp@1.0.9
          ??? hoek@2.16.3  deduped
Run Code Online (Sandbox Code Playgroud)

然后,我看到真正需要更新的是watson-developer-cloud因为这是在顶层使用hoek的结果。

然后我做了npm install watson-developer-cloud@latest,那解决了。