Electron 安全检查清单
Electron 安全基线检查清单,覆盖 nodeIntegration、contextIsolation、sandbox、preload 暴露、CSP、导航与外链控制等关键项。
#tech / dev / desktop
#resource / electron
#type / howto
#status / growing
[!info] related notes
- 所属 MOC: Electron MOC
- 前置概念: Electron contextIsolation, Electron 进程沙箱, Electron preload 脚本
- 并列概念: Electron BrowserWindow, Electron IPC 模式
- 关系笔记: Electron
Electron 安全检查清单
一句话定义
Electron 安全不是单个开关,而是一组边界一起收紧形成的基线。
检查清单
BrowserWindow 与页面权限
nodeIntegration默认保持关闭contextIsolation保持开启sandbox尽量保持开启- 不随意开启
webviewTag
preload 与桥接
- preload 只暴露窄接口
- 不把整个
ipcRenderer直接挂到window - 对暴露给页面的方法做参数和能力收敛
IPC
- channel 有明确命名和用途
- 高权限 IPC 做 sender 校验
- 不把主进程做成万能远程执行入口
页面来源与资源
- 加载远程内容时尤其不能给高权限
- 配置 CSP
- 限制导航和新窗口行为
- 慎用
shell.openExternal
工程与维护
- 保持 Electron 版本更新
- 不把历史兼容配置当成现代默认值
- 发布前把安全边界和能力暴露面复查一遍
边界与易混淆点
- 安全不是只把
contextIsolation打开就结束 - 安全检查清单不是“照抄默认值”,而是确认项目有没有主动破坏这些边界
- 很多 Electron 项目的安全问题,来自为了图省事把默认边界重新打穿