本仓库是一个概念验证测试平台,用于 Discord 风格桌面架构中的 Electron 边界加固。它模拟了渲染进程/主进程分离、预加载桥接策略、IPC 通道暴露、导航控制以及运行时监管,以研究错误配置如何削弱应用程序的隔离保障。
相关参考案例详情追踪于: https://bugbounty.com/211356433
案例研究基于 2020 年 Discord 桌面应用漏洞链,涉及 Electron CVE-2020-15215(上下文隔离绕过)和 CVE-2020-15174(导航/框架破坏保护失效),并结合了嵌入的第三方内容中的上游 XSS 条件 [web:5][web:19][web:20]。
该测试平台重点关注以下安全相关条件:
src/main/
src/runtime/
src/ipc/
src/preload/
src/security/guards/
src/security/policies/
src/network/rest/
src/network/gateway/
src/network/rpc/
src/modules/guilds/, src/modules/channels/, src/modules/voice/src/modules/auth/, src/modules/presence/, src/modules/experiments/src/cache/, src/database/, src/commands/, src/sessions/, src/state/src/rendering/ 用于布局/主题/画布表面src/media/ 用于音频/图像/视频管道阶段src/search/ 用于索引/查询/排序存储src/ml/ 用于特征/推理/管道图src/billing/ 用于方案/发票/账目路径src/moderation/ 用于过滤器/报告/操作src/compliance/ 用于策略目录与审计轨迹src/bots/ 用于机器人运行时/存储/网关状态src/platform/ 用于 Linux/Windows/Mac 适配器该概念验证提供了确定性和随机化路径,用于边界分析验证:
scripts/simulate-history.ps1)。scripts/generate-fixture.js)。npm install
node scripts/generate-fixture.js
node -e "const fs=require('fs');const path=require('path');function walk(d){for(const e of fs.readdirSync(d)){const p=path.join(d,e);const s=fs.statSync(p);if(s.isDirectory())walk(p);else if(p.endsWith('.js')) require('./'+p);}} walk('src'); console.log('ok');"
git checkout -B main
node scripts/generate-fixture.js > fixtures/generated.json
create*、set*、get* 和分阶段工作器转移构建,以简化跨子系统边界的差分跟踪。Nishant
作者: