tr4mpass
무료 오픈소스 iCloud 활성화 잠금 우회 도구
Claude Code와 함께 쓰는 오프라인 자격증명 금고, 에이전트가 DB·서버·패널에 들어가도 비밀번호는 노출되지 않는다
Cofre de credenciais offline feito para trabalhar ao lado do Claude Code. O agente entra no banco, no servidor e no painel do cliente, e a senha nunca passa pela conversa.
보안GitHub @jeffersonrucu온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Offline credential vault for AI agents: Claude Code uses your passwords, SSH keys and tokens without ever seeing them. Rust daemon + CLI, Tauri app and Chrome extension.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Passo o dia com o Claude Code no terminal. Uma hora ele precisa rodar uma query no Postgres de stage, outra hora entrar por SSH num servidor do cliente, outra testar o login de um WordPress. Sempre esbarra no mesmo ponto: alguém tem que dar a senha.
Colar a senha na conversa está fora de cogitação. Exportar variável de ambiente no shell dele dá no mesmo, porque ele consegue ler. Eu usava o KeePassXC com uns scripts em volta, e funcionava mais ou menos. Cada entrada era montada à mão e cada ferramenta pedia a credencial de um jeito diferente.
O Ward nasceu para resolver isso. O Claude recebe o acesso, nunca a credencial.
O Claude lista o que pode usar e pede para rodar o comando. Quem executa é o daemon do Ward, com a credencial só no ambiente do processo filho:
ward list
ward run acme-pg-dev -- psql -tAc 'select count(*) from pedidos'
ward ssh acme-ssh-chave-prod -- 'systemctl status nginx --no-pager'
ward login acme-wp-prod # a extensão preenche e envia o formulário na aba
ward playwright acme-wp-prod # devolve uma sessão logada para o teste
A saída volta para o Claude com qualquer pedaço da senha trocado por ••••, inclusive
em base64, URL-encoded ou dentro de uma DATABASE_URL. O código de saída do comando
volta igual. Não existe nenhum comando que devolva o segredo para a CLI, nem para mim.
Revelar e copiar só acontecem no app, na minha frente.
Cada tipo de credencial já sabe como se entregar. Um banco postgres vira PGHOST,
PGPASSWORD e companhia. Uma credencial AWS vira as variáveis AWS_*. Um servidor
com chave sobe um agente SSH só para aquela conexão, que morre quando ela termina. A
chave privada nunca sai do daemon.
Cada entrada tem um nível:
claude → bash → ward run). Para permitir, só
digitando o PIN. Para negar, basta fechar a janela, e se ninguém responder em dois
minutos o pedido expira sozinho.Mudar o nível também pede o PIN. Errou o PIN cinco vezes seguidas, o cofre trava.
O cofre também trava sozinho quando a tela bloqueia, quando o notebook suspende e
depois de 4 horas sem uso. Travar mata o que ainda estiver rodando com segredo, até o
processo que tentou fugir com setsid.
A extensão do Chrome sugere as entradas do site aberto e preenche usuário, senha e TOTP com um clique. Ela só mostra entradas daquela origem e confere o domínio no daemon, então uma página de phishing parecida com a original não recebe nada.
É a mesma extensão que faz o ward login para o Claude. Ela confere o domínio, preenche,
envia e limpa os campos. Se o formulário mandar os dados para outro domínio, se tiver
dois campos de senha ou se o site redirecionar para outro lugar, ela recusa.
Nada fica salvo no navegador.
O app desktop é feito em Tauri e Svelte, todo em português e com tema escuro. Credenciais agrupadas por cliente, busca, filtro por tipo e ambiente, anexos, TOTP, gerador de senha, backup automático com 30 versões, backup opcional em pendrive e um kit de emergência para imprimir.
Tipos que já vêm prontos: login, banco (postgres, mysql, mongo, redis, sqlserver, com túnel SSH opcional), servidor (senha ou chave, com servidor de salto), API, AWS, SMTP, FTP/SFTP, nota segura e um genérico para o resto. O TOTP é gerado pelo cofre, e o Claude recebe o código, nunca a semente. Copiar limpa a área de transferência em 30 segundos.
Segurança foi o requisito número um do começo ao fim, e na dúvida entre conveniência e segurança ganhou a segurança. Algumas decisões que saíram disso:
wardd é o único processo que toca em segredo. CLI, app e extensão são
clientes dele por um socket que só o seu usuário abre, numa pasta do root.LD_PRELOAD e zera a memória quando trava.Não vou fingir que é perfeito. O escopo tem uma seção chamada "Fora do modelo de ameaça" que lista o que o Ward não cobre. Um exemplo: uma entrada "livre" pode ser lida pelo agente se ele recodificar a variável de um jeito que a máscara não pega. Ela existe por isso, e eu prefiro que você saiba antes de instalar.
Cada uma dessas regras virou teste. São quase mil testes no cargo test, mais suítes
de ataque que sobem SSH, Postgres, WordPress, uma página de phishing e o Chrome de
verdade, sempre com um cofre de teste e credenciais falsas.
O Ward roda no Linux (testado no Pop!_OS 24.04 com Wayland) e precisa do Chrome para a extensão. Windows e macOS ficam para depois.
Pela release, com o .deb:
sha256sum -c SHA256SUMS --ignore-missing
sudo apt install ./ward_0.2.0_amd64.deb
Ou a partir do código, gerando o .deb como você (sem sudo):
make release
make extension && make extension-crx
make deb EXTENSION_ID=<id impresso pelo extension-crx> EXTENSION_CRX=$PWD/target/extension/ward.crx
e instalando o pacote de uma pasta do root, como no passo 2a do
roteiro. Não rode sudo make install de dentro do checkout: um
programa do seu usuário pode trocar o instalador antes do sudo. O passo 2b do roteiro
mostra como rodar o make install de uma cópia em /root.
O sudo só aparece uma vez, na instalação: ela cria os grupos, instala as units do
systemd e a política do Chrome que instala a extensão. Depois disso, o uso diário não
pede sudo. Leia o roteiro de instalação antes, porque ele tem as
conferências do kernel e do Chrome que valem a pena fazer. Quem já tem a 0.1.x
instalada segue a seção de atualização do roteiro: o cofre é copiado antes e migra
sozinho na primeira vez que você destrava a 0.2.0.
Para o Claude Code aprender a usar o Ward, copie a skill de skill/
e as regras de deny que vêm junto. Se você está vindo do KeePassXC, o
guia de migração faz a troca em etapas, sem perder nada.
Rust para o núcleo, o daemon e a CLI, Tauri com Svelte para o app e uma extensão MV3
para o Chrome. O make check roda fmt, clippy, testes, cargo audit, cargo deny e o
gitleaks no histórico. O CLAUDE.md lista todos os alvos do Makefile,
inclusive as suítes de ataque e os serviços de teste.