Skip to content

KPassword v1.8.0 — Windows e Fedora

Latest

Choose a tag to compare

@mnstechbr mnstechbr released this 20 Oct 17:54
14c897e

KPassword 1.8.0 — clipboard protegido, sessão do cofre e gravação segura

Esta versão concentra correções de segurança e robustez encontradas numa revisão
completa do código. O formato e a criptografia dos cofres e a chave pública do
updater não mudam; cofres e backups antigos continuam abrindo.

Segurança

  • Senhas copiadas ficam fora do histórico do clipboard: no Windows, fora do
    Win+V e da sincronização em nuvem; no KDE, fora do Klipper. A limpeza agora
    roda no backend, só apaga o que o KPassword copiou e também acontece ao
    bloquear o cofre e ao sair pela bandeja.
  • A senha mestra deixou de ficar no estado da interface. Ao desbloquear, a
    senha e a chave derivada passam a viver numa sessão do backend, zerada ao
    bloquear, trocar de cofre ou sair. Cada gravação reaproveita a chave com um
    nonce novo, então copiar uma senha ou editar um item não roda mais o Argon2id.
  • Cofres e backups são gravados com arquivo temporário exclusivo, fsync e
    renomeação atômica, com permissões 0600 (pasta 0700) no Linux. Arquivos de
    versões anteriores são corrigidos ao abrir o app.
  • Comandos do app passam por permissões declaradas por janela (Tauri ACL); a
    janela de aprovação da ponte só acessa os dois comandos que usa.
  • Nomes de cofre reservados do Windows (CON, NUL, COM1...) são recusados.
  • reg.exe roda sem piscar janela de console; a CSP passa a permitir o leitor
    de QR em WASM.
  • A ponte recusa abrir fora do Linux.

Backups

  • O intervalo de backup configurado agora vale também no backend.
  • Retenção automática: os 10 mais recentes, um por dia por 14 dias, um por
    semana por 8 semanas e um por mês por 12 meses. Cópias de segurança com
    rótulo (antes de restaurar, antes da migração) nunca são apagadas.
  • Ao trocar a senha mestra, os backups antigos são recifrados com a senha nova,
    preservando as datas.
  • Se o backup forçado falhar depois de salvar, o cofre fica salvo e o app avisa,
    em vez de mostrar erro.

Desempenho e estabilidade

  • Argon2id, leitura de QR, restauração e verificação de backup rodam fora da
    thread principal: a janela não congela mais.
  • Gravações entram numa fila única; uma edição feita enquanto outra gravação
    ainda roda não é mais perdida.
  • A ponte guarda em cache a identidade dos executáveis (dispositivo, inode,
    tamanho e datas) e reaproveita a conexão HTTP com o provedor.
  • O status da ponte só é consultado com o cofre aberto e a janela visível.

Inicialização e bandeja

  • O autostart registrado por um build de desenvolvimento é corrigido pelo app
    instalado, eliminando a janela "Could not connect to localhost" no login.
  • Menu da bandeja simplificado (Abrir KPassword, Revogar acessos da ponte,
    Sair) e traduzido para o idioma escolhido.

Idiomas e mensagens

  • Erros do backend viram códigos estáveis traduzidos nos quatro idiomas, e as
    mensagens de falha dizem o motivo.
  • Cerca de 150 textos que apareciam em inglês no espanhol e no turco foram
    traduzidos, incluindo os textos específicos do Linux.
  • As traduções ficam num arquivo por idioma em src/locales.

Código

  • lib.rs e App.tsx divididos em módulos menores; ESLint com regras de
    hooks do React, cargo fmt --check e clippy -D warnings na CI.
  • Scripts de patch antigos e docs/archive removidos; os scripts de release
    (release:hash, release:validate, security:audit) rodam com Node, sem
    PowerShell. Logo e favicon reduzidos de 2 MB para cerca de 100 KB.

Instalação

Windows x64: KPassword-Setup-v1.8.0.exe. Fedora 44 x86_64:
KPassword-1.8.0-1.x86_64.rpm. O Secrets Bridge continua disponível apenas no
Linux.

sudo dnf upgrade ./KPassword-1.8.0-1.x86_64.rpm

As assinaturas dos instaladores são geradas e verificadas localmente. A
assinatura externa do RPM é Minisign. A versão contém latest.json e
SHA256SUMS.txt.

Verificação

Localmente passaram 116 testes Rust (incluindo vetores de compatibilidade de
cofres e a sessão do backend), 155 testes do frontend e das ferramentas de
release, 23 testes Python dos clientes da ponte, do publicador e do assinador,
cargo fmt --check, clippy sem avisos em Linux e Windows, ESLint sem erros,
build do frontend e a consistência das sete fontes de versão. A CI valida o
commit exato em Windows e Fedora e gera os instaladores usados na publicação.