【发布时间】:2021-12-01 12:18:15
【问题描述】:
概述
我在解决 npm audit 识别的 ReDoS 漏洞时遇到问题。我的应用程序有一个嵌套的子依赖 ansi-html 容易受到攻击,但不幸的是,似乎 maintainers have gone AWOL.正如您在 Github 问题的 cmets 部分看到的那样,为了解决这个问题,社区已经创建了一个名为 ansi-html-community 的 repo 的分支,位于 here,它解决了这个漏洞。
因此,我想用ansi-html-community 替换所有ansi-html 的嵌套引用。
问题
我使用npm-force-resolutions 的正常策略似乎无法完全覆盖具有不同包的嵌套子依赖项,而只能覆盖具有不同版本号的相同包。我已经研究了几个小时,但不幸的是,这是我找到解决此问题的唯一方法would appear to be with yarn,我现在正在认真考虑使用它来代替 npm。但是,这并不理想,因为我们的整个 CI/CD 管道都配置为使用 npm。
有没有人知道任何其他方式来完成嵌套的子依赖包替换/解析而不必切换到使用纱线?
相关问题
这些是我能够找到的感兴趣的问题,但不幸的是,它们往往只讨论覆盖包版本号的方法,而不是包本身。
讨论如何覆盖版本号:
How do I override nested NPM dependency versions?
对npm shrinkwrap有评论讨论(不理想):
npm - how to override a dependent package's dependencies?
其他相关的 StackOverflow 问题:
【问题讨论】: