Electron 安全检查清单

Electron 安全基线检查清单,覆盖 nodeIntegration、contextIsolation、sandbox、preload 暴露、CSP、导航与外链控制等关键项。

#tech / dev / desktop #resource / electron #type / howto #status / growing

[!info] related notes

Electron 安全检查清单

一句话定义

Electron 安全不是单个开关,而是一组边界一起收紧形成的基线。

检查清单

BrowserWindow 与页面权限

  • nodeIntegration 默认保持关闭
  • contextIsolation 保持开启
  • sandbox 尽量保持开启
  • 不随意开启 webviewTag

preload 与桥接

  • preload 只暴露窄接口
  • 不把整个 ipcRenderer 直接挂到 window
  • 对暴露给页面的方法做参数和能力收敛

IPC

  • channel 有明确命名和用途
  • 高权限 IPC 做 sender 校验
  • 不把主进程做成万能远程执行入口

页面来源与资源

  • 加载远程内容时尤其不能给高权限
  • 配置 CSP
  • 限制导航和新窗口行为
  • 慎用 shell.openExternal

工程与维护

  • 保持 Electron 版本更新
  • 不把历史兼容配置当成现代默认值
  • 发布前把安全边界和能力暴露面复查一遍

边界与易混淆点

  • 安全不是只把 contextIsolation 打开就结束
  • 安全检查清单不是“照抄默认值”,而是确认项目有没有主动破坏这些边界
  • 很多 Electron 项目的安全问题,来自为了图省事把默认边界重新打穿
创建于 2026/4/13 更新于 2026/5/27