
Uma nova onda de ataques via pacotes NPM maliciosos foi identificada, comprometendo mais de 3.200 usuários do editor de código Cursor para macOS. Cibercriminosos publicaram três pacotes no repositório NPM – sw-cur
, sw-cur1
, e aiide-cur
– que, uma vez instalados, implantam um backdoor para roubar credenciais e modificar o software alvo. A descoberta, datada de 9 de maio de 2025, também revelou o comprometimento de outro pacote popular, rand-user-agent
, com um trojan de acesso remoto (RAT).
Tabela de conteúdos
Detalhes do Ataque aos Usuários do Cursor
Pesquisadores de segurança da Socket, liderados por Kirill Boychenko, identificaram três pacotes NPM – sw-cur
(2.771 downloads), sw-cur1
(307 downloads) e aiide-cur
(163 downloads) – como vetores de um ataque sofisticado. Publicados em fevereiro de 2025, esses pacotes eram promovidos como ferramentas para obter “a API do Cursor mais barata”. Uma vez instalados, os pacotes maliciosos coletam credenciais do Cursor fornecidas pelo usuário e baixam um payload criptografado de servidores controlados pelos atacantes (t.sw2031[. ]com
ou api.aiide[. ]xyz
). Esse payload sobrescreve o arquivo main.js
do Cursor com código malicioso e desabilita as atualizações automáticas para manter a persistência.
“Disguised as developer tools offering ‘the cheapest Cursor API,’ these packages steal user credentials, fetch an encrypted payload from threat actor-controlled infrastructure, overwrite Cursor’s main.js file, and disable auto-updates to maintain persistence.”
Kirill Boychenko, Pesquisador da Socket
O pacote sw-cur
ainda encerra todos os processos do Cursor e reinicia a aplicação para que o código modificado entre em vigor, permitindo a execução arbitrária de código no contexto da plataforma.
Mecanismo de “Patch-Based Compromise” e Persistência
Este ataque demonstra uma tática emergente conhecida como “patch-based compromise”. Em vez de, ou além de, simplesmente incluir malware em um pacote, os atacantes publicam um pacote aparentemente inofensivo que reescreve código já confiável na máquina da vítima. Ao operar dentro de um processo legítimo, como um IDE, a lógica maliciosa herda a confiança da aplicação, mantém a persistência mesmo após a remoção do pacote ofensivo e ganha acesso aos privilégios do software, como tokens de API e chaves de assinatura.
A Socket informou ao The Hacker News que “o comprometimento baseado em patch é uma adição nova e poderosa ao arsenal dos atores de ameaças que visam cadeias de suprimentos de código aberto”.
Outros Pacotes NPM Maliciosos Descobertos
Paralelamente, a Socket descobriu outros dois pacotes NPM, pumptoolforvolumeandcomment
(625 downloads) e debugdogs
(119 downloads), publicados em setembro de 2024. Estes pacotes foram projetados para entregar um payload ofuscado que rouba chaves de criptomoeda, arquivos de carteira e dados de negociação relacionados à plataforma BullX em sistemas macOS. Os dados capturados são exfiltrados para um bot do Telegram. Segundo o pesquisador de segurança Kush Pandya, debugdogs
simplesmente invoca pumptoolforvolumeandcomment
, funcionando como um payload de infecção secundário.
Comprometimento do Pacote “rand-user-agent” com RAT
A empresa de segurança Aikido também reportou um ataque de supply chain que comprometeu o popular pacote NPM rand-user-agent
. As versões 2.0.83, 2.0.84 e 1.0.110 foram modificadas para injetar um trojan de acesso remoto (RAT). Detectado em 5 de maio de 2025, o código malicioso estabelece comunicação com um servidor externo para receber comandos, permitindo alterar o diretório de trabalho, enviar arquivos e executar comandos shell. No momento da redação, o pacote foi marcado como obsoleto e seu repositório GitHub associado está inacessível.
Atualização: A WebScrapingAPI, mantenedora da biblioteca rand-user-agent
, informou ao SecurityWeek que os atacantes publicaram as versões maliciosas após obterem um token de automação desatualizado que não estava protegido por autenticação de dois fatores.
Implicações e Recomendações de Segurança
Esses incidentes sublinham a crescente ameaça de ataques à cadeia de suprimentos de software, especialmente no ecossistema NPM. Os desenvolvedores são alvos atraentes devido ao acesso privilegiado que frequentemente possuem. A exploração do interesse em IA e custos reduzidos, como no caso do Cursor, é uma tática de engenharia social eficaz.
- Para usuários do Cursor em macOS: Recomenda-se uma reinstalação limpa do editor se houver suspeita de instalação de um dos pacotes maliciosos.
- Para usuários do
rand-user-agent
: Faça downgrade para a última versão segura (2.0.82) e verifique o sistema em busca de malware, pois o downgrade por si só não remove o RAT.
Para mitigar tais ameaças, a Socket recomenda:
- Sinalizar pacotes que executam scripts pós-instalação.
- Monitorar modificações de arquivos fora do diretório
node_modules
. - Identificar chamadas de rede inesperadas.
- Utilizar version pinning rigoroso.
- Implementar escaneamento de dependências em tempo real.
- Adotar monitoramento de integridade de arquivos para dependências críticas.
Pontos-chave:
- Três pacotes NPM (
sw-cur
,sw-cur1
,aiide-cur
) infectaram mais de 3.200 usuários do editor Cursor com backdoor. - O ataque visava roubar credenciais e manter persistência modificando arquivos do Cursor e desabilitando atualizações.
- O pacote NPM
rand-user-agent
também foi comprometido com um RAT nas versões 2.0.83, 2.0.84 e 1.0.110. - Outros dois pacotes (
pumptoolforvolumeandcomment
,debugdogs
) foram usados para roubar dados de criptomoedas. - A técnica de “patch-based compromise” representa uma evolução nos ataques de supply chain.
Considerações finais
A segurança na cadeia de suprimentos de software continua sendo um desafio crítico. Desenvolvedores e organizações devem permanecer vigilantes, adotando práticas robustas de verificação de dependências e monitoramento de sistemas para detectar e mitigar atividades maliciosas originadas de pacotes de terceiros. A confiança cega em pacotes de repositórios públicos pode levar a comprometimentos significativos.
O que são pacotes NPM maliciosos?
São bibliotecas de código JavaScript, distribuídas pelo Node Package Manager (NPM), que contêm código malicioso escondido. Seu objetivo é infectar sistemas de desenvolvedores para roubar dados, instalar backdoors ou realizar outras ações prejudiciais. São um vetor comum em ataques de supply chain.
Como os pacotes maliciosos comprometeram o Cursor?
Os pacotes se disfarçaram de ferramentas para o Cursor. Após a instalação, eles baixaram um payload que modificou arquivos centrais do Cursor (main.js), instalaram um backdoor para roubar credenciais e desabilitaram as atualizações automáticas para persistir no sistema da vítima.
Quais os riscos de usar pacotes NPM desconhecidos ou não verificados?
Os riscos incluem infecção por malware, roubo de credenciais e chaves de API, instalação de backdoors, comprometimento de dados sensíveis e a possibilidade do sistema do desenvolvedor ser usado em ataques maiores. É crucial verificar a procedência e reputação dos pacotes.
Como posso me proteger contra esses ataques de supply chain via NPM?
Adote práticas como verificar a autenticidade e reputação dos pacotes, usar version pinning, escanear dependências regularmente, monitorar scripts pós-instalação e atividades de rede suspeitas, e manter softwares de segurança atualizados. Realizar uma reinstalação limpa de softwares suspeitos de comprometimento é uma medida adicional.
Deixe um comentário Cancelar resposta
Você precisa fazer o login para publicar um comentário.