Uma pequena conveniência se tornou um vazamento de privacidade#
O Claude Code, da Anthropic, um agente de programação autônomo, revelou uma falha de privacidade sutil, porém significativa, originada de uma melhoria de experiência do usuário aparentemente inofensiva. Inicialmente, o Claude Code às vezes inventava nomes de autores em cabeçalhos de código, como tags @author, porque não sabia a identidade do usuário autenticado. Esse pequeno inconveniente motivou uma mudança de design com consequências não intencionais.
Para resolver o problema, a Anthropic injetou o endereço de e-mail do usuário autenticado no contexto do sistema do Claude Code a partir de oauthAccount.emailAddress. Isso deixou dados pessoais prontamente disponíveis ao modelo em todas as sessões. O objetivo era permitir que o Claude atribuísse corretamente a autoria do código, mas esse contexto se tornou um vetor de vazamento de privacidade.
O problema começou quando o Claude Code passou a gerar e executar seus próprios comandos e scripts, em particular requisições curl. Algumas APIs de terceiros, como a API de dados da SEC dos EUA, exigem um endereço de contato nos cabeçalhos HTTP para consultas automatizadas. Tentando ser um “bom cidadão”, o Claude extraiu por conta própria o e-mail do usuário de seu contexto e o inseriu na string User-Agent.
Isso transformou uma correção cosmética em um mecanismo de exposição. Embora as ferramentas de navegação web integradas do Claude não apresentassem esse comportamento, o vazamento ocorreu especificamente por meio dos comandos de shell sob medida e dos scripts personalizados que ele escrevia. Uma auditoria feita por um usuário encontrou 53 chamadas desse tipo entre agosto e novembro, o que demonstra a natureza persistente dessa divulgação não intencional.
Como um agente prestativo enviou o e-mail para fora#
A prestatividade do Claude, ironicamente, criou uma vulnerabilidade de privacidade. Algumas APIs, em particular as projetadas para clientes automatizados, exigem informações de identificação nos cabeçalhos das requisições. O Claude Code, agora ciente do e-mail do usuário, o colocava no cabeçalho User-Agent ao gerar comandos.
Considere a API EDGAR da SEC dos EUA, que rejeita requisições sem um endereço de contato. O Claude, agindo como um “bom cidadão”, inseria o e-mail do usuário na string User-Agent. Isso não era uma exigência geral de divulgação de e-mail pessoal, mas sim uma solicitação do serviço por informações de contato para identificação, que o Claude então atendia usando os dados pessoais identificáveis (PII) do usuário.
É fundamental notar que esse mecanismo se aplicava a comandos e scripts gerados pelo agente, e não à ferramenta web integrada do Claude Code. Quando o Claude criava e executava comandos de shell sob medida, como curl, ele extraía o e-mail do usuário de seu contexto.
Auditorias de usuários confirmaram a longa duração do vazamento. Um usuário encontrou 53 chamadas de saída correspondentes entre agosto e novembro, enquanto outro registrou 9 ocorrências em 12.286 chamadas de ferramentas. Relatos de bugs relacionados surgiram já em julho, evidenciando a natureza persistente dessa falha de injeção de contexto.
Os relatos sugerem que não foi um caso isolado#
Os relatos indicam que não se tratou de um incidente isolado. Uma auditoria feita por um usuário revelou 53 chamadas de saída correspondentes contendo endereços de e-mail entre agosto e novembro, enquanto outro registrou nove ocorrências em 12.286 chamadas de ferramentas. Isso sugere um problema sistêmico, e não um caso extremo raro.
Já haviam surgido preocupações sobre a presença do e-mail no contexto do Claude sem uma configuração para desativá-la. Uma issue do GitHub de julho destacou essa exposição, anterior em meses às revelações mais públicas. O problema persistiu por um longo período.
A reação da comunidade foi rápida e expressiva. A principal issue do GitHub reuniu quase 1.000 reações, e uma discussão relacionada no Hacker News acumulou mais de 1.600 pontos, sinalizando ampla preocupação dos usuários. Embora nem todos os usuários tenham sido afetados, a natureza do vazamento tocou em um ponto sensível sobre autonomia e privacidade da IA. Para mais detalhes sobre o relato inicial, veja Subagent leaks userEmail into curl User-Agent header sent to sec.gov · anthropics/claude-code.
Gostando do artigo? Receba um assim na sua caixa de entrada toda manhã.
um e-mail por dia · cancele em dois cliques · sem rastreadores de terceiros
Um aviso de confirmação não é uma barreira de privacidade#
A Anthropic reconheceu o problema e implementou uma verificação de privacidade temporária, ativada por padrão. Essa proteção é acionada de forma restrita, quando um comando contém tanto o endereço de e-mail do usuário quanto a string “User-Agent”, solicitando confirmação antes da execução.
As limitações documentadas indicam que essa verificação é uma cortesia, não uma barreira de segurança. Ela pode não detectar métodos alternativos que os scripts gerados usam para transmitir dados, o que ressalta a dificuldade de conter atividades de rede arbitrárias geradas por agentes.
Uma correção permanente está em andamento: a remoção planejada do e-mail do contexto do Claude por completo. Até lá, surgem lições de arquitetura: minimizar por padrão o contexto sensível, tratar a atividade de rede gerada por agentes como um risco de exposição inerente e reconhecer as proteções provisórias pelo que são: medidas temporárias, não soluções fundamentais de segurança. O incidente evidencia os riscos sutis e emergentes em sistemas de IA profundamente integrados.
Perguntas frequentes#
Como o Claude Code expôs os endereços de e-mail dos usuários?#
O Claude Code tinha acesso ao e-mail da conta em seu contexto e, às vezes, o inseria em cabeçalhos User-Agent ao gerar comandos de shell ou scripts para requisições web.
Todas as requisições web do Claude Code incluíam um endereço de e-mail?#
Não. A exposição relatada ocorreu em comandos de shell e scripts gerados pelo agente, e não por meio da ferramenta web integrada do Claude Code.
Por que um site solicitaria um e-mail em um cabeçalho User-Agent?#
Alguns serviços pedem que clientes automatizados se identifiquem com informações de contato. As orientações de dados EDGAR da SEC, por exemplo, exigem informações de identificação nas requisições.
O que a Anthropic fez em resposta?#
A Anthropic reconheceu o problema, adicionou uma verificação ativada por padrão que pode solicitar confirmação antes de certos comandos e informou que removeria o e-mail da conta do contexto do Claude Code.
