Hackers publicam pacotes NPM maliciosos via conta da Toptal

Imagem do autor do SempreUpdate Jardeson Márcio
Escrito por
Jardeson Márcio
Jardeson Márcio é Jornalista e Mestre em Tecnologia Agroalimentar pela Universidade Federal da Paraíba. Com 8 anos de experiência escrevendo no SempreUpdate, Jardeson é um especialista...

O que fazer quando as ferramentas que você confia se voltam contra você? Entenda o ataque à Toptal e proteja seus projetos.

No dia 20 de julho, hackers comprometeram a conta da organização Toptal no GitHub, uma das plataformas mais utilizadas por empresas e desenvolvedores do mundo. O ataque, que resultou na publicação de pacotes NPM maliciosos, expôs não apenas repositórios privados da empresa, mas também lançou um alerta vermelho para toda a comunidade sobre os perigos reais de ataques à cadeia de suprimentos.

Ao todo, foram identificados dez pacotes maliciosos publicados na plataforma NPM, disfarçados como atualizações legítimas. O malware não apenas roubava credenciais de acesso, como também tentava apagar completamente o sistema da vítima. Este incidente coloca em evidência a urgência de revisar as práticas de segurança adotadas por desenvolvedores e equipes DevOps ao lidar com dependências externas.

Neste artigo, vamos entender em detalhes como o ataque foi executado, o que faz dos pacotes NPM maliciosos um vetor tão perigoso, e fornecer um guia prático para que você proteja seus projetos contra esse tipo de ameaça.

Imagem malware BeaverTail em pacotes npm

Entendendo o ataque à Toptal: O que aconteceu?

A invasão e a exposição de repositórios privados

O ataque teve início no dia 20 de julho de 2025, quando a conta da organização Toptal no GitHub foi comprometida. Como consequência, os invasores tiveram acesso a 73 repositórios que antes eram privados, muitos dos quais continham ferramentas internas, protótipos e integrações críticas utilizadas pela empresa.

A extensão completa do vazamento ainda está sendo investigada, mas já se sabe que esse acesso indevido permitiu que os atacantes manipulassem diretamente o código-fonte de projetos legítimos mantidos pela organização.

A publicação dos pacotes maliciosos no NPM

Com acesso ao repositório original da Toptal, os hackers modificaram ferramentas legítimas — incluindo o sistema de design interno Picasso — e publicaram dez pacotes modificados no NPM. Os nomes e descrições dos pacotes imitavam atualizações autênticas, confundindo desenvolvedores desavisados.

Esses pacotes NPM maliciosos foram rapidamente distribuídos e atingiram cerca de 5.000 downloads antes de serem detectados e removidos. O potencial de dano foi elevado, considerando que, uma vez instalados, os pacotes executavam automaticamente scripts maliciosos.

A anatomia do malware: Como os pacotes funcionavam?

Fase 1: Roubo de credenciais com o script ‘preinstall’

A primeira etapa do ataque se baseava na execução de um script malicioso do tipo preinstall, contido no arquivo package.json dos pacotes infectados. Esse script era acionado antes mesmo da instalação do pacote.

A função principal do script era extrair o token de autenticação da CLI do GitHub presente na máquina da vítima. Esses tokens, muitas vezes com permissões amplas, eram então enviados para um webhook controlado pelos invasores, permitindo o acesso posterior a outros repositórios e serviços.

Essa abordagem silenciosa e automatizada transformou qualquer desenvolvedor que instalasse o pacote infectado em um elo vulnerável da cadeia de segurança de seus projetos.

Fase 2: Destruição do sistema com o script ‘postinstall’

A segunda etapa, ainda mais agressiva, era executada por meio de um script postinstall. Uma vez instalado o pacote e realizado o envio do token, o script ativava um comando extremamente destrutivo:

sudo rm -rf --no-preserve-root /

Esse comando, quando executado em sistemas Linux, apaga irreversivelmente todos os arquivos do sistema, inclusive os arquivos do próprio usuário. Em máquinas Windows, comandos semelhantes foram utilizados para causar o mesmo tipo de destruição.

A combinação entre roubo de credenciais e tentativa de destruição do sistema mostra o caráter duplamente malicioso do ataque — ao mesmo tempo furtivo e destrutivo.

O impacto e como se proteger de ataques no NPM

Você foi afetado? Passos imediatos para verificação

Se você trabalha com Node.js ou mantém projetos que utilizam pacotes da Toptal, é fundamental realizar imediatamente as seguintes verificações:

  • Revise os arquivos package.json e package-lock.json de todos os seus projetos à procura dos pacotes maliciosos publicados.
  • Se um pacote suspeito tiver sido instalado, revogue imediatamente seus tokens de acesso do GitHub e quaisquer chaves de API que possam ter sido expostas.
  • Reverta para versões seguras e verificadas dos pacotes legítimos.
  • Verifique registros de sistema para identificar possíveis execuções dos scripts maliciosos.

Quanto mais cedo a ação for tomada, menores as chances de prejuízo e de propagação do ataque para outras dependências.

Fortalecendo suas defesas: Boas práticas de segurança

Evitar que ataques como esse comprometam seus sistemas exige disciplina e ferramentas adequadas. Veja algumas boas práticas de segurança essenciais:

  • Fixe versões de pacotes (Version Pinning): Sempre utilize versões exatas em vez de intervalos (por exemplo, "1.2.3" ao invés de ^1.2.3) para evitar atualizações inesperadas e possivelmente maliciosas.
  • Audite suas dependências regularmente: Use comandos como npm audit ou ferramentas como Snyk, Dependabot ou Socket para identificar vulnerabilidades conhecidas.
  • Cuidado com scripts de instalação automática: Scripts como preinstall, postinstall e similares podem conter comandos perigosos. Evite dependências que você não conhece ou que não têm histórico confiável.
  • Use ferramentas de segurança específicas para NPM: A plataforma Socket, que desempenhou papel essencial na detecção deste ataque, pode ser integrada aos seus repositórios para análise contínua de comportamento suspeito em pacotes.

Conclusão: Uma lição sobre confiança e vigilância

O incidente envolvendo a Toptal e os pacotes NPM maliciosos é mais um exemplo concreto de que a segurança na cadeia de suprimentos de software é um desafio coletivo. Depender de bibliotecas de terceiros é inevitável no desenvolvimento moderno, mas confiar cegamente nelas pode sair caro.

Este episódio nos lembra que auditorias regulares, vigilância ativa e o uso de ferramentas de proteção são indispensáveis em qualquer pipeline de desenvolvimento.

Não espere ser a próxima vítima: reveja suas dependências, fortaleça suas práticas de segurança e compartilhe este conteúdo com sua equipe e rede de contatos. Uma comunidade informada é a melhor defesa contra ameaças silenciosas, mas devastadoras.

Compartilhe este artigo