Blog
Segurança

Claude Code vazava o e-mail no User-Agent: o que eu checaria amanhã

O e-mail da conta entrava no contexto do modelo e às vezes ia no User-Agent de curl e WebFetch. Anthropic remove na próxima release; até lá, atualize para 2.1.317+ e trate header de saída como segredo.

O que aconteceu

O Claude Code colocava o e-mail da conta no contexto do modelo. Em curl e WebFetch, o agente às vezes colocava esse e-mail no User-Agent da request. Sites como SEC e Wikipedia pedem contato no header; o modelo tentava cumprir e enviava o e-mail da conta. No Hacker News o thread passou de mil pontos. A issue no GitHub descreve spam e perda de anonimato.

Lydia Hallie, do time do Claude Code, confirmou no próprio thread: a próxima release tira o e-mail da conta do contexto que o modelo recebe. Até lá, a 2.1.317 e posteriores têm um check que pergunta antes de uma tool web ou shell mandar o e-mail pela rede. O canal stable ainda estava na 2.1.311. Vale atualizar.

Por que importa

O humano não vê o header. O agente monta o comando, a request sai, e o e-mail já está no log do site. É o mesmo tipo de vazamento que a gente já viu em gateway de LLM: o dado útil pro modelo vira PII na saída, sem gate humano.

A causa, segundo a Anthropic, foi prática: usuários reclamavam que o modelo inventava nome em tags @author, então o e-mail da conta entrou no contexto. Quando o modelo escrevia um curl, usava o que tinha à mão como contato. O plugin cc-plugin-privacy (ligado por padrão na 2.1.317+) cobre tool call e curl. Mas não cobre todo caso em que o modelo escreve um script e roda sozinho.

O que eu checaria amanhã

  1. Versão. claude --version (ou o equivalente do seu canal). Abaixo de 2.1.317, atualize. Stable em 2.1.311 ainda expõe o comportamento.
  2. Plugin de privacidade. Confirme que cc-plugin-privacy está on em /plugins. Desligar isso hoje não me parece boa ideia.
  3. Egress. Se o agente tem rede, trate User-Agent, query string e corpo como canal de vazamento. Proxy que remove e-mail da conta do header, ou allowlist de domínios, reduz o raio. Logar as requests que o agente faz também ajuda: o que você não inspeciona, você não controla.

Acho que o padrão geral vale pra qualquer agente com tool de rede: identidade e PII não deveriam estar no contexto se a saída pode ir pra internet. O e-mail no User-Agent foi o sintoma. O contexto aberto demais é a peça que falhou.

Fontes

esc
  • Home Início
  • Sobre Trajetória e como trabalho
  • Blog Artigos sobre IA, plataforma e liderança
  • Projetos Demos públicos de frontend com IA
  • Currículo Web, PDF, Markdown e texto
  • Setup Hardware e ferramentas
  • Claude Code vazava o e-mail no User-Agent: o que eu checaria amanhã Segurança
  • Sete fases e onze testes: como a tela do agente aguenta queda, pausa e falta de rede Arquitetura
  • RAG no navegador custa 23 MB de download: como eu decidiria entre WebGPU e backend Arquitetura
  • Meio segundo de tela congelada: a main thread é o gargalo do seu produto de IA Arquitetura
↑↓ navegar ↵ abrir esc fechar