Produto

Chaves de API vazam em arquivos de configuração do Claude Code

Um comando aprovado com "não perguntar de novo" vira uma regra salva com a chave dentro, e essa regra pode parar em um repositório público. O conserto começa por trocar as credenciais, não por apagar o commit.

Mariana SilvaMariana Silva
Popularidade: 1,210
Janela de terminal com barras de credenciais censuradas sobre um fundo de grade escura

Um comando aprovado com "não perguntar de novo" vira uma regra salva com a chave dentro, e essa regra pode parar em um repositório público. O conserto começa por trocar as credenciais, não por apagar o commit.

O que o Claude Code settings.local.json guarda

O arquivo serve para lembrar das suas decisões dentro do projeto, e é essa memória que carrega o segredo. Quando o Claude Code propõe rodar um comando no terminal, ele pede autorização. Se você responde "Sim, e não perguntar de novo", a ferramenta grava uma regra de permissão em .claude/settings.local.json, na pasta do projeto.

A regra é a string do comando, inteira. Uma chamada curl com X-N8N-API-KEY: n8n_api_... no cabeçalho é salva exatamente assim, com a chave no meio. O mesmo vale para variáveis de ambiente e para a definição de servidores MCP, que costumam trazer token no bloco env.

Nada disso é bug. É o comportamento documentado de quem guarda a permissão em vez de perguntar de novo a cada execução. O preço aparece quando o projeto sai do seu computador.

Claude Code secrets leak: o que os números do GitHub mostram

A GitGuardian varreu o GitHub público entre janeiro de 2025 e 7 de novembro de 2026 e contou o que estava exposto. O levantamento achou 31.088 segredos distintos em settings.local.json, espalhados por 23.276 repositórios. Desses, 5.343 ainda funcionavam no momento da detecção.

A checagem foi automática e somente leitura, sem reutilizar credencial. Arquivo esquecido em um canto seria caso isolado. O que 23 mil repositórios revelam é outra coisa, e bem mais incômoda: um hábito de trabalho.

O Ars Technica noticiou o caso em 9 de novembro, e a Cybernews publicou no mesmo dia tratando o assunto como um AI agent secret leak. A análise da Apiiro, divulgada em 5 de novembro, chegou a um número menor com outro método. As duas contagens não se contradizem: uma mede o que está visível hoje, a outra o que já foi enviado.

Um dado da Apiiro explica o risco melhor que a contagem. Na mediana, o arquivo vazado ficava 217 dias no branch principal antes de alguém notar. Sete meses com a credencial ao alcance de qualquer robô que varre o GitHub.

Por que o arquivo chega ao repositório

O Claude Code mantém o settings.local.json fora do git na sua máquina. O repositório não faz o mesmo. Em outra máquina, em um clone antigo ou em um arquivo que já estava rastreado, ele entra no commit junto com o resto do projeto, sem aviso e sem revisão de ninguém.

O git add -A distraído resolve o resto. Quem divide o projeto com o time, ou clona o repositório em um notebook novo, herda as regras antigas dentro do arquivo.

Dois arquivos vizinhos repetem o padrão. O CLAUDE.md, onde ficam as instruções dadas ao agente, acumulou 6.155 segredos, 2.537 deles válidos, porque gente cola string de conexão real no texto que escreve para o modelo ler. E o .claude/.credentials.json, que guarda o login OAuth do próprio agente, apareceu em 371 repositórios públicos, sinal de que home directory inteiro acabou commitado sem ninguém revisar.

AI agent secret leak: o Docker Hub também guarda cópia

Quem apaga o arquivo do repositório e respira aliviado esquece da imagem. O COPY . . leva para o container a árvore de trabalho, não o índice do git. Um arquivo ignorado pelo .gitignore viaja do mesmo jeito, a menos que o .dockerignore liste .claude/.

A GitGuardian mediu o estrago no Docker Hub público. São 613 segredos distintos em imagens, 99 deles válidos, distribuídos por 543 repositórios de imagem e 7.625 tags. Um único token da Cloudflare aparece em 559 tags de uma mesma imagem. Apagar o arquivo do repositório não remove nada do que já foi enviado.

É por isso que o vazamento por Docker Hub é mais silencioso. Ninguém recebe alerta quando uma camada antiga é baixada por outra pessoa.

Claude Code GitHub security: a ordem certa do conserto

A primeira ação é rotacionar tudo o que o arquivo já guardou.

Histórico, forks e imagens mantêm cópias, e reescrever o histórico não alcança nenhuma delas. Token que ficou público por um dia continua comprometido.

Depois da troca, entra a parte de contenção. Adicione o caminho ao .gitignore do repositório e ao .dockerignore, apague as regras que contêm segredo, abrindo o arquivo ou rodando /permissions dentro do Claude Code, e confirme no fim que a pasta saiu do histórico.

O hábito que evita a recaída é pequeno: em vez de aprovar curl -H "Authorization: Bearer sk-...", use a variável $MINHA_CHAVE no comando. A regra salva guarda o nome, não o valor. Prefira também prefixos estreitos, como Bash(git status:*), em vez de liberar Bash(curl:*) para qualquer chamada futura.

O que muda para quem programa no Brasil

Para um time brasileiro, o primeiro efeito é jurídico. Credencial em repositório público pode expor dado pessoal, e a LGPD trata incidente assim como assunto de notificação, com prazo e registro. Vale checar com o jurídico antes de tratar o caso como só técnico.

O segundo efeito é operacional e local. String de conexão de Postgres e Supabase é rotina em projeto brasileiro, e a GitGuardian identificou 1.955 conexões Postgres válidas só nesse arquivo. Token de bot do Telegram, muito usado para alerta interno, também aparece na lista.

Imagem pública no Docker Hub enviada por pipeline é hábito comum aqui. Se o .dockerignore do projeto não cobre a pasta .claude/, cada build publica a credencial outra vez.

O que ainda não se sabe sobre o Claude Code secrets leak

A Anthropic não foi invadida, e a distinção importa. O que vazou foi configuração escrita pelo usuário, não dado tirado de servidor da empresa. Também não há confirmação de que toda chave estivesse ativa, nem de correção oficial para ignorar o arquivo por padrão.

A própria GitGuardian não sabe explicar a queda. O volume em settings.local.json passou de 12.535 ocorrências em abril de 2026 para 959 em outubro. Pode ser mudança no prompt de permissão, proteção de push do GitHub ou queda de adoção. O relatório não fecha a resposta.

Fica uma pergunta aberta para quem mantém o Claude Code. Por que guardar o comando completo por padrão? Nenhum dos outros 15 agentes comparados pela Apiiro faz o mesmo, e enquanto isso não muda a proteção segue dependendo de quem digita o comando.

Se você usa a ferramenta, reserve dez minutos hoje: procure .claude/ no histórico do repositório, troque qualquer chave que aparecer e inclua a pasta nos dois arquivos de ignore. O resto é rotina.

Compartilhar esta notícia

Fontes

Notícias de IA relacionadas

Uma pilha de fichas de prontuário com uma cruz médica em ciano sobre fundo azul-marinho
Produto

Google Cloud põe o Gemini for healthcare na papelada hospitalar

O Google Cloud colocou em preview um produto que ataca a papelada que consome o dia de quem trabalha em hospital. A promessa é clínica, financeira e administrativa, com humano no comando. Não é diagnóstico, e a empresa não apresenta o serviço como certificado para HIPAA.

Popularidade: 1,290
Quatro painéis delineados em tons de argila empilhados sobre fundo escuro
Produto

Anthropic coloca o Claude dentro de reuniões, planilhas e quadros brancos

A Anthropic mostrou em São Francisco um pacote que coloca o Claude dentro de chamadas de vídeo, planilhas e quadros brancos. Só o Claude Data está liberado para todos os planos pagos. O resto segue em beta, e as reuniões ficam restritas a Team e Enterprise.

Popularidade: 1,620
Grade de cartões arredondados com um painel expandido sobre gradiente coral e violeta
Produto

Meta Spaces: o Muse monta um projeto em vez de responder uma pergunta

A Meta parou de vender o assistente como caixa de perguntas e passou a vendê-lo como pasta viva de projeto. Você descreve o que quer organizar e o Muse monta a estrutura.

Popularidade: 1,320
Grade de razão contábil com linha de gastos em alta
Produto

Claude lê seu extrato e monta o orçamento, mas não move um centavo

O Claude agora responde para onde foi o dinheiro do mês, com acesso somente leitura às contas conectadas. O recurso é beta, só nos Estados Unidos e só para quem paga.

Popularidade: 1,520