Martech News >

Agentes de código deixam senhas e chaves em repositórios do GitHub, diz Apiiro

Relatório da Apiiro achou 2.539 segredos em 1.994 repositórios públicos ligados a arquivos de agentes de código. Veja o que conferir no seu time.
Colagem: arquivo de metal com pasta de codigo rachada deixando escapar uma chave de latao para uma vitrine, cadeado aberto e cartao com o logo do Claude.

Se o seu time usa agente de código em script, automação ou site, abra a pasta do projeto antes do próximo commit. Neste mês, a empresa de segurança Apiiro publicou um relatório sobre senhas e chaves de API que agentes de código deixaram em repositórios públicos do GitHub. O caso principal é o arquivo .claude/settings.local.json, do Claude Code.

Os números são da própria Apiiro e não foram verificados por terceiros; segundo a empresa, a ironPeak e a Lakera já tinham achado casos semelhantes. Em 8 de novembro, o relatório ganhou uma atualização com a resposta da Anthropic.

O que o relatório encontrou

Segundo a Apiiro:

  • Mecanismo: quando o agente propõe um comando com uma senha embutida e a pessoa escolhe “Yes, and don’t ask again”, o comando inteiro, com a senha, é salvo no settings.local.json. Se esse arquivo for versionado, a senha vai junto para o repositório.
  • Comparação entre agentes: a Apiiro comparou, pela documentação, 16 agentes de código e diz que o Claude Code é o único confirmado a gravar por padrão o comando aprovado completo num arquivo do projeto.
  • Números do arquivo: a empresa examinou 104.185 cópias públicas do arquivo e achou 1.122 com segredo real, somando 1.379 segredos distintos.
  • Soma total: com outros arquivos (o settings.json compartilhado, transcrições de agentes como Cursor e aider e o histórico do Git), a conta chega a 2.539 segredos distintos em 1.994 repositórios. Esse total não vem só do Claude Code.
  • Histórico: versões antigas do arquivo guardavam 734 segredos em 509 repositórios que já não aparecem na cópia atual.
  • Scanners: gitleaks e TruffleHog deixaram passar 215 dos 1.122 arquivos. A falha está em senha escrita dentro de comando.
  • Limites: a Apiiro diz que não usou nem testou nenhuma credencial. “Segredo real” significa formato de provedor ou ligação a um servidor público, sem confirmação de que a credencial funciona.
Fluxo em quatro passos: comando com senha, aprovação permanente, gravação no settings.local.json e commit em repositório público.
Mecanismo descrito pela Apiiro; os números são da empresa, sem verificação de terceiros.

Segundo a documentação oficial, o Claude Code grava ali as aprovações “don’t ask again” e, ao criar o arquivo num repositório Git, o adiciona às exclusões globais do Git. Se a pessoa criou o arquivo à mão, a orientação é colocá-lo no .gitignore por conta própria. A Apiiro aponta lacunas nessa proteção: pasta que vira repositório depois, clone em outra máquina ou arquivo que já estava versionado.

Na atualização de 8 de novembro, a Apiiro conta que Boris Cherny, head do Claude Code na Anthropic, respondeu no Hacker News. Segundo o relato, ele disse que o time está estudando como evitar o problema, com ideias como detecção pelo auto mode e uma varredura básica de segredos. Na visão dele, as cópias expostas foram criadas à mão e versionadas. Ele recomendou o auto mode e o secret scanning do GitHub.

Por que isso importa para marketing e growth

Na leitura do Club Martech, agentes de código já aparecem no marketing para montar automações, integrar CRM, mexer em sites e scripts com vibe coding e consultar bancos. Quem não vem de engenharia pode aprovar comandos no automático e publicar repositório público sem revisar a pasta .claude/. Uma chave de CRM, de plataforma de anúncios ou de banco num repositório aberto pode expor dados de clientes, e aí o problema passa a ser também de segurança da informação e de LGPD.

O que conferir agora

Com base nas recomendações da Apiiro, o que vale conferir:

  • Arquivo versionado: veja se .claude/settings.local.json aparece no Git. Se aparecer, tire do controle de versão e coloque no .gitignore do próprio repositório.
  • Conteúdo do arquivo: mesmo sem commit, abra e apague regras que tenham senha ou token escritos.
  • Rotação: toda credencial que já passou pelo arquivo deve ser trocada. Forks, clones e histórico continuam com a versão antiga.
  • Varredura com histórico: rode um scanner de segredos no histórico completo e ative o secret scanning do GitHub. Confira à mão senhas dentro de comandos, que escapam dos scanners.
  • Outras pastas de agente: trate .cursor/, .gemini/, transcrições e arquivos de memória com o mesmo cuidado de um .env.
  • Cofre: guarde chaves num gerenciador de segredos e use variável de ambiente no comando. Aprove padrões de comando, sem o segredo no texto.

Para organizar a configuração do agente, veja o guia de Claude Code para marketing.

E agora?

Segundo o relato da Apiiro, a Anthropic falou em prototipar proteções, sem data. Enquanto isso, a revisão dos repositórios fica com cada time, e vale repetir a checagem sempre que alguém novo começar a usar agente no projeto.

📰 Consulte as referências na íntegra nos links:

Compartilhe:

Sumário

Mais notícias

Receba o melhor conteúdo sobre Marketing e Tecnologia

comunidade gratuita

Cadastre-se para o participar da primeira comunidade sobre Martech do brasil!