← 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 persistenteMitigadoO código de emparelhamento persistente é criptografado com Windows DPAPI (por conta), portanto, não pode ser lido de um disco copiado ou de uma conta Windows diferente.

Fora do escopo

Coisas que WindowsHelper faz explicitamente não defender contra:

Divulgação