如何修复nth-check中的低效正则表达式复杂度npm漏洞?
修复 "Inefficient Regular Expression Complexity in nth-check" npm 漏洞的可行方案
方案1:直接锁定nth-check的安全版本(推荐)
不需要降级react-scripts,通过npm的overrides功能强制项目使用修复了漏洞的nth-check版本:
- 在项目根目录的
package.json中添加以下配置:
{ "overrides": { "nth-check": "^2.0.1" // 或3.0.1,两个版本均修复了该正则复杂度漏洞 } }
- 执行命令重新安装依赖:
npm install
这个方法直接解决目标漏洞,不会影响react-scripts的其他功能,也不会引入额外漏洞。
方案2:升级react-scripts到最新稳定版
降级react-scripts到旧版本会引入大量未修复的历史漏洞,正确的做法是升级到最新版:
- 执行升级命令:
npm install react-scripts@latest
- 启动项目测试兼容性:
npm start
如果出现兼容性问题(比如webpack、babel相关报错),根据提示逐步调整项目配置或依赖版本,新版本的react-scripts已经修复了绝大多数已知依赖漏洞。
方案3:使用yarn resolutions(仅适用于yarn用户)
如果你的项目用yarn管理依赖,可通过resolutions字段锁定安全版本:
- 在
package.json中添加:
{ "resolutions": { "nth-check": "^2.0.1" } }
- 重新安装依赖:
yarn install
内容的提问来源于stack exchange,提问作者Subash
相关产品推荐
相关产品推荐

