TL;DR
A Anthropic acidentalmente incluiu um arquivo .map no pacote npm do Claude Code, expondo o código-fonte completo e legível de sua ferramenta CLI. O vazamento revela mecanismos anti-distilação com injeção de ferramentas falsas, um motor de regex para detecção de frustração, um “modo secreto” que oculta a autoria de IA em commits de código aberto e um modo de agente autônomo não lançado chamado KAIROS. Veja como essas descobertas afetam desenvolvedores de API e o que você pode aprender para proteger seu workflow.
Introdução
Em 31 de março de 2026, o pesquisador de segurança Chaofan Shou descobriu que a Anthropic havia incluído um arquivo de mapa de origem (.map) junto com o pacote npm do Claude Code. Mapas de origem mapeiam o código minificado de produção para o código-fonte original e legível, devendo ser removidos antes da publicação.
Neste caso, o arquivo não foi removido, tornando o código-fonte completo, incluindo comentários e detalhes internos, acessível para qualquer pessoa que baixasse o pacote.
A notícia rapidamente ganhou destaque no Hacker News (1.888 pontos, 926 comentários) e se espalhou por Reddit, Twitter e fóruns de desenvolvedores. A Anthropic removeu o pacote, mas o código já havia sido espelhado e examinado.
💡 Quer você use Claude Code, Cursor, GitHub Copilot ou a plataforma de desenvolvimento de API Apidog, esse vazamento fornece uma rara visão técnica sobre como as ferramentas de IA realmente funcionam. Entender esses detalhes internos permite decisões mais informadas sobre confiança e uso em sua base de código.
Este artigo apresenta as principais descobertas técnicas e como implementá-las ou mitigá-las no seu workflow de API.
Como o código-fonte vazou
A causa raiz: bug na ferramenta de build Bun
O Claude Code utiliza o Bun como runtime JavaScript. Em 11 de março de 2026, foi reportado um bug (oven-sh/bun#28001) indicando que mapas de origem eram servidos em produção, contrariando a documentação oficial.
O pipeline de build da Anthropic acabou acionando esse bug. Ao publicar o pacote npm, o arquivo .map foi incluído. Qualquer desenvolvedor que rodasse npm pack @anthropic-ai/claude-code teria acesso ao código-fonte original.
Este caso demonstra como uma falha na cadeia de ferramentas pode expor ativos críticos de software.
O que foi exposto
O vazamento abrangeu:
- Código-fonte TypeScript completo
- Comentários internos sobre decisões de design
- Flags e configurações experimentais
- Templates de prompt do sistema e mecanismos de segurança
- Codinomes internos de features não lançadas
- Detalhes de otimização de desempenho
Ou seja, foram expostos todos os detalhes de engenharia, não apenas trechos isolados.
Anti-distilação: protegendo contra roubo de modelo
Injeção de ferramentas falsas
No arquivo claude.ts (linhas 301-313), quando a flag ANTI_DISTILLATION_CC está ativa, o sistema inclui anti_distillation: ['fake_tools'] nas requisições de API. Isso faz com que o servidor injete ferramentas falsas no prompt do sistema. O objetivo é que quem tentar capturar tráfego para replicar o comportamento do Claude acabe extraindo informações falsas, inserindo dados envenenados em modelos treinados com esses logs.
Exemplo prático:
if (process.env.ANTI_DISTILLATION_CC) {
requestBody.anti_distillation = ['fake_tools'];
}
Assim, ferramentas falsas são incluídas automaticamente em cada requisição.
Sumarização de texto do conector
Outro mecanismo em betas.ts (linhas 279-298) armazena e resume o texto do assistente entre chamadas de ferramentas, retornando apenas o resumo junto com uma assinatura criptográfica. Isso dificulta a engenharia reversa do raciocínio do Claude a partir de logs interceptados.
Como contornar?
Caminhos de bypass identificados:
- Um proxy pode remover o campo
anti_distillationantes de chegar ao servidor - Definir a variável
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETASdesativa anti-distilação - Proteções só funcionam contra captura passiva de tráfego, não contra uso ativo da API
Ou seja, são medidas para elevar o custo do ataque, não barreiras intransponíveis.
Modo Secreto: ocultando autoria de IA
O que faz
O arquivo undercover.ts ativa um sistema de mascaramento em repositórios não Anthropic, impedindo que:
- Apareçam codinomes como “Capybara” ou “Tengu”
- Haja menção a canais internos ou repositórios do Slack
- O texto “Claude Code” surja nos resultados
Comentário do código:
“NÃO há desativação forçada. Isso protege contra vazamentos de codinomes de modelos.”
Impacto para código aberto
Na prática, contribuições geradas pelo Claude Code em projetos open source não se identificarão como sendo feitas por IA. Isso dificulta a aplicação de políticas de disclosure de IA em projetos colaborativos.
Detecção de frustração via regex
Como funciona
No arquivo userPromptKeywords.ts, entradas do usuário são analisadas via regex para detectar frustração, palavrões e linguagem emocionalmente carregada.
Exemplo de padrão:
const frustrationRegex = /(droga|poxa|porra|não funciona|que saco)/i;
if (frustrationRegex.test(userInput)) {
// Disparar lógica de UX
}
É uma abordagem simples, mas eficaz em termos de custo e latência, evitando o uso de LLM para cada entrada.
Atestado de cliente nativo
Verificação criptográfica
No arquivo system.ts (linhas 59-95), requisições incluem um placeholder cch=554eb substituído por um hash computado pela stack HTTP do Bun (em Zig). O servidor verifica esse hash para garantir que as requisições são de clientes legítimos.
Por que isso importa
Esse mecanismo permite à Anthropic bloquear forks não autorizados. A validação pode ser desativada via flags de build, mas demonstra um padrão importante para APIs que exigem autenticação forte do cliente.
Se você projeta APIs que exigem atestado de cliente, use ferramentas como o Apidog para testar fluxos de autenticação e fixação de certificados.
KAIROS: modo de agente autônomo não lançado
O que diz o código
Há scaffolding para um modo KAIROS, incluindo:
- Habilidade
/dreampara “destilação noturna de memória” - Logging diário apenas para adição
- Webhooks do GitHub para monitoramento de eventos
- Workers em background rodando a cada 5 minutos
Significado
O KAIROS sinaliza uma tendência de agentes autônomos que monitoram e modificam repositórios sem interação direta. Isso traz desafios para manter especificações, testes e documentação de API sincronizados. Plataformas como o Apidog ajudam a garantir o sincronismo do ciclo de vida da API, mesmo com automações.
Otimizações de desempenho expostas
Renderização de terminal
Arquivos ink/screen.ts e ink/optimizer.ts mostram uso de técnicas de game engine:
- Pools de caracteres via
Int32Arraypara buffers eficientes - Patch otimizado que reduz cálculos de largura de caractere em 50x durante streaming
Isso garante responsividade mesmo em fluxos longos na CLI.
Cache de prompt
O promptCacheBreakDetection.ts rastreia 14 vetores de quebra de cache, mantendo prompts otimizados e reduzindo o custo de infraestrutura.
Falhas autocompact
Comentário em autoCompact.ts:
“1.279 sessões tiveram mais de 50 falhas consecutivas (até 3.272) em uma única sessão, desperdiçando ~250 mil chamadas de API/dia globalmente.”
A correção limitou para 3 falhas consecutivas, mostrando a importância de monitorar consumo de API em escala.
Detalhes de endurecimento de segurança
Segurança Bash
O bashSecurity.ts implementa 23 verificações de segurança para execução de comandos shell, protegendo contra:
- Exploração de builtins do Zsh
- Injeção de espaços Unicode
- Injeção de byte nulo via IFS
- Proteções identificadas em revisões externas (ex: HackerOne)
Se sua ferramenta de IA executa scripts, verifique se há mecanismos equivalentes de sanitização.
O que os desenvolvedores de API devem aprender
1. Entenda o que as ferramentas de IA fazem nos bastidores
Verifique que dados são coletados, enviados e como o envolvimento de IA é (ou não) divulgado no seu código.
2. A cadeia de ferramentas de build é uma superfície de ataque
Audite dependências, revise o CI/CD e minimize exposição de arquivos sensíveis como .env e mapas de origem.
3. Ferramentas de IA estão evoluindo para operação autônoma
Garanta que todas as etapas do ciclo de vida da API permaneçam sincronizadas, mesmo com agentes autônomos modificando código.
4. Transparência do código-fonte importa
Avalie se prefere ferramentas abertas (código inspecionável) ou proprietárias (baseadas em confiança no fornecedor). O vazamento do Claude Code mostra os riscos de confiar cegamente.
FAQ
O Claude Code é seguro após o vazamento?
Sim, o vazamento envolveu apenas o código-fonte. Não houve exposição de dados de usuário ou chaves de API.
O que é o “modo secreto” no Claude Code?
Modo ativado automaticamente em repositórios não Anthropic, removendo menções internas e a própria identidade do Claude Code.
O que são as ferramentas falsas no Claude Code?
Ferramentas-isca injetadas para envenenar dados de concorrentes que tentem distilar o modelo via captura de tráfego.
O que é KAIROS?
Modo de agente autônomo não lançado, preparado para rodar tarefas em background, monitorando repositórios e sugerindo alterações proativamente.
Como o código vazou?
Bug do Bun incluiu arquivos .map no build de produção, expondo o código-fonte via npm.
O vazamento afeta usuários da API Claude?
Não, apenas o cliente CLI foi exposto. Chaves e dados de usuário não foram envolvidos.
Devo me preocupar com detecção de frustração?
Depende. A detecção via regex é usada para UX, não para análise profunda ou compartilhamento externo.
Relação com o ataque npm ao Axios?
Nenhuma direta. Ambos aconteceram no mesmo dia, mas Axios foi comprometido por ataque deliberado; Claude Code vazou por erro de build.
Principais conclusões
- O código-fonte do Claude Code vazou por bug no Bun que incluiu mapas de origem no npm.
- Medidas anti-distilação injetam ferramentas falsas e resumem raciocínio para proteger o modelo.
- O modo secreto oculta o envolvimento do Claude Code em projetos open source.
- Detecção de frustração é feita via regex, não LLM.
- KAIROS mostra tendência para agentes autônomos de codificação.
- Atestado de cliente reforça autenticação de binários legítimos.
- O vazamento reforça a necessidade de ferramentas transparentes e inspecionáveis no desenvolvimento de API.
Entenda os mecanismos internos das suas ferramentas de IA, avalie riscos e escolha soluções que garantam segurança, transparência e sincronismo no ciclo de vida da API — independentemente de quem (ou o quê) faça a próxima mudança.
Top comments (0)