npm audit fix无法修复低级漏洞

3

我正在使用 nightmare 进行测试。运行 npm audit 后,我收到了有关 lodash 原型污染的警告。我尝试通过运行 npm audit fix 来修复这个问题,但没有结果。之后,我尝试使用 --force,但仍然会得到:

fixed 0 of 1 vulnerability in 2108 scanned packages
  1 vulnerability required manual review and could not be updated

有什么办法可以修复它吗?
这里是截图: enter image description here

也许这会有所帮助:http://www.mariadcampbell.com/2018/06/05/the-new-npm-audit-with-npm-6/ - Mark Rotteveel
我尝试了,但仍然没有任何进展。 - Manos Kounelakis
你有没有查看手动审核部分列出的“更多信息”链接?看起来你需要手动将 lodash 更新到更高版本。 - Mark Rotteveel
是的,我已经看过了。 - Manos Kounelakis
1个回答

1

npm 依赖项不会自动升级到更高的主要版本。因此,如果包 A 依赖于包 B,其版本规范如下:

// A/package.js
dependencies: {
  "B": "^2.1.3"
}

然后,npm 将会为任何版本2.x.y保持B最新,其中x >= 1且(y >= 3如果x == 1或y >= 0如果x > 1)。但是,如果安全修复发生在B版本3.v.w中,则安全问题将保留在您的npm存储库中。问题在于,为了能够使用版本3.v.w,您可能需要更新A,因为2和3之间很可能存在重大更改(即函数名称更改或删除对某个属性的支持)。以下是react-idle-timer模块中的一些重大更改示例:迁移从v3到v4。版本4中有一些重大更改。
  • 尽管仍然能够渲染子元素,但从版本4开始,我们不再将子元素传递给IdleTimer。除非您非常擅长使用shouldComponentUpdate,否则应避免使用IdleTimer作为包装组件。
  • startOnLoad属性已更名为startOnMount,以在React上下文中更有意义。
  • activeAction属性已更名为onActive
  • idleAction属性已更名为onIdle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接