You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React+Node.js项目安全漏洞无法解决,请求技术支持

解决React+Node.js项目中的安全漏洞问题

我正在测试React与Node.js开发,作为新手遇到了无法通过常规方法修复的安全漏洞,试过npm audit fix、npm audit fix --force都没用,卸载request包后漏洞依然存在。

一、项目根目录(服务端)漏洞

  • 关联包链:fuel-rest → fuel-auth → request
  • 漏洞信息:
    • request全版本存在中等严重程度的服务端请求伪造漏洞,无官方修复版本
    • 共涉及3个关联中等漏洞

二、客户端漏洞

  • 关联包链:react-scripts >=2.1.4 → @svgr/webpack 4.0.0-5.5.0 → @svgr/plugin-svgo <=5.5.0 → svgo 1.0.0-1.3.2 → css-select <=3.1.0 → nth-check
  • 漏洞信息:
    • nth-check存在高严重程度的正则表达式低效复杂度漏洞,官方提示可通过npm audit fix --force修复,但会将react-scripts降级到2.1.3(属于破坏性变更)
    • 共涉及6个关联高漏洞

可行解决方案

针对服务端request相关漏洞

  1. 替换废弃依赖(推荐):request已停止维护,直接替换为axios、node-fetch等活跃维护的HTTP请求库:
    • 卸载依赖链中的废弃包:npm uninstall fuel-rest fuel-auth
    • 若原包用于Salesforce Marketing Cloud,改用官方最新的SDK或直接用新HTTP库调用API
    • 重构代码中对应模块的请求逻辑,适配新库的调用方式
  2. 测试环境临时规避:若仅为测试项目不想重构,可在package.json中添加resolutions字段强制升级request到最后一个稳定版(npm v6+支持):
    "resolutions": {
      "request": "^2.88.2"
    }
    
    执行npm install生效,注意:生产环境不建议使用此方法

针对客户端nth-check相关漏洞

  1. 接受破坏性变更(快速修复):若项目兼容react-scripts@2.1.3,直接执行npm audit fix --force完成修复
  2. 升级react-scripts到最新版(推荐):最新稳定版的react-scripts已依赖修复后的@svgr系列包:
    • 执行npm install react-scripts@latest
    • 检查项目兼容性,根据官方文档调整webpack、babel相关配置
  3. 强制覆盖子依赖版本:在package.json中添加overrides字段(npm v8.3+支持),强制所有依赖链使用安全版本的nth-check:
    "overrides": {
      "nth-check": "^2.0.1"
    }
    
    执行npm install后生效

内容的提问来源于stack exchange,提问作者noideahowtocode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 20:37:44