我在解决由 识别的 ReDoS 漏洞时遇到问题npm audit。我的应用程序有一个嵌套的子依赖项ansi-html,很容易受到攻击,但不幸的是,维护者似乎擅离职守了。正如您在 Github 问题的评论部分中看到的,为了解决这个问题,社区对位于ansi-html-community此处的存储库进行了分叉存储库进行了分叉,以解决此漏洞。
因此,我想将所有嵌套引用替换ansi-html为ansi-html-community。
我的正常使用策略npm-force-resolutions似乎无法完全覆盖不同包的嵌套子依赖项,而只能覆盖具有不同版本号的相同包。我已经研究了几个小时,但不幸的是,我发现解决这个问题的唯一方法似乎是使用纱线,我现在正在认真考虑使用yarn而不是npm。然而,这并不理想,因为我们的整个 CI/CD 管道都配置为使用 npm。
有谁知道有任何其他方法可以完成嵌套子依赖包替换/解析而不必切换到使用yarn?
这些是我能够找到的感兴趣的问题,但不幸的是,他们往往只讨论覆盖包版本号的方法,而不是包本身。
npm shrinkwrap(不理想):