修复npm项目中的漏洞

修复npm项目中的漏洞

  • 起因
  • 修复方法
      • 检查漏洞
      • 修复漏洞
  • 手动修复`tar`漏洞

起因

最近不少开发者应该和我一样,收到了GitHub的提醒。当你的项目中用到了含有漏洞的库时,GitHub就会给你发邮件提醒你通过更新依赖版本的方法来修复漏洞,这次出问题的是一个叫做tar的库,具体漏洞的内容可以参考这里。

修复方法

npm已经为开发者提供了快速检查和修复依赖中漏洞的命令。

检查漏洞

npm audit

这个指令并不会更新任何依赖,它的作用是检查当前项目下所有的依赖,并报告依赖中漏洞的危险性,漏洞的等级也有中等和高危等,会以黄色和红色标出。

修复漏洞

npm audit fix

运行这个指令后,npm就会自动通过更新到新版本的方法来修复漏洞,最后会报告漏洞的修复情况。

手动修复tar漏洞

在这次有关tar的漏洞中,tar作为node_gyp的第三方依赖,并没有办法被上述办法修复,npm也会在运行完命令后提示你手动修复漏洞,现在我们就来手动修复一下这个漏洞。

前往项目根目录下:node_modules -> node_gyp -> package.json

找到dependencies字段下的tar字段,在笔者的项目中,这个字段被设置成了^2.0.0,而根据漏洞报告,所有4.4.2以下版本都是存在漏洞的,在本文写作时,最新版本为4.4.8,所以这里把这个^2.0.0手动改成^4.4.8

修改完毕后,再运行:

npm audit fix

如果没有其他需要手动修复的漏洞的话,这里应该会报告0漏洞,问题就解决了。

你可能感兴趣的:(Node.js)