
This repository is a proof-of-concept validation harness for Electron boundary hardening in Discord-style desktop architectures. It models renderer/main-process separation, preload bridge policy, IPC channel exposure, navigation controls, and runtime supervision to study how misconfiguration can weaken an application's isolation guarantees.
Reference case details are tracked at: https://bugbounty.com/211356433
The case study is based on the 2020 Discord desktop app vulnerability chain involving Electron CVE-2020-15215 (context isolation bypass) and CVE-2020-15174 (navigation / framebusting protection failure), combined with an upstream XSS condition in embedded third-party content [web:5][web:19][web:20].
The harness focuses on security-relevant conditions such as:
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/ for layout/theme/canvas surfacessrc/media/ for audio/image/video pipeline stagessrc/search/ for index/query/ranking storessrc/ml/ for feature/inference/pipeline graphssrc/billing/ for plan/invoice/ledger pathssrc/moderation/ for filters/reports/actionssrc/compliance/ for policy catalogs and audit trailssrc/bots/ for bot runtime/store/gateway statesrc/platform/ for linux/windows/mac adaptersThe PoC provides deterministic and stochastic paths for boundary-analysis validation:
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*, and staged worker transitions to simplify differential tracing through subsystem boundaries.Nishant
Authors: