Tecnologia

Claude instala pacotes npm sozinho e um deles pode roubar os teus ficheiros

Susan Hill

A funcionalidade Computer Use do Claude faz algo que um chatbot comum não consegue. Abre um terminal no teu computador e instala software por ti, incluindo pacotes descarregados diretamente do npm, o maior registo de código aberto do mundo. O apelo é claro, porque reduz «monta-me este projeto» a uma só frase. O risco está na mesma frase, porque no momento em que um pacote chega, o npm pode executar o código de arranque que esse pacote trouxe consigo, e agora quem carrega no gatilho é um agente autónomo.

Para quem deixa um agente de IA escrever ou correr código, e são cada vez mais programadores, entusiastas e curiosos sem formação técnica, a pergunta prática é direta. Se o Claude instala um pacote que nunca viste, e esse pacote foi feito para copiar os teus ficheiros no instante em que cai, quem é que devia travá-lo? Um vídeo recente de um investigador de segurança percorre exatamente essa situação e mostra um pacote armadilhado a ler ficheiros locais durante uma instalação de rotina que a IA executa sem hesitar.

O mecanismo não é novo, e é precisamente isso que o torna grave. Os pacotes npm podem declarar scripts de instalação, pequenas instruções que correm automaticamente assim que um pacote é adicionado a um projeto, antes de uma única linha dele ser usada de propósito. É um comportamento documentado, não uma falha. Permite que ferramentas legítimas se compilem ou preparem o seu ambiente. Também significa que qualquer pacote pode executar código na tua máquina na altura de instalar, com as mesmas permissões que tu, e as equipas de segurança avisam para isto há anos.

O mundo recebeu um aviso claro do que está em jogo quando atacantes tomaram a conta de mantenedor do Axios, uma biblioteca de rede descarregada dezenas de milhões de vezes por semana, e lhe meteram uma dependência maliciosa que instalava um trojan de acesso remoto nas máquinas dos programadores. Nunca tocaram no código real do Axios. O script de instalação fez o trabalho. O Axios é, por acaso, uma peça dentro do próprio Claude Code, a par de incontáveis outras aplicações, o que mostra a curta distância entre a ferramenta em que confias e o código que ela arrasta atrás de si sem que vejas.

O que a demonstração acrescenta a esse retrato conhecido é o agente. Uma pessoa que lança uma instalação pode pelo menos parar, ler o nome do pacote, reparar que está mal escrito ou que foi publicado há pouco, e recuar. Um agente de IA que age sobre uma ordem vaga não tem esse reflexo. Instala o que decide que precisa. E como o Computer Use também lê o ecrã, move o cursor e escreve, uma única dependência envenenada não fica presa dentro do editor de código. Tem caminho livre por todo o ambiente de trabalho.

Vale a pena ser preciso sobre o que isto é e o que não é. Não é uma porta das traseiras escondida e exclusiva do Claude, nem a prova de que o modelo foi enganado para contornar as suas próprias regras. É o resultado previsível de dar a qualquer programa autónomo o poder de instalar software, somado a um registo que executa código de instalação por omissão há mais de uma década. Troca o Claude por qualquer outro agente de programação com as mesmas permissões e o quadro é idêntico. O perigo vive na autonomia e no registo, não no chatbot de uma empresa.

A Anthropic, aliás, tem empurrado na direção contrária. A empresa lançou há pouco para as suas ferramentas de programação uma sandbox que isola o agente do resto do sistema, limita que ficheiros pode ler e que servidores pode alcançar, e publicou como código aberto o kit de isolamento que a sustenta, para outros usarem. O raciocínio é o que a demonstração põe a nu. Um agente que não chega às tuas chaves SSH não as pode divulgar, e um agente que não consegue contactar um servidor desconhecido não pode enviar os teus ficheiros para lado nenhum. A empresa afirma que essas fronteiras reduzem em cerca de 84 por cento os pedidos de permissão que mostra aos utilizadores, o que importa porque uma ferramenta que pergunta tudo acaba por ensinar as pessoas a carregar em sim.

Para quem usa mesmo estas ferramentas, as defesas são aborrecidas e eficazes. Corre o agente dentro de uma sandbox, um contentor ou uma máquina virtual descartável, para que o máximo que um pacote mau alcance seja um ambiente dispensável. Desativa os scripts de instalação automáticos quando o fluxo de trabalho o permitir, algo que alguns gestores de pacotes recentes já fazem por omissão. Mantém credenciais, chaves e ficheiros pessoais fora da máquina onde o agente anda à solta. E trata «instala-me isto» com o cuidado que darias a «abre este anexo do email», porque por baixo está mais perto disso do que parece.

O pacote concreto da demonstração é a prova de um investigador, não um surto real, e não há sinais de que tenha chegado a utilizadores verdadeiros. O padrão por detrás dele é o que não vai ficar quieto. A programação com agentes está a tornar-se a norma mais depressa do que os hábitos pensados para a manter segura, e os registos em que estes agentes se apoiam nunca foram construídos para um mundo onde quem escreve o comando de instalação não é uma pessoa. Até essa falha se fechar, a regra mais antiga da segurança de software aponta agora para um utilizador de tipo novo: o que o teu agente instala, ele executa, por isso decide o que ele pode tocar antes de o deixares começar.

Discussão

Existem 0 comentários.