
Harness di validazione proof-of-concept per il rafforzamento dei confini di Electron, modellizzazione dell’isolamento renderer/processo principale, applicazione delle policy IPC e controlli di navigazione per studiare le vulnerabilità di sicurezza delle applicazioni desktop.
Questo repository è un harness di validazione proof-of-concept per l'indurimento dei confini di Electron nelle architetture desktop in stile Discord. Modella la separazione renderer/processo principale, la politica del bridge preload, l'esposizione dei canali IPC, i controlli di navigazione e la supervisione del runtime per studiare come una configurazione errata possa indebolire le garanzie di isolamento di un'applicazione.
I dettagli del caso di riferimento sono tracciati su: https://bugbounty.com/211356433
Il caso studio si basa sulla catena di vulnerabilità dell'app desktop Discord del 2020 che coinvolge Electron CVE-2020-15215 (bypass dell'isolamento del contesto) e CVE-2020-15174 (fallimento della protezione di navigazione/framebusting), combinata con una condizione XSS a monte in contenuti di terze parti incorporati [web:5][web:19][web:20].
L'harness si concentra su condizioni rilevanti per la sicurezza come:
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/ per superfici di layout/tema/canvassrc/media/ per stadi della pipeline audio/immagine/videosrc/search/ per archivi di indici/query/rankingsrc/ml/ per grafici di caratteristiche/inferenza/pipelinesrc/billing/ per percorsi di piani/fatture/registrisrc/moderation/ per filtri/report/azionisrc/compliance/ per cataloghi di politiche e trail di auditsrc/bots/ per runtime/store/stato del gateway dei botsrc/platform/ per adattatori linux/windows/macIl PoC fornisce percorsi deterministici e stocastici per la validazione dell'analisi dei confini:
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* e transizioni di worker in fasi per semplificare il tracciamento differenziale attraverso i confini dei sottosistemi.Nishant
Autori: