Malware encontrado no npm infecta pacotes instalados localmente
A ameaça foi descoberta nos pacotes “ethers-provider2” e “ethers-providerz” no npm. Esses pacotes funcionam como downloaders, ocultando uma carga maliciosa.
O ethers-provider2 é um espelho do pacote legítimo e amplamente utilizado “ssh2”, que possui mais de 350 milhões de downloads. Embora o código do “ethers-provider2” seja idêntico ao do “ssh2”, ele contém código malicioso.
O arquivo install.js foi modificado para incluir um malware que, durante a instalação, baixa um segundo estágio de carga para um arquivo temporário e o executa. Após a execução, o arquivo temporário é deletado, apagando vestígios da atividade.
O malware, então, entra em um loop infinito, verificando se o pacote npm legítimo “ethers” está instalado localmente, ou se for instalado depois. Quando detecta o pacote, ele substitui o arquivo “provider-jsonrpc.js” por outro idêntico visualmente, mas com código adicional malicioso.
A partir daí, o malware estabelece um shell reverso, conectando-se ao servidor do agente da ameaça por meio de um cliente SSH, permitindo ao invasor obter controle remoto da máquina da vítima e executar comandos.
A remoção do ethers-provider2 não elimina completamente o risco, já que o malware ainda pode estar presente no arquivo provider-jsonrpc.js. É importante notar que o pacote oficial “ethers” no npm não foi comprometido.
O “ethers-providerz” atua de maneira similar, direcionando-se ao pacote legítimo “@ethersproject/providers”.
Ambos os pacotes foram removidos do repositório npm.