← Voltar para WindowsHelper

Modelo de segurança

Como WindowsHelper protege seu PC e seu telefone, qual criptografia usamos e contra o que explicitamente não nos defendemos. Última atualização: 25/04/2026.

relatando uma vulnerabilidade

E-mail support@windowshelper.app com assunto [security]. Por favor, não abra problemas públicos do GitHub – dê-nos uma janela para enviar uma correção antes da divulgação.

Ciclo de vida do código de emparelhamento

O código de emparelhamento é o segredo compartilhado todas as outras operações criptográficas derivam. O ciclo de vida completo:

[ Phone GENERATES random 8-char code ]
   ↓
[ Phone WRITES code + sessionId to Firestore in pc_connections doc ]
   ↓
[ Phone DISPLAYS code to user on screen ]
   ↓
[ User READS code, types it into companion's input field ]
   ↓
[ Companion QUERIES Firestore for waiting session matching the code ]
   ↓
[ Both sides DERIVE crypto keys from SHA-256(code, sessionId) ]
   ↓
[ Code STAYS in memory on both sides; never written to Firestore by either ]
   ↓
[ Disconnect / re-pair WIPES the code from both sides ]

Criptografia

AES-256-GCM (confidencialidade de comando + integridade)

Cada comando enviado pela rede é criptografado com AES-256-GCM, um modo de criptografia autenticada.

HMAC-SHA256 (autenticidade de comando)

Cada comando também carrega uma assinatura HMAC para que um telefone que não conheça o código de emparelhamento não possa injetar comandos, mesmo que possa gravar no Firestore.

Modelo de ameaça

AmeaçaEstadoNotas
Bisbilhoteiro na rede localMitigadoO texto cifrado AES-GCM é opaco para observadores MITM.
Bisbilhoteiro em servidores FirestoreMitigadoGoogle sees AESGCM:... blobs, not commands.
Invasor que pode gravar no Firestore, mas não conhece o códigoMitigadoA verificação HMAC falha; companheiro registra a rejeição + recusa a execução.
Atacante que decifrou/phishing o código de emparelhamentoResidualEles podem emitir comandos como se fossem o usuário. Mitigação: gire o código no menu da bandeja.
Repetição de um comando gravadoResidualsentAtMillis is HMAC-bound; companion doesn't yet enforce a freshness window. Future fix adds a TTL.
Atacante não autenticado no modo LANMitigadoO handshake do par WebSocket valida o código; HMAC + AES bloqueia todos os comandos subsequentes.
Telefone comprometido com chave de emparelhamento roubadaResidualIndistinguível do "próprio usuário". Mitigação: limite de taxa (10 cmd/min) + confirmação do comando destrutivo requer clique no PC.
Comando digitado incorretamente no aplicativo do telefoneMitigadoA lista de permissões do lado do telefone bloqueia prefixos não reconhecidos; O pré-voo do lado complementar bloqueia comandos direcionados a serviços inexistentes.
Comando destrutivo executado acidentalmenteMitigadoCompanion-side modal requires user click to approve Remove-Item, Format-Volume, reg delete, shutdown /r, etc.
Processo do PowerShell travado/descontroladoMitigadoO tempo limite de 5 minutos mata toda a árvore do processo.
Companion adulteração de .exe entre download e execuçãoMitigadoSHA-256 published in companion-version.json; users can verify. Authenticode signing landing soon.
Companion falha vazando estado confidencialMitigadoRelatórios de falhas + writebacks de erros do Firestore são limpos %USERPROFILE% / %MACHINE% / %USER%.
Dispositivo roubado, chave de emparelhamento de registro persistenteResidualUm invasor com acesso ao disco + login poderia ler o código persistido. A correção futura envolve Windows DPAPI.

Fora do escopo

Coisas que WindowsHelper faz explicitamente não defender contra:

Divulgação