
Banc d’essai de validation de preuve de concept pour le durcissement des frontières d’Electron, modélisant l’isolation rendu/processus principal, l’application des politiques IPC et les contrôles de navigation afin d’étudier les vulnérabilités de sécurité des applications de bureau.
Ce dépôt est un harnais de validation proof-of-concept pour le durcissement des frontières Electron dans les architectures de bureau de type Discord. Il modélise la séparation renderer/processus principal, la politique de pont preload, l'exposition des canaux IPC, les contrôles de navigation et la supervision de l'exécution afin d'étudier comment une mauvaise configuration peut affaiblir les garanties d'isolation d'une application.
Les détails du cas de référence sont suivis à l'adresse : https://bugbounty.com/211356433
L'étude de cas repose sur la chaîne de vulnérabilités de l'application de bureau Discord de 2020 impliquant Electron CVE-2020-15215 (contournement de l'isolation de contexte) et CVE-2020-15174 (échec de la protection de navigation / anti-framebusting), combinée à une condition XSS en amont dans le contenu tiers embarqué [web:5][web:19][web:20].
Le harnais se concentre sur des conditions liées à la sécurité, telles que :
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/ pour les surfaces de mise en page/thème/canvassrc/media/ pour les étapes de pipeline audio/image/vidéosrc/search/ pour les magasins d'index/requête/classementsrc/ml/ pour les graphes de caractéristiques/inférence/pipelinesrc/billing/ pour les chemins plan/facture/grand livresrc/moderation/ pour les filtres/signalements/actionssrc/compliance/ pour les catalogues de politiques et les pistes d'auditsrc/bots/ pour l'état runtime/magasin/gateway des botssrc/platform/ pour les adaptateurs linux/windows/macLe PoC fournit des chemins déterministes et stochastiques pour la validation de l'analyse des frontières :
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* et de transitions de worker par étapes afin de simplifier le traçage différentiel à travers les frontières des sous-systèmes.Nishant
Auteurs :