olimposec.com
Radar / Bugs / OS-2026-884
risco altoBUG2026-11-07 · 2 min de leitura
0

Recurso "Don't Ask Again" do Claude Code expõe senhas e chaves de API em mais de mil repositórios públicos

Resumo executivo

A empresa de segurança Apiiro encontrou 1.122 repositórios públicos no GitHub com arquivos de configuração do Claude Code contendo senhas e chaves de API em texto puro. O problema nasce da opção "Yes, and don't ask again": ao ser escolhida para aprovar um comando, o Claude Code grava esse comando literalmente — segredo incluso — em um arquivo de permissões do projeto, que depois é versionado e enviado ao repositório junto com o resto do código.

O "Don't Ask Again" é um recurso de conveniência pensado para reduzir a fadiga de aprovação no Claude Code: em vez de pedir confirmação a cada execução de um comando sensível, a CLI memoriza a decisão do desenvolvedor e passa a executá-lo automaticamente nas próximas vezes. O problema está em como essa memorização é implementada — o comando aprovado é gravado palavra por palavra em um arquivo de configurações dentro do diretório do projeto, e se esse comando continha uma senha, token ou chave de API embutida diretamente na linha (por exemplo, numa chamada de API ou num argumento de autenticação), o segredo é persistido em texto puro junto com o resto do repositório.

O vetor de exposição real não é uma falha de rede ou de criptografia, mas um problema estrutural de higiene de segredos combinado com hábito de desenvolvimento: arquivos de configuração de ferramentas de IA costumam ser vistos como metadados inofensivos e, por isso, raramente entram em listas de ".gitignore" ou recebem a mesma atenção que arquivos ".env". Quando o repositório é publicado no GitHub — rotina em projetos open-source, forks de exemplo ou vazamentos acidentais de repositórios antes privados — esse arquivo de aprovações vai junto, expondo diretamente credenciais que o desenvolvedor nunca pretendeu compartilhar.

A escala encontrada pela Apiiro reforça que não se trata de um caso isolado: a pesquisa mapeou 1.122 cópias públicas do arquivo contendo segredos reais, incluindo credenciais de provedores de nuvem, bancos de dados e serviços de terceiros, espalhadas por uma base ainda maior de repositórios que usam o recurso. Diferentemente de um vazamento pontual causado por descuido individual, trata-se de um padrão sistêmico decorrente do próprio design da funcionalidade — qualquer repositório público que já tenha usado "don't ask again" em um comando com segredo embutido é candidato a exposição, independentemente de quão recente ou obscuro seja o projeto.

O caso importa porque evidencia um risco recorrente em ferramentas de IA agêntica que operam no terminal do desenvolvedor: funcionalidades pensadas para reduzir atrito de aprovação podem criar efeitos colaterais de persistência de dados sensíveis que não existiam antes da automação. A mitigação mais direta é nunca embutir segredos diretamente na linha de comando, preferindo variáveis de ambiente ou gerenciadores de credenciais, auditar e adicionar ao ".gitignore" os arquivos de configuração de ferramentas de IA antes de publicar repositórios, e rotacionar imediatamente qualquer credencial que já tenha sido usada em um comando aprovado dessa forma.

Fonte ↗
0 comentários

Entre para comentar.

Nenhum comentário ainda — seja o primeiro.