Repository navigation
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,
fsynce
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.exeroda 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.rseApp.tsxdivididos em módulos menores; ESLint com regras de
hooks do React,cargo fmt --checkeclippy -D warningsna CI.- Scripts de patch antigos e
docs/archiveremovidos; 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.rpmAs 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.