---
title: "Claude Code vazava o e-mail no User-Agent: o que eu checaria amanhã"
slug: claude-code-email-no-user-agent
date: 2026-11-06
category: "Segurança"
tags: ["ia", "agentes", "claude-code", "seguranca", "techlead"]
readTime: "2 min"
excerpt: "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."
url: https://eliseu.dev/blog/claude-code-email-no-user-agent
---

## 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

- [Claude Code sends your email address to websites](https://github.com/anthropics/claude-code/issues/107757), issue #107757, GitHub, 5 de novembro de 2026
- [Discussão no Hacker News](https://news.ycombinator.com/item?id=50385272), incluindo a resposta de Lydia Hallie, 6 de novembro de 2026
- [Changelog do Claude Code 2.1.317](https://code.claude.com/docs/en/changelog#2-1-317), Anthropic, 3 de novembro de 2026