Claude Code deixou segredos em 1122 arquivos públicos do GitHub por causa do «Don't ask again»
Quando você clica em «Don't ask again» no Claude Code, o agente grava a permissão no arquivo de configurações do projeto. Se o comando continha um token ou senha, ele vai parar no arquivo junto com o comando. Analistas da Qodo encontraram esses segredos em 1122 arquivos de configuração públicos no GitHub. As configurações do agente já são código e devem ser revisadas como qualquer outro commit.
Processado por IA de Qodo Blog; editado por Hamidun News
Você pede ao agente para chamar uma API, ele pede permissão para executar o comando, você está cansado de clicar em «Yes» pela décima vez e escolhe «Don't ask again». Conveniente. Mas a Qodo descobriu que esse botão tem um efeito colateral: em 1122 arquivos de configuração públicos no GitHub apareceram segredos que o próprio Claude Code salvou ali.
Como um segredo chega à configuração
O Claude Code tem um sistema de permissões. Quando você concorda em «não perguntar novamente» sobre um comando específico, o agente acrescenta uma regra a um arquivo de configurações dentro da pasta .claude. Há um settings.json compartilhado, que normalmente é commitado junto com o projeto, e um settings.local.json local para regras pessoais.
O problema é que a regra descreve o comando literalmente, com todos os argumentos. Digamos que você pediu ao agente para fazer uma requisição via curl e colou o token diretamente no cabeçalho. O agente vai memorizar essa linha inteira, e o token acabará no arquivo em texto aberto. Isto é uma ilustração do mecanismo, não uma citação do relatório. Mas a lógica é exatamente essa: você não «salvou» nada, apenas clicou em um botão de conveniência.
Depois age a inércia humana de sempre. Alguém commita a pasta .claude inteira, porque ali há «configurações úteis para a equipe». O repositório acaba sendo público, e o segredo fica à vista.
Por que isso não é detalhe
Estamos acostumados a ver segredos vazarem de .env, de configurações de nuvem, de strings fixas no código. Os arquivos de configuração de agentes não se encaixavam nesse quadro: eram vistos como «preferências pessoais do editor», como o tema de cores. Mas ali já estão permissões executáveis: o que o agente pode rodar sem perguntar. Ou seja, o arquivo tem dois papéis ao mesmo tempo: política de segurança e potencial repositório de segredos.
Há algo ainda mais importante. Esses arquivos não são escritos por uma pessoa, mas por uma ferramenta, e em resposta a um clique, não a uma decisão consciente de «salvar a configuração». Ninguém relê o que não escreveu. Daí a conclusão da Qodo: as configurações do agente devem ser revisadas como código.
O que fazer agora mesmo
- Verifique seus repositórios. Procure em .claude/ strings parecidas com chaves, tokens e senhas, inclusive no histórico do git. Remover o arquivo no último commit não basta: o histórico permanece.
- Rotacione tudo o que encontrar. Se um token esteve alguma vez em um repositório público, considere-o comprometido.
- Proteja o arquivo local. O settings.local.json deve estar no .gitignore. Não presuma que alguém já fez isso.
- Tire os segredos dos próprios comandos. Passe-os por variáveis de ambiente ou por um gerenciador de segredos; assim a regra conterá o nome da variável, não o valor.
- Ative a automação. Um scanner de segredos no pre-commit e no CI e, no GitHub, também push protection. Adicione .claude ao CODEOWNERS para que mudanças nas permissões do agente não passem sem revisão.
- Não abuse do «Don't ask again». Para comandos com argumentos sensíveis, é melhor confirmar a cada vez ou escrever uma regra restrita manualmente.
Limitações e ressalvas
O relatório foi publicado pela Qodo, fornecedora de ferramentas de code review. O tema é da área dela, e ela o apresenta de acordo. Além disso, pelo anúncio não dá para saber quantos dos segredos encontrados estavam ativos. E 1122 arquivos é o que apareceu na busca pública, não o quadro completo: ninguém contou os repositórios privados.
Ainda assim, a crítica não é só a um produto. O mesmo mecanismo de «memorizar o comando» existe em outras ferramentas de agentes, e as mesmas perguntas se aplicam a elas. Uma expectativa razoável em relação aos desenvolvedores de agentes: mascarar ou não salvar valores que pareçam segredos e avisar antes de gravar.
Resumo
As ferramentas agênticas criam uma nova classe de artefatos: configurações que se escrevem sozinhas, são executadas com os seus privilégios e vão parar no git com facilidade. Trate-as como código: revisão, varredura, .gitignore. Sai mais barato do que lidar com as consequências de uma chave vazada.
- 12 de nov. de 2026Jensen Huang deixa o cargo de CEO da Nvidia: empresa perde US$ 1,4 trilhão em duas semanas
- 12 de nov. de 2026Claude in Chrome exige autorização para cada clique em sites da categoria 3
- 12 de nov. de 2026AWS Quick ganha seis agentes para product managers: das reclamações de clientes à especificação
- 12 de nov. de 2026Anthropic fecha o Claude para empresas russas a partir de 12 de novembro, mesmo com entidade jurídica no exterior
Perguntas frequentes sobre a notícia
Como um segredo chega à configuração?
O Claude Code tem um sistema de permissões. Quando você concorda em «não perguntar novamente» sobre um comando específico, o agente acrescenta uma regra a um arquivo de configurações dentro da pasta .claude. Há um settings.json compartilhado, que normalmente é commitado junto com o projeto, e um settings.local.json local para regras pessoais. O problema é que a regra descreve o comando literalmente, com todos os argumentos.
Por que isso não é detalhe?
Estamos acostumados a ver segredos vazarem de .env, de configurações de nuvem, de strings fixas no código. Os arquivos de configuração de agentes não se encaixavam nesse quadro: eram vistos como «preferências pessoais do editor», como o tema de cores. Mas ali já estão permissões executáveis: o que o agente pode rodar sem perguntar. Ou seja, o arquivo tem dois papéis ao mesmo tempo: política de segurança e potencial repositório de segredos. Há algo ainda mais importante.
O que fazer agora mesmo?
Verifique seus repositórios. Procure em .claude/ strings parecidas com chaves, tokens e senhas, inclusive no histórico do git. Remover o arquivo no último commit não basta: o histórico permanece. Rotacione tudo o que encontrar. Se um token esteve alguma vez em um repositório público, considere-o comprometido. Proteja o arquivo local. O settings.local.json deve estar no .gitignore. Não presuma que alguém já fez isso. Tire os segredos dos próprios comandos.
Build & Ship Production AI Agents Without Boilerplate Code
Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.
O essencial da IA — uma vez por semana
Sete histórias que realmente importaram, escolhidas a dedo. Sem ruído nem releases.
Pronto! Verifique seu e-mail para a confirmação.