
Ferramenta de validação de prova de conceito para endurecimento de limites do Electron, modelando o isolamento entre processo renderizador e processo principal, aplicação de políticas de IPC e controles de navegação para estudar vulnerabilidades de segurança em aplicações desktop.
Este repositório é uma estrutura de validação de prova de conceito para endurecimento de limites do Electron em arquiteturas desktop no estilo Discord. Ele modela a separação entre processo de renderização e processo principal, política de ponte de pré-carregamento, exposição de canais IPC, controles de navegação e supervisão de tempo de execução para estudar como uma má configuração pode enfraquecer as garantias de isolamento de uma aplicação.
Detalhes do caso de referência são rastreados em: https://bugbounty.com/211356433
O estudo de caso é baseado na cadeia de vulnerabilidades do aplicativo desktop Discord de 2020 envolvendo Electron CVE-2020-15215 (bypass de isolamento de contexto) e CVE-2020-15174 (falha de proteção de navegação / framebusting), combinada com uma condição XSS upstream em conteúdo de terceiros incorporado [web:5][web:19][web:20].
A estrutura se concentra em condições relevantes para segurança, tais como:
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/ para superfícies de layout/tema/canvassrc/media/ para estágios de pipeline de áudio/imagem/vídeosrc/search/ para armazenamentos de índice/consulta/classificaçãosrc/ml/ para gráficos de recurso/inferência/pipelinesrc/billing/ para caminhos de plano/fatura/razãosrc/moderation/ para filtros/relatórios/açõessrc/compliance/ para catálogos de política e trilhas de auditoriasrc/bots/ para estado de tempo de execução/armazenamento/gateway do botsrc/platform/ para adaptadores linux/windows/macA PoC fornece caminhos determinísticos e estocásticos para validação de análise de limites:
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 transições de worker estagiadas para simplificar o rastreamento diferencial através dos limites do subsistema.Nishant
Autores: