Dois pacotes maliciosos foram identificados no npm, o gerenciador de pacotes do Node.js, utilizando uma técnica inédita para modificar pacotes legítimos instalados localmente e inserir um backdoor de shell reverso persistente. Mesmo após a remoção dos pacotes maliciosos, a porta de acesso continua presente no sistema.
Novo ataque no npm instala backdoors persistentes em pacotes locais
A descoberta foi feita por pesquisadores do Reversing Labs, que alertaram sobre os riscos dessa estratégia, ainda que os pacotes não tenham sido amplamente baixados. Embora downloaders de malware no npm sejam comuns, esse caso se destaca pelas táticas sofisticadas usadas para ocultar sua carga maliciosa.
Como funciona a infecção
Os pacotes identificados como maliciosos foram ‘ethers-provider2’ e ‘ethers-providerz’. O primeiro, ainda disponível no npm no momento da análise, é baseado no popular ‘ssh2’, mas com um script modificado (‘install.js’) que baixa uma carga maliciosa de um servidor externo. O script executa essa carga e depois remove seus rastros do sistema.
A segunda etapa do ataque monitora o pacote ‘ethers’ e, ao detectá-lo, substitui seu arquivo ‘provider-jsonrpc.js’ por uma versão comprometida. Esse novo arquivo busca uma carga adicional que estabelece um shell reverso através de um cliente SSH modificado, simulando o comportamento do SSH2 original.
O grande perigo desse ataque é que, mesmo desinstalando o pacote malicioso ‘ethers-provider2’, o backdoor permanece ativo no pacote ‘ethers’, mantendo a vulnerabilidade no sistema. O ‘ethers-providerz’ segue um processo semelhante, tendo como alvo o pacote ‘@ethersproject/providers’ e direcionando a conexão para um servidor remoto suspeito.
Mais pacotes suspeitos na campanha
Pesquisadores também identificaram outros pacotes suspeitos relacionados a essa campanha: ‘reproduction-hardhat’ e ‘@theoretical123/providers’. Acredita-se que compartilhem o mesmo objetivo de comprometer pacotes legítimos e instalar backdoors persistentes.
Para ajudar desenvolvedores a identificar essa ameaça, o Reversing Labs disponibilizou uma regra YARA para detectar malwares vinculados à campanha. A recomendação é que os desenvolvedores escaneiem seus ambientes e validem a origem e o código de pacotes antes da instalação, verificando sinais de riscos como código ofuscado e conexões suspeitas com servidores externos.