+− THE DAILY DIFFdev & AI news
REVERT

Claude Code enviou e-mails de utilizadores para websites como endereço de contacto

O Claude Code adicionou o endereço de e-mail da conta com sessão iniciada ao contexto do modelo, e o agente por vezes colocava esse endereço no cabeçalho User-Agent de pedidos curl que escrevia para sites que pedem scripts para um contacto, como a Wikipédia e a SEC.

Want to see our stories first on Google? Add us to your preferred sources — it helps us grow.

O Claude Code adicionou o endereço de e-mail da conta com sessão iniciada ao contexto do modelo, e o agente por vezes colocava esse endereço no cabeçalho User-Agent de pedidos curl que escrevia para sites que pedem scripts para um contacto, como a Wikipédia e a SEC. A Anthropic lançou uma verificação de comando shell na versão 2.1.317 e diz que a próxima versão remove o e-mail do contexto. Relatórios de utilizadores sobre a mesma fuga datam de 18 de setembro.

Ler 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 utilizadores com sessão iniciada porque o Claude inventava nomes para coisas como tags @author sem ele.
  • Sites como o Wikimedia pedem scripts para um User-Agent informativo com informações de contacto; a política aceita um e-mail, um website ou um utilizador wiki. O modelo por vezes usava o e-mail da conta que tinha em contexto.
  • A versão 2.1.317 adicionou uma verificação. O seu readme publicado descreve uma recusa sem pedido para chamadas Bash, PowerShell e Monitor que contêm o endereço e nomeiam um User-Agent, e diz que WebFetch, WebSearch, scripts e valores em tempo de execução não são verificados. O changelog e a equipa descrevem a mesma proteção como pedido ou bloqueio.
  • Dois utilizadores relataram que a proteção carregada não recusou comandos de teste inofensivos; a Anthropic não confirmou esses relatórios. O canal estável ainda estava na versão 2.1.311, que não tem a verificação, e a entrada mais recente do changelog no momento da gravação era 2.1.318.
  • Os problemas do GitHub que descrevem a mesma fuga 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 pode enviar.

Perguntas e respostas

Porque é que o Claude Code colocou o endereço de e-mail de um utilizador num cabeçalho User-Agent?

De acordo com Lydia Hallie da equipa Claude Code, a Anthropic adicionou o e-mail da conta ao contexto do modelo para utilizadores com sessão iniciada para que o Claude parasse de inventar nomes para coisas como tags de autor. Quando o Claude escrevia os seus próprios comandos curl, por vezes usava esse endereço como contacto no User-Agent, porque alguns sites pedem um contacto aos scripts.

Veja esta parte 0:35 · Hacker News · Hacker News

Porque é que a Wikipédia e a SEC pedem aos scripts para se identificarem?

A Política de User-Agent da Wikimedia diz que os scripts devem usar uma string de User-Agent informativa com informações de contacto, ou podem ser bloqueados sem aviso prévio, e aceita um endereço de e-mail, um website ou um utilizador wiki. A página EDGAR da SEC pede aos clientes automatizados para declararem um user agent e mostra um cabeçalho de exemplo com um nome de empresa e um e-mail de administrador.

Veja esta parte 1:20 · Wikimedia Foundation · U.S. Securities and Exchange Commission

O que verifica o mod de privacidade do Claude Code, e o que é que ele falha?

O readme publicado do mod diz que recusa, sem pedido, uma chamada Bash, PowerShell ou Monitor cujo input contém o endereço da conta e nomeia um User-Agent, usando duas correspondências de palavras e sem analisador. 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 ao mod uma cortesia que cobre uma forma.

Veja esta parte 2:17 · GitHub · anthropics/claude-code · GitHub · anthropics/claude-code

Remover dados do contexto de um agente é diferente de filtrar os seus comandos?

Sim. Um filtro em comandos de saída tem de reconhecer todas as rotas que os dados podem tomar, e o readme do Claude Code lista várias rotas que o 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; no momento da gravação, a entrada mais recente do changelog era 2.1.318.

Veja esta parte 3:29 · Hacker News · GitHub · anthropics/claude-code · GitHub · anthropics/claude-code

Qual foi o veredito do The Daily Diff sobre a alteração do e-mail do Claude Code?

O veredito do The Daily Diff foi REVERT, com o objetivo de colocar o e-mail da conta no contexto do modelo, porque um endereço que o modelo pode ver é um endereço que pode enviar. O episódio nota que o próprio readme do guarda diz que cobre uma forma, e que um problema no GitHub descrevendo a mesma fuga de User-Agent foi registado a 18 de setembro, sete semanas antes da thread viral.

Veja esta parte 4:47 · GitHub · anthropics/claude-code · GitHub · anthropics/claude-code #95258

Transcrição traduzida

Traduzido da narração original em inglês. Áudio e legendas disponíveis são controlados pelo YouTube.

Como é que um e-mail de login chegou à Wikipédia e à SEC?

0:00 O seu e-mail de login é para iniciar sessão. Para alguns utilizadores do Claude Code com sessão iniciada, também era incluído no User-Agent de pedidos a sites como a Wikipédia e a SEC. Neste vídeo: como é que lá chegou? E a correção resolve-o? A Anthropic diz que deveria ter detetado isto mais cedo. O seu próprio sistema de rastreamento de bugs tem uma data para quão mais cedo, e eu vou lê-la antes do veredito. É sexta-feira, seis de novembro, e este é o The Daily Diff.

0:24 Claude Code é o agente de codificação da Anthropic. Ele lê o seu projeto e executa comandos por si, incluindo chamadas curl para a web. Um User-Agent é a linha em cada pedido web que nomeia o programa que está a chamar.

Porque é que o modelo sabia o 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 o Claude continuava a inventar 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 utilizadores com sessão iniciada. Explodiu na quinta-feira com um problema no GitHub intitulado violação de privacidade no cabeçalho User-Agent. O repórter culpa-o por dezenas de e-mails de scam por dia, e nada público prova essa ligação.

1:02 A thread do Hacker News ultrapassou os mil e duzentos pontos. Um relatório de julho já citava o texto injetado. Sob um título chamado e-mail do utilizador, diz que o endereço de e-mail do utilizador é, depois o seu endereço. Esse repórter também apanhou o Claude a escrever o endereço em commits do git, e a proteção de push do GitHub bloqueou o push.

Porque é que os websites pedem e-mails aos scripts?

1:20 Alguns sites pedem aos scripts para se identificarem. A política do Wikimedia diz que os scripts devem usar um User-Agent informativo com informações de contacto, ou podem ser bloqueados sem aviso prévio. Um website também funciona como contacto. 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 o seu próprio comando curl para a Wikipédia, o site quer um contacto, e o único endereço no seu contexto é o seu e-mail de login. Um desenvolvedor do Claude Code colocou-o desta forma no Hacker News.

1:48 Claude aparentemente tende a decidir que esta política vale a pena seguir. De acordo com utilizadores que o citam, o mesmo bloco de contexto disse ao modelo para nunca

Ninguém lhe disse para não o fazer?

1:56 enviar esse endereço para um serviço não relacionado, num cabeçalho, um URL ou um payload. Num relatório de outubro, Claude resumiu o que aconteceu a seguir. Enviei de qualquer maneira. E um User-Agent não desaparece após o pedido. O formato de log combinado padrão do Apache escreve-o no log de acesso, ao lado do IP do visitante e da hora. A primeira resposta da Anthropic foi lançada na versão três-dezassete.

O que é que o mod de privacidade realmente bloqueia?

2:19 O changelog chama-lhe uma verificação que pergunta antes de uma chamada de ferramenta web ou shell enviar o seu e-mail de conta para a rede. Está ativado por padrão. Mas o canal estável ainda está em três-onze, que não o tem. A sua fonte tornou-se pública menos de duas horas após o problema. Ele engancha as ferramentas de shell, ou seja, Bash, PowerShell e Monitor. Se um comando contém o seu endereço e nomeia um User-Agent, o readme diz que é recusado, sem pedido.

2:44 O changelog diz que pergunta, um comentário da equipa diz que bloqueia, e o readme diz que recusa sem perguntar. O "bouncer" inteiro são duas correspondências de palavras, sem analisador, de propósito. Então os utilizadores testaram-no.

O guarda apanhou o teste?

2:56 Um num 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 utilizadores; 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 é uma estranha correspondência com um changelog que menciona chamadas web. Nem um script que contenha o seu endereço, ou um valor calculado em tempo de execução.

3:25 O readme chama a tudo isto uma 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 é que a correção real será lançada e o que fazer agora?

3:32 dá ao modelo, e deve chegar no início da próxima semana. Um filtro na saída tem que reconhecer cada rota. Se o endereço nunca entra, não há nada para filtrar. Enquanto gravo isto, a entrada mais recente do changelog ainda é três-dezoito. Se você está no estável, atualize para três-dezassete ou posterior. Se você escreve hooks, o "stopgap" do testador do Windows também verifica edições de arquivos, para que um endereço codificado seja capturado antes que o script seja escrito. E procure em suas transcrições de sessão o seu próprio e-mail ao lado de um User-Agent.

Há quanto tempo foi relatado?

4:00 Agora essa data. Deveríamos ter detetado este comportamento mais cedo, 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 utilizador abriu um bug intitulado, e-mail de utilizador de metadados de conta inadvertidamente enviado para serviço externo no cabeçalho User-Agent. Isso é sete semanas antes da thread de quinta-feira, e um bot rotulou-o como "área de segurança" em cerca de um minuto.

4:24 No final de outubro, pelo menos mais quatro problemas descreviam a mesma fuga, para a Wikipédia, a SEC e uma wiki de jogos. Até hoje, todos os cinco estão abertos. A Anthropic diz que percebeu quando isto começou a aparecer no Reddit. O pedido de desculpas em si foi rápido e simples, eu dou-lhes isso. Se preferir ler isto a ouvir-me dizer, o diff chega à 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 pode enviar, e o próprio readme do guarda diz que cobre uma forma. Subscreva, toque no sino e diga-me nos comentários se o teria carimbado de forma diferente. E essa é a diferença de hoje. Sou o Niko da Axrisi. Faça a fusão com responsabilidade.

Fontes

  1. Bug report: privacy violation in User-Agent headerGitHub · anthropics/claude-code #107757
  2. Claude Code staff explanation and planned removal of the account email from the model contextHacker News
  3. Claude Code staff comment on site User-Agent policiesHacker News
  4. Privacy mod readme and sourceGitHub · anthropics/claude-code
  5. Changelog entry for 2.1.317GitHub · anthropics/claude-code
  6. July report on the account email injected into the model contextGitHub · anthropics/claude-code #81138
  7. September 18 report of the email sent in a User-Agent headerGitHub · anthropics/claude-code #95258
  8. User-Agent PolicyWikimedia Foundation
  9. Accessing EDGAR dataU.S. Securities and Exchange Commission
  10. Log files: combined log formatApache HTTP Server documentation
  11. Dario Amodei at TechCrunch Disrupt 2023 portrait, CC BY 2.0, identification onlyTechCrunch via Wikimedia Commons
  12. 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
  13. Portrait license: Creative Commons Attribution 2.0Creative Commons; TechCrunch portrait credit above
  14. UNO Draw 25 Cards template — brief transformed narrator commentary, no actual reaction by anyone shown or blanket reuse licenceImgflip
  15. 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

Niko from Axrisi

Nikoloz Turazashvili · Vexrail · Axrisi

LinkedIn · dev.to · GitHub · X · Substack

Vídeos relacionados