01
Electron安全概述
为什么Electron应用容易受到攻击?常见攻击面分析。
攻击面基础
02
上下文隔离 (Context Isolation)
原理、启用方式、与预加载脚本的配合。
隔离安全架构
03
进程沙箱 (Sandbox)
沙箱的作用、启用沙箱、沙箱对Node.js API的限制。
沙箱限制
04
预加载脚本 (Preload Script)
正确使用预加载脚本、暴露安全的API、避免直接暴露Node.js模块。
预加载API安全
05
内容安全策略 (CSP)
CSP是什么?如何为Electron应用设置CSP?常见CSP指令。
CSP防御
06
禁用Node集成 (nodeIntegration)
为什么需要禁用?如何配置?
配置风险
07
远程内容加载风险
加载外部URL的风险、使用webview标签的安全配置。
远程webview
08
会话与Cookie管理
session模块的使用、持久化Cookie的安全存储、清除会话数据。
Cookiesession
09
协议处理安全
自定义协议(protocol)的风险、注册安全的自定义协议。
协议自定义
10
文件系统访问控制
使用dialog模块限制文件路径、防止路径遍历攻击。
文件遍历
11
IPC通信安全
ipcMain和ipcRenderer的正确使用、验证发送方身份、限制通道名称。
IPC验证
12
防止XSS攻击
在Electron中防范跨站脚本攻击、输出编码、使用DOMPurify。
XSS编码
13
防止CSRF攻击
理解CSRF在桌面应用中的变体、使用Origin/Referer验证。
CSRF验证
14
代码签名与完整性
为什么需要代码签名?如何签名?验证应用完整性。
签名完整性
15
自动更新安全
实现安全的自动更新机制、验证更新包签名、使用HTTPS。
更新签名
16
本地存储安全
localStorage、IndexedDB的安全隐患、加密存储敏感数据。
存储加密
17
网络请求安全
使用net模块替代fetch、配置代理、证书验证。
网络证书
18
窗口安全配置
BrowserWindow的webPreferences选项详解、禁用危险特性。
窗口配置
19
开发者工具安全
生产环境禁用DevTools、使用--no-devtools标志。
DevTools生产
20
日志与监控
安全日志记录、避免日志泄露敏感信息、异常监控。
日志监控
21
依赖管理安全
检查第三方依赖漏洞、使用npm audit、锁定依赖版本。
依赖npm
22
源码保护
混淆与打包、防止源码被轻易逆向、使用asar归档。
混淆asar
23
硬件绑定与授权
实现简单的硬件绑定、防止应用被复制使用。
硬件授权
24
安全更新策略
及时更新Electron版本、关注安全公告、自动化更新流程。
更新策略
25
渗透测试基础
对Electron应用进行基本渗透测试、常用工具(如Electronegativity)。
渗透工具
26
安全编码规范
团队安全编码规范、代码审查要点、安全清单。
编码规范
27
事件与权限管理
管理应用权限、用户授权流程、最小权限原则。
权限最小权限
28
WebView标签安全
webview的partition属性、限制导航、禁用JavaScript。
webview导航
29
Electron安全未来趋势
新版本的安全特性、W3C规范跟进、社区最佳实践。
趋势未来
30
综合案例:构建安全应用
从零到一的完整安全配置,打造坚固的Electron应用。
综合实战