Electron 进程沙箱
Electron 的 sandbox 继承 Chromium 的进程沙箱思路,用于限制渲染进程能力并收紧攻击面。
#tech / dev / desktop
#resource / electron
#type / concept
#status / growing
[!info] related notes
- 所属 MOC: Electron MOC
- 前置概念: Electron 进程模型, Electron contextIsolation
- 并列概念: Electron 安全检查清单, Electron BrowserWindow
- 易混淆概念: Electron contextIsolation
- 关系笔记: Electron
Electron 进程沙箱
一句话定义
sandbox 是 Electron 继承自 Chromium 的进程限制机制,用来收紧渲染层能力边界。
核心内容
它主要在防什么
它的核心目标不是“让页面什么都做不了”,而是:
- 尽量减少 renderer 可以直接接触到的高权限能力
- 把危险面尽量收缩到可控桥接层和主进程
为什么它经常和其他配置一起出现
sandbox 往往要和这些一起理解:
nodeIntegrationcontextIsolation- preload
因为这些选项共同决定:
- 页面到底有多少权限
- 权限边界是在 renderer、preload 还是 main
一个关键认识
如果把 nodeIntegration 重新打开,很多原本收紧的边界会被明显削弱。
边界与易混淆点
- sandbox 和 contextIsolation 不是一回事
- sandbox 是进程能力限制,contextIsolation 是 JavaScript 上下文隔离
- 开 sandbox 不是终点,仍要控制 preload 和 IPC 暴露面