
Proof-of-concept-Validierungsrahmenwerk zur Härtung von Electron-Grenzen, Modellierung der Renderer/Hauptprozess-Isolation, IPC-Richtliniendurchsetzung und Navigationskontrollen zur Untersuchung von Sicherheitsschwachstellen in Desktop-Anwendungen.
Dieses Repository ist ein Proof-of-Concept-Validierungsrahmenwerk zur Härtung von Electron-Grenzen in Discord-ähnlichen Desktop-Architekturen. Es modelliert die Trennung von Renderer/Hauptprozess, Preload-Bridge-Richtlinien, IPC-Kanaloffenlegung, Navigationskontrollen und Laufzeitüberwachung, um zu untersuchen, wie Fehlkonfiguration die Isolationsgarantien einer Anwendung schwächen kann.
Details zum Referenzfall werden verfolgt unter: https://bugbounty.com/211356433
Die Fallstudie basiert auf der Schwachstellenkette der Discord-Desktop-App von 2020, die Electron CVE-2020-15215 (Context-Isolation-Bypass) und CVE-2020-15174 (Navigations-/Framebusting-Schutzfehler) umfasst, kombiniert mit einer vorgelagerten XSS-Bedingung in eingebetteten Drittanbieterinhalten [web:5][web:19][web:20].
Das Rahmenwerk konzentriert sich auf sicherheitsrelevante Bedingungen wie:
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/ für Layout/Theme/Canvas-Oberflächensrc/media/ für Audio-/Bild-/Video-Pipeline-Stufensrc/search/ für Index/Query/Ranking-Speichersrc/ml/ für Feature/Inference/Pipeline-Graphensrc/billing/ für Plan/Rechnung/Hauptbuch-Pfadesrc/moderation/ für Filter/Berichte/Aktionensrc/compliance/ für Richtlinienkataloge und Prüfpfadesrc/bots/ für Bot-Laufzeit/Store/Gateway-Statussrc/platform/ für Linux/Windows/Mac-AdapterDer PoC bietet deterministische und stochastische Pfade zur Grenzanalyse-Validierung:
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* und gestaffelte Worker-Übergänge strukturiert, um differenzielles Tracing über Subsystemgrenzen hinweg zu vereinfachen.Nishant
Autoren: