Filtram o código de Claude Code e revelam KAIROS: o agente persistente que poderia operar em segundo plano

Publicada 6 min de lectura 136 leituras

O passado incidente em Anthropic - onde parte do código fonte de seu assistente de programação Claude Code ficou disponível publicamente - lembra que mesmo as empresas mais centradas em inteligência artificial não estão isentas de erros humanos com consequências poderosas. De acordo com a própria empresa, a liberação foi fruto de uma falha no empacotamento e não de um ataque externo, e eles afirmam que não se expuseram credenciais ou dados sensíveis de clientes. Ainda assim, o alcance do material filtrado e a rapidez com que se viralizou deixaram claro que os riscos técnicos e reputacionais são reais e de grande envergadura. Para quem quiser rever a cobertura jornalística e as declarações oficiais, você pode começar por fontes reconhecidas como CNBC e Fortune.

O que foi publicado por erro foi um pacote de npm que incluía um source map capaz de revelar a maior parte do código fonte: milhares de arquivos TypeScript e centenas de milhares de linhas de código. A comunidade técnica não tardou em compartilhar e clonar esse material, e em questão de horas observou-se uma maré de forks, estrelas e análise pública. Aqueles que querem curiosar os repositórios e pesquisas no GitHub podem explorar resultados relacionados em GitHub, e a conversa nas redes sociais pode ser seguida de buscas em X (antes do Twitter).

Filtram o código de Claude Code e revelam KAIROS: o agente persistente que poderia operar em segundo plano
Imagem gerada com IA.

Além do morbo, o interesse não é casual: o código filtrado oferece um mapa detalhado do design interno de Claude Code. Desenvolvedores e concorrentes podem estudar como o Anthropic gerencia a memória da sessão para mitigar as limitações do contexto, como orquestra chamadas a modelos e ferramentas auxiliares, e até como a empresa pensa seus agentes persistentes que executam tarefas em segundo plano. Alguns fragmentos – já descritos publicamente por pessoas que examinaram os arquivos – mencionam módulos para execução de comandos em bash, comunicação bidirecional com extensões de IDE, e mecanismos para lançar “sub-agentes” que colaboram em tarefas complexas.

Entre as peças mais chamativas figura uma funcionalidade que, por seu nome nos arquivos, foi descrita como KAIROS: um agente persistente capaz de agir proativamente, corrigir erros automaticamente e notificar usuários sem intervenção direta. Juntamente com isso, encontraram-se referências a um modo “sonho” que permitiria ao sistema continuar gerando ideias em segundo plano. Também chamou a atenção um modo rotulado como Undercover Mode, pensado para que o assistente fizesse contribuições discretas em repositórios públicos sem revelar informações internas da empresa: o objetivo, segundo o texto recuperado, era que as mensagens de commit e as PR não delatassem sua origem.

Embora algumas destas capacidades sejam engenhosas do ponto de vista da automação, a exposição pública do design e as cadeias de dados que funcionam abre vectores de ataque muito mais sofisticados do que as tentativas habituais de jailbreak por ensaio e erro. Especialistas em segurança alertaram que, com o código à vista, maus atores podem estudar exatamente como os dados se compactam e persistem na gestão de contexto e, a partir daí, projetar cargas maliciosas capazes de sobreviver a esses processos e manter uma presença não autorizada ao longo de sessões extensas. Uma discussão técnica sobre esses riscos e exemplos de exploração teórica pode ser encontrada em análise relacionada e em blogs de empresas de segurança.

O problema não ficou no simples acesso a código: o evento foi aplicado porque, segundo relatórios públicos, houve uma janela temporal em que quem instalou ou atualizou o pacote desde npm poderia ter sido levado dependências comprometidas por um ataque de cadeia de fornecimento relacionado a uma versão trojanizada de uma livraria HTTP popular. Diante disso, as recomendações imediatas de segurança foram claras: retroceder a versões conhecidas como seguras, rotar segredos e revisar sistemas por indicadores de comprometimento. Para orientação geral sobre como gerenciar incidentes na cadeia de fornecimento e proteger dependências, recursos como o guia da CISA sobre segurança da cadeia de fornecimento e a documentação de segurança do GitHub e npm são bons pontos de partida: CISA - Supply Chain, GitHub - Code Security e npm Docs.

Outra derivada imediata foi o trabalho malicioso de aproveitamento do ruído: atores que publicam pacotes com nomes quase idênticos aos internos (typosquatting) e que esperam que desenvolvedores desesperados por compilar o código filtrado instalem essas dependências erradas. Na verdade, foram identificados pacotes publicados por usuários que copiavam nomes internos e que, em primeira instância, eram stubs vazios; a tática clássica consiste em ganhar downloads e depois publicar uma atualização maliciosa que infecte projetos ao estilo dependency confusion. Para entender o risco desta técnica e defesas recomendadas, você pode consultar a documentação técnica e análise de segurança sobre typosquatting e confusão de dependências, por exemplo em blogs especializados como os de Snyk: Snyk - Typosquatting e Dependency Confusion.

Além do dano técnico imediato, o episódio levanta questões éticas e estratégicas para a indústria: qual nível de segredo é aceitável ao desenvolver ferramentas capazes de escrever e alterar código em repositórios públicos? Como equilibrar a inovação com controlos técnicos que evitem abusos, como a inserção de funções que pretendam envenenar dados de treinamento de terceiros se detectarem raspados de saídas? Nos arquivos filtrados foram encontrados indícios de defesas concebidas para complicar a distilação de modelos por concorrentes, como a injeção de definições de ferramentas falsas em respostas, uma estratégia controversa que complica ainda mais o debate sobre a transparência e a defesa ativa.

Filtram o código de Claude Code e revelam KAIROS: o agente persistente que poderia operar em segundo plano
Imagem gerada com IA.

Para os equipamentos de desenvolvimento que usam assistentes de programação e pacotes de terceiros, a lição é dupla: por um lado, manter práticas de higiene em dependências e segredos (bloqueadores de segurança, digitalização de pacotes, políticas de versões fixas e vigilância de mudanças em registries); por outro, aumentar a vigilância sobre o comportamento em tempo de execução de ferramentas automatizadas que executem comandos ou interajam com o sistema de arquivos. Os guias de melhores práticas de segurança de plataformas como npm e GitHub oferecem passos concretos para endurecer fluxos de trabalho e mitigar ataques derivados de ecossistemas de pacotes.

Anthropic já disse que implementará medidas internas para evitar que uma embalagem incorreta volte a acontecer. Mas a realidade é que, no ecossistema do software moderno, os erros humanos e os erros de processo se traduzem muito rapidamente em vetores de exploração. A comunidade, as empresas fornecedoras de infra-estruturas e os reguladores têm de trabalhar em paralelo: melhorar auditorias internas, fornecer canais de notificação precoce e, acima de tudo, educar os utilizadores para que reaccionem rapidamente a possibilidade de compromissos em dependências. Para fontes que discutem a gestão de incidentes e boas práticas em pacotes, a documentação oficial de npm e análise de segurança especializadas são leituras recomendadas: npm Blog e recursos de resposta a incidentes de assinaturas de segurança.

Em suma, o erro de Anthropic é um lembrete útil de que o software, por poderoso que seja, não é infalível e que a segurança operacional importa tanto quanto a capacidade do modelo. O mundo da inteligência artificial e do software colaborativo avança rapidamente; a pergunta é se a segurança e a responsabilidade poderão mover-se para a mesma velocidade. Enquanto isso, para aqueles que usam ferramentas como Claude Code, a prioridade imediata é assumir que o incidente pode ter efeitos colaterais e tomar medidas de contenção: revisar dependências, rotar segredos e monitorar atividade suspeita em repositórios e sistemas.

Cobertura

Relacionadas

Mas notícias do mesmo assunto.