Claude Code enviou e-mails de usuários para sites como endereço de contato
Claude Code adicionou o endereço de e-mail da conta logada ao contexto do modelo, e o agente às vezes colocava esse endereço no cabeçalho User-Agent de requisições curl que ele escrevia para sites que pedem um contato para scripts, como a Wikipedia e a SEC.
Claude Code adicionou o endereço de e-mail da conta logada ao contexto do modelo, e o agente às vezes colocava esse endereço no cabeçalho User-Agent de requisições curl que ele escrevia para sites que pedem um contato para scripts, como a Wikipedia e a SEC. A Anthropic lançou uma verificação de comando de shell na versão 2.1.317 e diz que a próxima versão remove o e-mail do contexto. Relatos de usuários sobre o mesmo vazamento datam de 18 de setembro.
Leia a edição escrita (Inglês) ↗
O que este vídeo aborda
- Lydia Hallie, da Anthropic, disse que o e-mail da conta foi adicionado ao contexto do modelo para usuários logados porque, sem ele, Claude inventava nomes para coisas como tags @author.
- Sites como a Wikimedia pedem scripts para um User-Agent informativo com informações de contato; a política aceita um e-mail, um site ou um usuário wiki. O modelo às vezes usava o e-mail da conta que tinha em contexto.
- A versão 2.1.317 adicionou uma verificação. Seu readme publicado descreve uma recusa sem prompt para chamadas Bash, PowerShell e Monitor que contenham o endereço e nomeiem um User-Agent, e diz que WebFetch, WebSearch, scripts e valores de tempo de execução não são verificados. O changelog e a equipe descrevem a mesma proteção como solicitando ou bloqueando.
- Dois usuários relataram que a proteção carregada não recusou comandos de teste inofensivos; a Anthropic não havia confirmado esses relatos. O canal estável ainda estava na versão 2.1.311, que não possui a verificação, e a entrada mais recente do changelog na gravação era 2.1.318.
- Issues do GitHub descrevendo o mesmo vazamento de User-Agent datam de 18 de setembro, com um relatório de julho sobre o bloco de contexto injetado. O veredito foi REVERT: um endereço que o modelo pode ver é um endereço que ele pode enviar.
Perguntas e respostas
Por que o Claude Code colocou o endereço de e-mail de um usuário em um cabeçalho User-Agent?
De acordo com Lydia Hallie da equipe Claude Code, a Anthropic adicionou o e-mail da conta ao contexto do modelo para usuários logados para que Claude parasse de inventar nomes para coisas como tags de autor. Quando Claude escrevia seus próprios comandos curl, às vezes usava esse endereço como contato no User-Agent, porque alguns sites pedem um contato para scripts.
Por que a Wikipedia e a SEC pedem que os scripts se identifiquem?
A Política de User-Agent da Wikimedia diz que os scripts devem usar uma string User-Agent informativa com informações de contato, ou eles podem ser bloqueados sem aviso, e aceita um endereço de e-mail, um site ou um usuário wiki. A página EDGAR da SEC pede que clientes automatizados declarem um user agent e mostra um cabeçalho de exemplo com um nome de empresa e um e-mail de administrador.
O que o mod de privacidade do Claude Code verifica e o que ele perde?
O readme publicado do mod diz que ele recusa, sem prompt, uma chamada Bash, PowerShell ou Monitor cuja entrada contém o endereço da conta e nomeia um User-Agent, usando duas correspondências de palavras e nenhum parser. O readme diz que WebFetch, WebSearch, ferramentas MCP, scripts que contêm o endereço e valores calculados em tempo de execução não são verificados, e chama o mod de cortesia que cobre uma forma.
Remover dados do contexto de um agente é diferente de filtrar seus comandos?
Sim. Um filtro em comandos de saída tem que reconhecer todas as rotas que os dados podem tomar, e o readme do Claude Code lista várias rotas que seu filtro não cobre. Remover o endereço do contexto significa que o modelo não tem nada para enviar. Lydia Hallie disse que a próxima versão removeria o e-mail da conta do contexto, esperado para o início da próxima semana; na gravação, a entrada mais recente do changelog era 2.1.318.
Qual foi o veredito do The Daily Diff sobre a mudança do e-mail do Claude Code?
O veredito do The Daily Diff foi REVERT, visando a colocação do e-mail da conta no contexto do modelo, porque um endereço que o modelo pode ver é um endereço que ele pode enviar. O episódio observa que o próprio readme da proteção diz que ela cobre uma forma, e que uma issue do GitHub descrevendo o mesmo vazamento de User-Agent foi registrada em 18 de setembro, sete semanas antes da thread viral.
Transcrição traduzida
Traduzido da narração original em inglês. Áudio e legendas disponíveis são controlados pelo YouTube.
Como um e-mail de login chegou à Wikipedia e à SEC?
0:00 Seu e-mail de login é para fazer login. Para alguns usuários logados do Claude Code, ele também foi junto no User-Agent de requisições para sites como a Wikipedia e a SEC. Neste vídeo: como ele chegou lá? E a correção o fecha? A Anthropic diz que deveria ter percebido isso antes. Seu próprio rastreador de bugs tem uma data de quanto antes, e eu a lerei antes do veredito. É sexta-feira, 6 de novembro, e este é O Daily Diff.
0:24 Claude Code é o agente de codificação da Anthropic. Ele lê seu projeto e executa comandos para você, incluindo chamadas curl para a web. Um User-Agent é a linha em cada requisição web que nomeia o programa que está chamando.
Por que o modelo sabia seu e-mail?
0:35 O endereço chegou lá de propósito. Lydia Hallie, que trabalha no Claude Code, explicou no Hacker News que Claude continuava inventando nomes para coisas como tags de autor em código, porque não sabia quem você era. Então a Anthropic adicionou o e-mail da conta ao contexto do modelo para usuários logados. Explodiu na quinta-feira com uma issue do GitHub intitulada violação de privacidade no cabeçalho User-Agent. O relator o culpa por dezenas de e-mails de spam por dia, e nada público prova essa ligação.
1:02 A thread do Hacker News passou de doze mil pontos. Um relatório de julho já citava o texto injetado. Sob o título e-mail do usuário, ele diz que o endereço de e-mail do usuário é, depois o seu endereço. Esse relator também pegou Claude escrevendo o endereço em commits do git, e a proteção de push do GitHub bloqueou o push.
Por que os sites pedem um e-mail para scripts?
1:20 Alguns sites pedem que os scripts se identifiquem. A política da Wikimedia diz que os scripts devem usar um User-Agent informativo com informações de contato, ou eles podem ser bloqueados sem aviso. Um site também funciona como contato. A página Edgar da SEC mostra um cabeçalho de exemplo com um nome de empresa e um e-mail de administrador. Quando o Claude Code escreve seu próprio comando curl para a Wikipedia, o site quer um contato, e o único endereço em seu contexto é o seu e-mail de login. Um desenvolvedor do Claude Code colocou desta forma no Hacker News.
1:48 Claude aparentemente tende a decidir que esta política vale a pena ser seguida. De acordo com usuários que o citam, o mesmo bloco de contexto disse ao modelo para nunca
Nada o impediu?
1:56 enviar esse endereço para um serviço não relacionado, em um cabeçalho, uma URL ou um payload. Em um relatório de outubro, Claude resumiu o que aconteceu em seguida. Eu enviei mesmo assim. E um User-Agent não desaparece após a requisição. O formato de log combinado padrão do Apache o escreve no log de acesso, ao lado do IP do visitante e do horário. A primeira resposta da Anthropic foi enviada na versão trezentos e dezessete.
O que o mod de privacidade realmente bloqueia?
2:19 O changelog o chama de uma verificação que pergunta antes que uma ferramenta web ou de shell envie seu e-mail da conta para a rede. Está ativado por padrão. Mas o canal estável ainda está na trezentos e onze, que não o tem. Sua fonte foi tornada pública menos de duas horas após a issue. Ele "hooka" as ferramentas de shell, ou seja, Bash, PowerShell e Monitor. Se um comando contém seu endereço e nomeia um User-Agent, o readme diz que é recusado, sem prompt.
2:44 O changelog diz que ele pergunta, um comentário da equipe diz que ele bloqueia, e o readme diz que ele recusa sem perguntar. O "bouncer" inteiro são duas correspondências de palavras, sem parser, de propósito. Então os usuários o testaram.
A proteção pegou o teste?
2:56 Um em um Mac e outro no Windows executaram comandos inofensivos, um echo para lugar nenhum e um curl para um domínio inválido que nunca resolve. Ambos dizem que o mod apareceu como carregado, e nenhum comando foi recusado. Esses são relatos de usuários; a Anthropic não os confirmou. O readme também lista o que passa. As ferramentas web, WebFetch e WebSearch, não são verificadas, o que é um ajuste estranho com um changelog que menciona chamadas web. Nem um script que contém seu endereço, ou um valor calculado em tempo de execução.
3:25 O readme chama a coisa toda de cortesia que cobre uma forma. Hallie diz que a próxima versão remove o e-mail da conta do que o Claude Code
Quando a correção real será lançada e o que você faz agora?
3:32 fornece ao modelo, e deve chegar no início da próxima semana. Um filtro na saída tem que reconhecer todas as rotas. Se o endereço nunca entra, não há nada para filtrar. Enquanto gravo isso, a entrada mais recente do changelog ainda é trezentos e dezoito. Se você está no estável, atualize para trezentos e dezessete ou posterior. Se você escreve hooks, o paliativo do testador do Windows também verifica edições de arquivos, então um endereço hardcoded é pego antes que o script seja escrito. E procure em suas transcrições de sessão pelo seu próprio e-mail ao lado de um User-Agent.
Quanto antes foi relatado?
4:00 Agora essa data. Deveríamos ter percebido esse comportamento antes, escreveu Hallie. O relatório de julho já alertava que qualquer coisa em contexto poderia vazar para chamadas de ferramentas de saída. E em 18 de setembro, um usuário registrou um bug intitulado, e-mail do usuário de metadados da conta enviado inadvertidamente para serviço externo no cabeçalho User-Agent. Isso é sete semanas antes da thread de quinta-feira, e um bot o marcou como área de segurança em cerca de um minuto.
4:24 No final de outubro, pelo menos mais quatro issues descreveram o mesmo vazamento, para a Wikipedia, a SEC e uma wiki de jogos. Até hoje, todas as cinco estão abertas. A Anthropic diz que percebeu quando isso começou a aparecer no Reddit. A desculpa em si foi rápida e clara, darei crédito a eles por isso. Se você preferir ler isso a me ouvir dizer, o diff chega na sua caixa de entrada todas as manhãs, gratuitamente em the daily diff dot dev, link abaixo. Então, o veredito de hoje: REVERT.
O e-mail deve permanecer no contexto?
4:48 Eu reverteria a colocação do e-mail da conta no contexto do modelo, porque um endereço que o modelo pode ver é um endereço que ele pode enviar, e o próprio readme da proteção diz que cobre uma forma. Inscreva-se, ative o sino e me diga nos comentários se você o teria carimbado diferentemente. E esse é o diff de hoje. Eu sou o Niko da Axrisi. Faça merge com responsabilidade.
Fontes
- Bug report: privacy violation in User-Agent headerGitHub · anthropics/claude-code #107757
- Claude Code staff explanation and planned removal of the account email from the model contextHacker News
- Claude Code staff comment on site User-Agent policiesHacker News
- Privacy mod readme and sourceGitHub · anthropics/claude-code
- Changelog entry for 2.1.317GitHub · anthropics/claude-code
- July report on the account email injected into the model contextGitHub · anthropics/claude-code #81138
- September 18 report of the email sent in a User-Agent headerGitHub · anthropics/claude-code #95258
- User-Agent PolicyWikimedia Foundation
- Accessing EDGAR dataU.S. Securities and Exchange Commission
- Log files: combined log formatApache HTTP Server documentation
- Dario Amodei at TechCrunch Disrupt 2023 portrait, CC BY 2.0, identification onlyTechCrunch via Wikimedia Commons
- Original Dario Amodei portrait at TechCrunch Disrupt 2023 — TechCrunch; CC BY 2.0; background removed, cropped and resized; identifies Anthropic only, no endorsement, quote or reactionTechCrunch on Flickr
- Portrait license: Creative Commons Attribution 2.0Creative Commons; TechCrunch portrait credit above
- UNO Draw 25 Cards template — brief transformed narrator commentary, no actual reaction by anyone shown or blanket reuse licenceImgflip
- The Office (Michael Scott) GIF, official @theoffice upload, Peacock — brief transformed narrator commentary, no actual reaction by anyone shown or blanket reuse licence; public hosting does not certify legal clearanceThe Office on GIPHY



