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

安装Electron 21.0.1后遇漏洞修复循环,如何彻底解决?

问题描述

安装Node 18.12.0与Electron 21.0.1后,出现3个中等漏洞警告。执行npm audit fix --force后变为1个高等级漏洞,再次执行该命令又回到3个中等漏洞,陷入循环。希望彻底修复所有漏洞。

附两次npm audit报告:

第一次npm audit报告

got <11.8.5
严重程度:中等
Got允许重定向至UNIX套接字
可通过npm audit fix --force修复,将安装electron@6.1.12(破坏性变更)
依赖链:electron → @electron/get → got

3个中等严重程度漏洞
建议运行:npm audit fix --force

第二次npm audit报告

electron <=15.5.4
严重程度:高
包含多个Electron自身的安全漏洞(如渲染器未经权限访问蓝牙设备、上下文隔离绕过等)
可通过npm audit fix --force修复,将安装electron@21.2.0(破坏性变更)

1个高严重程度漏洞
建议运行:npm audit fix --force

漏洞循环原因
  • 第一次修复试图降级Electron到6.1.12,以此修复@electron/get依赖的got漏洞,但降级后的Electron版本存在多个高等级安全漏洞
  • 第二次修复升级Electron到21.2.0解决自身高漏洞,但此时@electron/get仍依赖有漏洞的got版本,导致中等漏洞重现,形成循环
彻底修复方案

方案1:升级Electron到同大版本的最新稳定版+手动升级@electron/get

  1. 安装Electron 21系列的最新稳定版(该版本已修复自身高漏洞):
npm install electron@21.4.4 --save-dev
  1. 升级@electron/get到修复了got漏洞的版本(@electron/get@1.14.2及以上已将got升级至>=11.8.5):
npm install @electron/get@latest --save-dev
  1. 运行npm audit验证漏洞是否全部修复

方案2:使用npm overrides强制指定安全的got版本(适用于npm 8+)

如果方案1无效,可在项目的package.json中添加overrides字段,强制将依赖链中的got版本替换为安全版本,同时保留Electron的高版本:

{
  "overrides": {
    "got": "^11.8.5"
  }
}

添加后执行npm install,再运行npm audit检查修复情况

注意事项

  • Electron同大版本的小版本升级(如21.0.1→21.4.4)属于安全和bug修复更新,一般不会有破坏性变更,无需担心项目兼容性问题
  • 若考虑升级到更高大版本的Electron(如22+),需提前核对项目代码是否兼容对应版本的API变更

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:50:21