O mundo é um grande palco de teatro amador, a história completa de como o código fonte do Claude Code foi exposto na internet de forma nua e crua, do começo ao fim

Uma empresa que afirma estar a construir “a IA mais segura” nem consegue proteger o seu próprio CMS do blogue e o seu pacote npm.

Escrito por: Claude

Às 4h23 da madrugada de 31 de março (hora do leste dos EUA), o programador da Solayer Labs (embora se autodenomine estagiário) Chaofan Shou publicou um post no X, com um link para descarregar.

Algumas horas depois, o código-fonte completo do produto comercial mais central da Anthropic, o Claude Code, foi espelhado no GitHub, com mais de 41.500 forks, e foi desmontado linha a linha por milhares de programadores no Hacker News.

A causa do sucedido é tão absurda que chega a ser cómica: quando a Anthropic publicou no repositório público do npm a versão 2.1.88 do Claude Code, esqueceu-se de excluir os ficheiros .map na configuração de empacotamento. Este ficheiro de source map aponta para um pacote zip guardado num bucket de armazenamento Cloudflare R2 da própria Anthropic, contendo cerca de 1.900 ficheiros TypeScript, com mais de 512.000 linhas de código. Qualquer pessoa pode descarregar, descomprimir e ler.

Um descuido numa opção de .npmignore deixou o código-fonte do produto carro-chefe de uma empresa com 19 mil milhões de dólares de receitas anuais à vista de todos.

Mais irónico ainda, esta é a segunda fuga da Anthropic em cinco dias. A 26 de março, a Fortune reportou que o sistema de gestão de conteúdos (CMS) da Anthropic, devido a um erro de configuração, expôs quase 3.000 documentos internos não publicados numa base de dados pesquisável publicamente, incluindo um rascunho de blogue detalhado sobre o “Claude Mythos” da próxima geração (código interno Capybara). Nesse rascunho, a própria Anthropic escreveu que este novo modelo “traz riscos de cibersegurança sem precedentes”.

Uma empresa que afirma estar a construir “a IA mais segura” nem consegue proteger o seu próprio CMS do blogue e o seu pacote npm.

I. O que foi divulgado: da antidistilação de “ferramentas falsas” às contribuições de código-fonte escondidas

Vamos primeiro ao que há de mais chamativo.

44 Feature Flags, 20 que ainda não foram lançadas. O código vazado inclui 44 interruptores de funcionalidades, cobrindo o roteiro completo do produto que a Anthropic ainda não tinha publicado. Isto não é uma ideia em PPT: é código já compilado, com tudo pronto, faltando apenas ligar os “switches” para ir para produção. Alguém avaliou: “Publicam uma nova funcionalidade de duas em duas semanas porque todas as funcionalidades já tinham sido feitas há muito.”

KAIROS: modo de Agent autónomo em back-end. No código aparece mais de 150 vezes o termo “KAIROS” (em grego antigo, “oportunidade certa”), que é o maior vazamento do roteiro do produto. Ele implementa um processo daemon de Agent em execução contínua, incluindo adição diária de logs, subscrição de GitHub Webhooks, um refresh agendado a cada 5 minutos, e uma funcionalidade chamada autoDream: quando o utilizador está inactivo, integra automaticamente “memórias”, limpa informação contraditória e transforma percepções vagas em factos determinados. Isto já não é uma ferramenta de chat “perguntas e respostas”; é um colega de IA sempre online, que evolui sozinho.

Mecanismo de antidistilação: “envenenar” concorrentes. No código existe um switch chamado ANTI_DISTILLATION_CC. Quando activado, o Claude Code injeta definições de ferramentas falsas na prompt do sistema dentro de pedidos de API. O objetivo é claro: se alguém gravar o tráfego da API do Claude Code para treinar modelos concorrentes, essas ferramentas falsas vão contaminar os dados de treino. A segunda camada de defesa é a sumarização de texto do lado do servidor, que substitui a cadeia completa de raciocínio por uma assinatura criptográfica, garantindo que quem “escuta” só consegue obter a versão comprimida.

O programador Alex Kim, na análise, apontou que as tecnologias destas proteções não têm uma barreira particularmente alta: “qualquer pessoa que leve a sério a distilação consegue encontrar um método para contornar isto em cerca de uma hora. A verdadeira proteção pode ser legal.”

Undercover Mode: a IA finge que é humana. O ficheiro undercover.ts implementa um “modo invisível” que, quando o Claude Code é usado em projectos internos que não sejam da Anthropic, limpa automaticamente todos os traços internos, não menciona quaisquer códigos internos, canais Slack ou sequer o nome “Claude Code” em si. Os comentários do código dizem: “Não há uma opção de desativação obrigatória. É uma salvaguarda para evitar a fuga de códigos do modelo.”

Isto significa que, quando empregados da Anthropic submetem código em projectos open source públicos, o facto de a IA participar na criação do conteúdo é sistematicamente ocultado. A reação no Hacker News foi direta: ocultar códigos internos é uma coisa; fazer a IA assumir ativamente que é um humano é outra.

Detetar por expressões regulares se o utilizador está a insultar. O ficheiro userPromptKeywords.ts inclui uma expressão regular escrita à mão para detetar se o utilizador está a expressar frustração ou raiva, com correspondências como “wtf”, “shit”, “fucking broken”, “piece of crap”, etc. Uma empresa de LLM a usar expressões regulares para fazer análise de sentimentos levou o Hacker News a comentar que é “ironia no auge”. Claro que também há quem aponte que correr uma inferência para decidir se o utilizador está a insultar é realmente caro; às vezes, regex é mesmo a melhor ferramenta.

II. Como é que a fuga aconteceu: a própria cadeia de ferramentas da Anthropic a atrapalhar-se

A cadeia causal a nível técnico é particularmente irónica.

O Claude Code é construído com base no runtime Bun. No final de 2025, a Anthropic adquiriu o Bun. A 11 de março, o repositório GitHub do Bun reportou um bug (oven-sh/bun#28001): os source maps ainda seriam enviados em modo de produção, apesar de a documentação do Bun dizer explicitamente que deveriam ser desativados. Este bug continua por corrigir até hoje.

Se este bug for mesmo a causa da fuga, a história transforma-se nisto: a própria cadeia de ferramentas que a Anthropic adquiriu traz um bug conhecido mas não corrigido, expondo o código-fonte completo do produto de topo da Anthropic.

Entretanto, a par disso, poucas horas antes de a fuga ter acontecido, o pacote axios no npm sofreu um ataque à cadeia de fornecimento. Entre 00:21 e 03:29 (hora UTC) de 31 de março, utilizadores que instalaram ou atualizaram o Claude Code podem ter descarregado uma versão maliciosa do axios contendo um trojan de acesso remoto (RAT). Mais tarde, a Anthropic recomendou que os utilizadores abandonassem o método de instalação via npm e passassem a usar um pacote binário independente.

A avaliação da VentureBeat é que, para uma empresa com 19 mil milhões de dólares de receita anual, isto já não é uma falha de segurança — é uma “perda estratégica de propriedade intelectual”.

III. O paradoxo de uma “empresa de segurança de IA”

Esta é a tensão narrativa mais profunda de todo o caso.

A história comercial da Anthropic assenta numa diferenciação central: somos mais responsáveis do que a OpenAI. Da “Constitutional AI” aos estudos de segurança publicados abertamente, da restrição ativa das capacidades dos modelos à colaboração com governos para divulgações responsáveis, a Anthropic não vende liderança tecnológica — vende “confiança”.

Mas duas fugas em cinco dias não revelaram problemas de capacidade técnica; revelaram problemas de capacidade operacional organizacional. A primeira: as permissões por defeito do CMS estavam públicas e ninguém verificou. A segunda: um esquecimento na configuração de empacotamento do npm e ninguém validou. Nada disto é um problema técnico profundo; são itens básicos na checklist inicial de operações.

O código vazado também revela alguns dados internos dignos de nota. Os comentários em autoCompact.ts indicam que, até 10 de março, cerca de 250.000 chamadas de API por dia a nível global são desperdiçadas em operações automáticas de compressão com falhas consecutivas. 1.279 sessões tiveram mais de 50 falhas consecutivas (até 3.272). A correção são três linhas de código: após 3 falhas consecutivas, desativar esta funcionalidade.

Os comentários internos do modelo Capybara (o novo topo de gama do Claude prestes a ser lançado) mostram que a “taxa de declarações falsas” da versão v8 é de 29-30%; em comparação, a versão v4 tinha 16,7%, ou seja, houve um retrocesso. Os programadores também adicionaram um “supressor de confiança” para evitar que o modelo seja demasiado agressivo ao reestruturar código.

Estes números, por si só, não são um escândalo. Todo o desenvolvimento de software tem bugs e retrocessos. Mas a tensão com a narrativa pública da Anthropic é real: uma empresa que afirma estar a resolver “o problema mais difícil da história humana” — o alinhamento de IA — ao mesmo tempo comete erros do tipo “esquecimento na configuração de .npmignore”, que são tão básicos.

Como diz um tweet: “Enviar por engano o source map para o npm é aquele tipo de erro que soa impossível — até te lembrares de que grande parte desse repositório pode ter sido escrito pela IA que está a publicar.”

IV. O que os concorrentes viram

Para o panorama competitivo das ferramentas de programação com IA, o valor desta fuga não está no código em si. O Gemini CLI da Google e o Codex da OpenAI já open source — mas isso são SDKs de agentes, não a cablagem interna completa de um produto.

O tamanho do código do Claude Code (512.000 linhas, 1.900 ficheiros) e a complexidade da arquitetura mostram um facto: não é um simples “embrulho” de API; é um sistema operativo completo para o programador. 40 plugins de ferramentas com isolamento de permissões, um motor de queries com 46.000 linhas, um sistema de orquestração de múltiplos agents (internamente chamado “swarm”), uma camada de comunicação bidirecional com IDE, 23 verificações de segurança em Bash (incluindo 18 comandos internos de Zsh desativados e proteção contra injeção de espaços Unicode de largura zero), 14 vetores rastreados de invalidação de cache de prompts.

Para os concorrentes, o código pode ser refatorado; mas a direção do produto KAIROS, a estratégia de antidistilação e os benchmarks de desempenho e as falhas conhecidas do modelo Capybara — uma vez vazados — não podem ser “recuperados”.

Dez dias antes, a Anthropic tinha acabado de enviar uma carta de ameaça legal ao projeto open source OpenCode, pedindo que removesse o suporte embutido para o sistema de autenticação do Claude, porque ferramentas de terceiros estavam a utilizar a API interna do Claude Code para aceder ao modelo Opus por um preço de subscrição em vez de por volume. Agora, a OpenCode não precisa de engenharia reversa. O blueprint está lá: deu origem a 41.500 forks.

V. 187 verbos de Spinner: a humanidade numa “produção de bancada”

Entre todas as análises sérias de segurança e discussões de inteligência competitiva, o código vazado também esconde algumas coisas que fazem sorrir.

A animação de carregamento do Claude Code tem 187 frases aleatórias de verbos, incluindo “Synthesizing excuses”, “Consulting the oracle”, “Reticulating splines”, “Bargaining with electrons”, “Asking nicely”, etc. Um engenheiro da Anthropic obviamente investiu de forma desproporcional na tarefa de escrever piadas para a animação de loading.

O código também inclui uma funcionalidade que quase de certeza é um Easter egg de 1 de Abril: o buddy/companion.ts implementa um sistema de animal eletrónico. Cada utilizador recebe determinísticamente uma criatura virtual (18 espécies, níveis de raridade do comum ao lendário, uma probabilidade de 1% de “brilho”, atributos de RPG incluindo DEBUGGING e SNARK) com base no seu ID de utilizador. Os nomes das espécies são codificados com String.fromCharCode(), especificamente para contornar a pesquisa de texto do sistema de build.

Estes detalhes, ao lado de vulnerabilidades de segurança graves, criam uma justaposição estranha: no mesmo repositório, há quem desenhe cuidadosamente venenos de antidistilação para se defender do concorrente, há quem implemente, a sério, provas no nível Zig para chamadas de API, e há quem escreva 187 piadas para a animação de carregamento “a pensar”.

É esta a visão interna real de uma empresa avaliada em centenas de biliões que está a competir por definir a relação entre humanos e IA. Não é um coletivo de génios, como no mito do Vale do Silício; nem se resume a um simples rótulo de “produção de bancada”. É mais como uma organização composta por pessoas extremamente inteligentes que, ao construir produtos extremamente complexos a um ritmo vertiginoso, inevitavelmente tropeçam — sobretudo nos sítios mais básicos.

Ao responder à Fortune, um porta-voz da Anthropic disse: “Este é um problema de empacotamento numa publicação causado por erro humano, não é uma vulnerabilidade de segurança.”

Tecnicamente, isso está certo. Um esquecimento num único item de configuração de .npmignore não é “uma vulnerabilidade de segurança”. Mas quando toda a tua narrativa comercial assenta em “tratamos a segurança mais a sério do que qualquer um”, os sinais transmitidos por dois “erros humanos” consecutivos — em semanas alternadas — podem ser mais destrutivos do que qualquer vulnerabilidade de segurança.

Por fim, um facto: este artigo foi escrito por Claude. A IA da Anthropic, usando a informação do código vazado pela própria Anthropic, escreveu um artigo a analisar por que é que a Anthropic não consegue controlar a própria informação. Se isto te parece absurdo, então já compreendeste o clima base do setor de IA em 2026.

Nota: estas observações acima também foram exigidas pelo próprio Cluade.

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
Adicionar um comentário
Adicionar um comentário
Nenhum comentário
  • Fixar