⚠️ Claude Code pode deixar senhas e chaves de API expostas no GitHub ao clicar em «Não perguntar novamente»

Este tópico foi traduzido automaticamente do espanhol. Ver original
Tronlar

Tronlar

Gamma
Verificación en dos pasos activada
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Uma pesquisa publicada em 5 de novembro pela empresa de segurança Apiiro revelou um problema bastante preocupante no Claude Code, a ferramenta de programação com inteligência artificial da Anthropic.

Acontece que uma opção tão comum quanto «Sim, e não perguntar novamente» pode acabar salvando senhas, tokens e chaves de API em um arquivo de configuração do projeto. E se esse arquivo for parar em um repositório público do GitHub, qualquer pessoa poderia consultar o seu conteúdo.

O mais chamativo é que os pesquisadores encontraram 2.539 segredos em 1.994 repositórios públicos.

Não estamos falando apenas de chaves para testar aplicativos. Entre os casos detectados há credenciais de bancos de dados, acessos SSH, tokens de serviços e chaves de infraestruturas na nuvem.



🔴 Como isso acontece exatamente?

Quando trabalhamos com o Claude Code, a ferramenta costuma pedir permissão antes de executar determinados comandos no terminal.

Por exemplo, podemos pedir que ele verifique uma conexão com um banco de dados ou que faça uma requisição a uma API.

Se o comando incluir uma senha ou um token e selecionarmos «Sim, e não perguntar novamente», o Claude Code pode salvar uma regra para lembrar essa autorização em sessões futuras.

O problema aparece quando essa regra contém o comando completo, incluindo a senha ou chave que foi utilizada.

A informação pode acabar armazenada neste arquivo:

Inserir CODE, HTML ou PHP:
.claude/settings.local.json

Ou seja, algo que deveria servir para lembrar permissões pode acabar funcionando como um pequeno depósito de credenciais em texto puro.

Importante: isso não significa que o Claude Code publique automaticamente as senhas no GitHub.
A exposição acontece quando esses arquivos acabam enviados para repositórios públicos, por exemplo, ao incluí-los acidentalmente em um commit.



📊 O que os pesquisadores encontraram?

A Apiiro analisou arquivos públicos de configuração do Claude Code hospedados no GitHub e encontrou os seguintes resultados:
  • 104.185 cópias do arquivo settings.local.json em repositórios públicos.
  • 1.122 arquivos continham pelo menos um segredo.
  • 1.379 credenciais diferentes apareciam nesses arquivos.
  • 63 organizações tinham informações sensíveis expostas.
  • Ao ampliar a busca para históricos do Git, outros arquivos de configuração e registros de agentes, o total subiu para 2.539 segredos em 1.994 repositórios.

Entre as credenciais encontradas havia 379 senhas de bancos de dados, 43 acessos SSH, 42 tokens relacionados ao GitHub, GitLab ou npm e 23 chaves da AWS.

Os pesquisadores também identificaram casos especialmente delicados, como credenciais com privilégios elevados sobre serviços na nuvem e senhas relacionadas a um banco de dados de prontuários médicos.

Mas atenção: encontrar uma chave publicada não prova que ela continue funcionando nem que alguém a tenha utilizado. A Apiiro indica que não verificou a validade de todas as credenciais, embora uma das organizações notificadas tenha confirmado que sua chave estava ativa.



🧐 Mas o Claude Code não deveria impedir que esse arquivo fosse enviado para o GitHub?

Aqui está um dos detalhes mais interessantes.

Segundo a documentação da Anthropic, o Claude Code tenta manter o arquivo local fora do Git por meio de uma configuração de exclusões do usuário.

O inconveniente é que essa proteção depende do ambiente local e não equivale a incluir o arquivo no .gitignore do próprio projeto.

Portanto, podem ocorrer situações em que o arquivo acabe versionado, especialmente se ele já estava incluído anteriormente ou se você trabalha a partir de outro ambiente.

E há outro problema: apagar o arquivo do repositório não elimina necessariamente as senhas vazadas.

Se ele esteve publicado, suas versões anteriores podem continuar no histórico do Git, em clones ou em forks do projeto.

Por isso os pesquisadores recomendam trocar primeiro as credenciais comprometidas e depois limpar o repositório.



🕒 O curioso é que o problema já tinha sido comunicado em 2025

A pesquisa também aponta que esse comportamento não é totalmente novo.

Em 11 de agosto de 2025, um usuário abriu uma issue no repositório oficial do Claude Code explicando que os comandos autorizados podiam ser armazenados com senhas e tokens sem ocultação.

O relatório descrevia justamente o arquivo settings.local.json e o risco de as credenciais acabarem compartilhadas acidentalmente.

A issue acabou fechada como «not planned» por meio de um processo automatizado.

Isso não prova que a Anthropic tenha ignorado o problema deliberadamente, mas sim que existia um alerta público muito antes de esta pesquisa ser publicada.



🛠️ O que quem usa o Claude Code deveria revisar?

Se você usa o Claude Code para desenvolver aplicativos, administrar servidores ou trabalhar com APIs, vale a pena verificar algumas coisas:
  • Revisar o arquivo .claude/settings.local.json dos seus projetos e verificar se alguma regra de permissões contém senhas, tokens ou chaves de API.
  • Verificar também .claude/settings.json, especialmente se ele é compartilhado com outros desenvolvedores.
  • Procurar esses arquivos nos seus repositórios do GitHub e revisar o histórico do Git, mesmo que você já os tenha apagado.
  • Se encontrar uma credencial que tenha sido publicada, revogue-a ou troque-a imediatamente. Apagar o arquivo não é suficiente.
  • Adicionar .claude/settings.local.json ao arquivo .gitignore do projeto.
  • Evitar colocar senhas diretamente nos comandos. É preferível usar variáveis de ambiente ou gerenciadores de segredos, tomando cuidado também com onde essas variáveis são armazenadas.

Se o arquivo já está sendo rastreado pelo Git, é possível deixar de versioná-lo sem apagá-lo do computador com:

Bash:
git rm --cached .claude/settings.local.json

Depois seria preciso adicioná-lo ao .gitignore e confirmar a alteração.

Atenção: esse comando não apaga as versões antigas do histórico nem revoga as credenciais que possam ter ficado expostas.



🔎 Os scanners de segurança detectam essas senhas?

Nem sempre.

Os pesquisadores também verificaram como respondiam duas ferramentas conhecidas para buscar segredos em repositórios: Gitleaks e TruffleHog.

Dos 1.122 arquivos com informações sensíveis, 215 não foram identificados por nenhuma das duas ferramentas nos testes realizados.

O motivo é bem simples: muitos scanners reconhecem formatos comuns de chaves de API, mas uma senha escrita dentro de um comando de terminal pode parecer uma sequência de texto qualquer.

Por isso, ter um scanner de segredos configurado não garante que esse tipo de vazamento vá ser detectado.



📌 Em resumo

O problema não é que o Claude Code envie automaticamente nossas senhas para o GitHub, mas sim que ele pode guardar comandos completos com informações sensíveis dentro de arquivos que depois acabam publicados por acidente.

É uma daquelas situações em que uma função pensada para economizar tempo pode se tornar um risco de segurança se você não souber como ela funciona.

E considerando que muitos de nós, desenvolvedores, usamos assistentes de IA para nos conectar a bancos de dados, configurar servidores ou testar APIs, não parece má ideia dedicar alguns minutos para revisar esses arquivos.



🔗 Fontes originais:



💬 Vocês usam o Claude Code com frequência?

Já revisaram alguma vez o arquivo .claude/settings.local.json de vocês para verificar quais comandos ele salvou?
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Por esse tipo de coisa as pessoas não deveriam ser acomodadas nem permitir que um modelo de inteligência artificial faça as compras por você, nem tarefas críticas demais.
 
Por esse tipo de coisa as pessoas não deveriam ser acomodadas nem permitir que um modelo de inteligência artificial faça as compras por você, nem tarefas críticas demais.
Sim, em tarefas críticas é preciso ter bastante cuidado.
O curioso é que o usuário estava sim dando permissão para executar o comando.
O problema vem depois, quando o Claude Code pode salvar esse comando completo, incluindo uma senha ou chave de API, em um arquivo de configuração.
Não é só questão de confiar demais na IA, mas também de como a ferramenta foi projetada para lidar com informações sensíveis.
E o pior é que você pode estar revisando o que o Claude executa e nem perceber que ele deixou uma senha salva por aí.
 
Voltar
Topo