CEVIU Logo
Voltar

Pacote npm Malicioso `react-refresh-update` Infecta Máquinas de Desenvolvedores com Trojan Multiplataforma

Aprofundamento CEVIU

Aprofundamento

O pacote [email protected] não é apenas mais um typosquat: é uma peça-chave de uma escalada tática do Lazarus Group no ecossistema npm, projetada para contornar defesas modernas de cadeia de suprimentos. Enquanto o pacote legítimo react-refresh está na versão 0.18.0 há anos, a versão maliciosa usa 2.0.5, um número inflado que passa por atualização válida em ferramentas de dependência automatizadas, como renovate ou Dependabot, especialmente em pipelines que priorizam 'versões maiores' sem revisão humana. O dropper é injetado diretamente no runtime.js, logo após a primeira linha, evitando install hooks e executando-se durante o require(), o que significa que qualquer projeto que importe o pacote (mesmo que só para desenvolvimento) já está comprometido antes mesmo do build.

O PylangGhost RAT, agora pela primeira vez observado no npm, é um salto operacional: ele não é só multiplataforma, mas também adaptativo ao ambiente de execução. No Windows, usa wscript.exe desanexado com start.vbs para evitar detecção por EDRs que monitoram processos-filho; no Linux/macOS, baixa scripts via axios com TLS desabilitado, um sinal claro de que o atacante assume que o alvo roda em ambientes de desenvolvimento com certificados autoassinados ou proxies corporativos que já desabilitam validação. A comunicação C2 usa RC4 sobre HTTP (não HTTPS), mas com payloads criptografados em memória, o que burla scanners baseados em assinatura estática de child_process ou execSync.

Por que isso importa

Esse ataque não visa apenas máquinas individuais: ele explora uma falha estrutural na segurança de desenvolvedores, a confiança cega em números de versão e nomes de pacotes, amplificada por ferramentas de IA que sugerem dependências sem contexto de proveniência. Em 2026, o npm virou campo de batalha para campanhas coordenadas: desde o ataque ao Axios até os 373 pacotes trojanizados pela TeamPCP em seis minutos, a janela entre publicação e execução caiu para minutos. O react-refresh-update é o primeiro caso documentado em que o Lazarus Group entrega PylangGhost via npm, e não por email ou GitHub, indicando que a cadeia de suprimentos de IA está sendo usada como vetor principal, não secundário. Empresas que usam CI/CD com npm ci --no-audit ou que ignoram SLSA provenance estão expostas mesmo com políticas aparentemente rígidas.

Perguntas frequentes

Como saber se meu projeto foi afetado pelo react-refresh-update?

Verifique seu package-lock.json ou node_modules por react-refresh-update nas versões 2.0.5 ou 2.0.6. Também busque por runtime.js modificado em node_modules/react-refresh-update/: o arquivo legítimo tem menos de 1 KB; o malicioso começa com uma linha ofuscada em XOR seguida de código de avaliação em memória. Ferramentas como npm ls react-refresh-update ou auditjs detectam instalações diretas.

Por que o PylangGhost no npm é mais perigoso que no GitHub ou email?

Porque ele opera dentro do fluxo normal de desenvolvimento: não exige interação do usuário, não gera alertas de antivírus em tempo de instalação e é invisível em logs de CI. Diferente de um script baixado manualmente, o pacote malicioso é tratado como dependência legítima, e seus payloads são carregados antes mesmo do início do webpack ou Vite, dando acesso total à sessão do desenvolvedor, incluindo tokens de API, credenciais de nuvem e chaves SSH armazenadas em variáveis de ambiente.

O que muda na proteção se o ataque evita install hooks e executa em require()?

Ferramentas baseadas em preinstall ou postinstall hooks (como npm audit ou verdaccio com plugins de verificação) falham completamente. A defesa eficaz exige análise de comportamento em tempo de execução (RASP), inspeção estática de runtime.js e bloqueio de requisições para domínios suspeitos como malicanbur[.]pro no proxy corporativo. Também é crítico exigir SLSA provenance com nível 3 para todos os pacotes de dependência crítica, algo que o react-refresh-update não possui.

Esse ataque está ligado a outras campanhas recentes do Lazarus Group no npm?

Sim. Ele faz parte da campanha DeceptiveDevelopment, que opera em paralelo com ataques ao Axios, aos pacotes React Native e à Red Hat em junho de 2026. Todos compartilham padrões: uso de contas npm descartáveis com emails Gmail, publicação em ondas curtas (menos de 48h entre criação da conta e primeiro upload), e foco em desenvolvedores de Web3 e cripto, onde as recompensas financeiras por roubo de carteiras justificam o esforço tático de ofuscação em múltiplas camadas.

Fontes

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Segurança da Informação
Publicado
18 de março de 2026
Editoria
CEVIU Segurança da Informação

Quer receber mais sobre CEVIU Segurança da Informação?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser