首页 > 解决方案 > 运行建议的命令并不能修复 NPM 漏洞

问题描述

在我的项目中每次安装新的 NPM 模块后,我都会收到以下错误:

[!] 40 vulnerabilities found - Packages audited: 5840 (0 dev, 299 optional)
    Severity: 8 Low | 24 Moderate | 8 High

然后我运行npm audit并获得了 40 个漏洞的详细信息,例如:

# Run  npm install npm@6.0.1  to resolve 22 vulnerabilities
SEMVER WARNING: Recommended action is a potentially breaking change
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate      │ Prototype pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ hoek                                                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ npm                                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ npm > libcipm > npm-lifecycle > node-gyp > request > hawk >  │
│               │ boom > hoek                                                  │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/566                       │
└───────────────┴──────────────────────────────────────────────────────────────┘

或这个 :

# Run  npm update fsevents --depth 2  to resolve 3 vulnerabilities
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low           │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ debug                                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ chokidar                                                     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ chokidar > fsevents > node-pre-gyp > tar-pack > debug        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/534                       │
└───────────────┴──────────────────────────────────────────────────────────────┘

所以我运行npm install npm@6.0.1(即使我已经有 6.0.1)然后npm update fsevents --depth 2但之后我重新运行npm audit并且没有任何改变,我仍然有相同的 40 个漏洞,其中一些非常可怕。我该怎么办 ?

标签: node.jsnpmfseventsnpm-audit

解决方案


这在 MacOS 上对我有用:

  • 将 NPM 更新到新的 6.1.0。它引入了一个“npm audit fix”命令,更多信息在这里
  • 运行“npm 审计修复”。

当您再次运行“npm audit”时,剩下的唯一漏洞应该是“手动审查”问题。


推荐阅读