Skip to content

KPassword v1.4.0 - Seguranca do gerador, forca de senha e restauracao

Choose a tag to compare

@mnstechbr mnstechbr released this 02 Sep 20:06

v1.4.0

Versão de segurança e qualidade. Concentra a correção do gerador de senhas, um
novo mecanismo de avaliação de força, o endurecimento do ciclo de vida do
Windows Hello e a criação de uma rede de testes automatizados que antes não
existia.

Novidades

  • Novo gerador de senha memorizável, baseado em uma lista de 1.089 palavras em
    português. A configuração padrão passou de cerca de 25,6 bits de entropia para
    cerca de 77,7 bits, com mínimo de 5 palavras e alvo de 72 bits.
  • A capitalização das palavras passou a ser sorteada com amostragem por
    rejeição, eliminando padrões degenerados e tornando a distribuição uniforme.
  • Nova avaliação de força de senhas arbitrárias baseada em estimativa de
    adivinhações, substituindo a heurística anterior que pontuava apenas a forma
    da senha (comprimento e classes de caracteres).
  • A avaliação de força roda em um Web Worker e não bloqueia mais a interface.
    O motor tem cache por credencial, limite de tarefas simultâneas e debounce
    para o campo em edição.

Correções

  • O gerador de PIN usava apenas 9 dígitos: o 1 estava ausente por herança da
    lista de caracteres ambíguos. O alfabeto agora é 0123456789 completo.
  • Corrigido metadado adulterado no package-lock.json, presente desde junho de
    2026, que fazia npm ci falhar com erro 404 em qualquer checkout limpo.
  • Atualizados os transitivos npm postcss e nanoid, que respondiam por quatro
    advisories de build. Nenhuma dependência de runtime foi alterada.

Segurança

  • Endurecido o ciclo de vida do registro do Windows Hello: a troca de senha
    mestra agora remove o registro antes de persistir o novo cofre, e registros
    órfãos ou inconsistentes passaram a ser detectados, classificados e postos em
    quarentena em vez de permanecerem utilizáveis.
  • A seleção da assinatura na montagem da release passou a ser fail-closed. A
    versão anterior caía para "a assinatura mais recente da pasta", o que poderia
    publicar um latest.json com assinatura de outro binário.
  • Corrigido o escopo de permissões do workflow do OpenSSF Scorecard, que falhava
    desde a sua criação e nunca havia produzido resultado. O efeito da correção é
    de menor privilégio.
  • SECURITY.md passou a descrever explicitamente a limitação do Windows Hello
    v1: o registro guarda a própria senha mestra protegida por DPAPI de usuário, e
    o gesto do Hello não participa criptograficamente da liberação do segredo.

Infraestrutura

  • Adicionada CI que executa os testes de frontend, os testes Rust e a
    verificação de consistência de versão em cada push e pull request.
  • Novo guard rail que compara as sete fontes de versão do projeto e falha quando
    divergem.
  • Adicionado .gitattributes normalizando quebras de linha, corrigindo uma
    quebra da suíte de testes em checkouts Windows.
  • A suíte de testes passou de 23 testes Rust para 37 testes Rust e 113 testes de
    frontend.

Correcao de perda de dados na restauracao de backup

Restaurar um backup pela tela bloqueada sobrescrevia o cofre alvo sem criar
copia de seguranca
do conteudo anterior, que ficava irrecuperavel.

A salvaguarda vivia no frontend sob a condicao vault && masterPassword. Como a
restauracao so e acessivel pela tela de autenticacao, onde nao ha cofre aberto,
essa condicao nunca era satisfeita em uma restauracao real.

A copia passou a ser pre-condicao da escrita, dentro de uma unica operacao no
backend: os bytes cifrados atuais sao preservados em
<cofre>-pre-restore-<ms>.kpvault, o backup e conferido byte a byte e so entao
o conteudo restaurado e gravado. Se qualquer etapa falhar, nada e sobrescrito.
Como nao ha decifragem envolvida, funciona igualmente com o cofre bloqueado.

A confirmacao passou a nomear o cofre alvo, e a operacao aborta se o cofre ativo
mudar enquanto a confirmacao estiver pendente.

Compatibilidade

  • Nenhuma alteração no formato do cofre. O .kpvault da v1.3.5 abre
    normalmente. Verificado: crypto_vault.rs e crypto.ts não foram alterados
    desde a v1.3.5.
  • Nenhuma alteração na criptografia do cofre. Argon2id, AES-256-GCM, os
    parâmetros de derivação, o AAD e o cryptoVersion permanecem os mesmos.
  • Nenhuma alteração nos backups nem nas migrações.
  • O Windows Hello v1 continua usando DPAPI no escopo do usuário, exatamente como
    na v1.3.5. As mudanças desta versão são de ciclo de vida do registro, não de
    criptografia. A limitação permanece e está documentada em SECURITY.md.