Pacotes Maliciosos no npm: Trojan para Windows Disfarçado de Bibliotecas CSS
Três novos pacotes no npm, disfarçados de ferramentas CSS e de criptografia, foram descobertos instalando um trojan de acesso remoto em sistemas Windows. A ameaça rouba senhas, dados de extensões do Chrome e executa comandos remotos.
MundiX News·24 de junho de 2026·6 min de leitura·👁 1 views
Três novos pacotes maliciosos foram identificados no registro npm, disfarçados como utilitários para manipulação de CSS e criptografia. No entanto, após a instalação em sistemas Windows, eles descarregam um trojan de acesso remoto (RAT). Essa ameaça é capaz de coletar informações detalhadas do computador, roubar senhas e dados de extensões do Google Chrome, executar comandos arbitrários de atacantes e exfiltrar arquivos para um servidor remoto.
Os pacotes em questão, nomeados aes-decode-runner-pro, postcss-minify-selector e postcss-minify-selector-parser, foram baixados centenas de vezes. Eles foram publicados recentemente por um usuário npm chamado abdrizak e ainda estavam disponíveis para download no momento da descoberta. A tática empregada pelos atacantes envolveu a escolha de nomes que se assemelham a ferramentas legítimas e populares. Por exemplo, aes-decode-runner-pro e postcss-minify-selector-parser se apresentam como bibliotecas de criptografia AES e parsers de seletor CSS, respectivamente. Notavelmente, postcss-minify-selector-parser tem um nome quase idêntico ao da popular biblioteca postcss-selector-parser, que possui mais de 127 milhões de downloads semanais. Independentemente do pacote específico baixado, o resultado final é a infecção pelo mesmo malware para Windows.
A cadeia de infecção começa com um carregador JavaScript que, ao ser executado, grava um script PowerShell (settings.ps1) no disco e o executa. Este script, por sua vez, utiliza a ferramenta curl.exe do Windows para baixar um arquivo ZIP de um servidor externo (nvidiadriver[.]net). Dentro do arquivo ZIP, encontra-se um script Visual Basic (update.vbs) que é executado via wscript.exe. Juntamente com o script VB, são baixados um ambiente Python integrado, um arquivo loader.py e várias extensões Python nativas (.pyd) compiladas com Nuitka. O script Visual Basic prepara o ambiente Python e transfere o controle para loader.py, que então inicia a execução do código principal do trojan. As funcionalidades do malware são distribuídas entre diferentes extensões Python: config.pyd armazena o endereço do servidor de comando e controle (C2), IDs de comando e nomes de chaves de registro; api.pyd gerencia a comunicação com o servidor C2; audiodriver.pyd inicia o loop principal do trojan; command.pyd coleta informações do sistema, tenta detectar máquinas virtuais, executa comandos de shell e lida com a transferência de arquivos; e util.pyd manipula arquivos tar e gzip. O módulo auto.pyd é particularmente preocupante, pois rouba dados do Google Chrome e informações de extensões do navegador, além de tentar contornar a proteção App-Bound Encryption do Chrome. Após a execução bem-sucedida, o trojan se conecta ao servidor C2 (95.216.92[.]207:8080) para receber comandos, baixar novos arquivos e enviar os dados roubados.
Paralelamente a essa descoberta, outras campanhas maliciosas foram detectadas visando os ecossistemas npm e TypeScript. O pacote apintergrationpost, que se apresenta como um cliente Node.js para testes de segurança, na verdade instala um trojan de acesso remoto para Linux chamado MYRA. Este malware compila um rootkit nativo em C, estabelece múltiplos mecanismos de persistência, se disfarça como um serviço systemd, opera sem salvar a carga útil no disco e oferece um shell interativo com captura de tela. Outro pacote, @withgoogle/stitch-sdk, que imita uma ferramenta de design de IA do Google, busca credenciais de desenvolvedor em oito locais diferentes (incluindo configurações de Git, chaves SSH, GitHub CLI, npm e Docker) e as envia para um domínio controlado por atacantes. Adicionalmente, cinco pacotes (procwire, routecraft, endpointmap, bytecraft e staticlayer) formam uma cadeia de suprimentos separada, onde routecraft depende de procwire, que por sua vez puxa endpointmap e bytecraft. Durante a instalação no Windows, um carregador binário é baixado de um servidor externo e executado. O pacote staticlayer opera no lado do atacante, entregando um arquivo apenas para clientes com um User-Agent específico. Usuários que instalaram qualquer um desses pacotes são aconselhados a remover imediatamente as dependências, apagar quaisquer arquivos criados e trocar todas as credenciais comprometidas, pois a simples desinstalação do pacote pode não ser suficiente para remover completamente a ameaça e seus mecanismos de persistência.
🛡️⚡
Pare de pesquisar. Comece a hackear.
O MundiX é seu copiloto de pentest com IA: comandos exatos, análise de outputs e próximo passo na kill chain — em segundos.
Sem cartão para começar · Planos a partir de R$49/mês
Três novos pacotes maliciosos foram identificados no registro npm, disfarçados como utilitários para manipulação de CSS e criptografia. No entanto, após a instalação em sistemas Windows, eles descarregam um trojan de acesso remoto (RAT). Essa ameaça é capaz de coletar informações detalhadas do computador, roubar senhas e dados de extensões do Google Chrome, executar comandos arbitrários de atacantes e exfiltrar arquivos para um servidor remoto.
Os pacotes em questão, nomeados aes-decode-runner-pro, postcss-minify-selector e postcss-minify-selector-parser, foram baixados centenas de vezes. Eles foram publicados recentemente por um usuário npm chamado abdrizak e ainda estavam disponíveis para download no momento da descoberta. A tática empregada pelos atacantes envolveu a escolha de nomes que se assemelham a ferramentas legítimas e populares. Por exemplo, aes-decode-runner-pro e postcss-minify-selector-parser se apresentam como bibliotecas de criptografia AES e parsers de seletor CSS, respectivamente. Notavelmente, postcss-minify-selector-parser tem um nome quase idêntico ao da popular biblioteca postcss-selector-parser, que possui mais de 127 milhões de downloads semanais. Independentemente do pacote específico baixado, o resultado final é a infecção pelo mesmo malware para Windows.
A cadeia de infecção começa com um carregador JavaScript que, ao ser executado, grava um script PowerShell (settings.ps1) no disco e o executa. Este script, por sua vez, utiliza a ferramenta curl.exe do Windows para baixar um arquivo ZIP de um servidor externo (nvidiadriver[.]net). Dentro do arquivo ZIP, encontra-se um script Visual Basic (update.vbs) que é executado via wscript.exe. Juntamente com o script VB, são baixados um ambiente Python integrado, um arquivo loader.py e várias extensões Python nativas (.pyd) compiladas com Nuitka. O script Visual Basic prepara o ambiente Python e transfere o controle para loader.py, que então inicia a execução do código principal do trojan. As funcionalidades do malware são distribuídas entre diferentes extensões Python: config.pyd armazena o endereço do servidor de comando e controle (C2), IDs de comando e nomes de chaves de registro; api.pyd gerencia a comunicação com o servidor C2; audiodriver.pyd inicia o loop principal do trojan; command.pyd coleta informações do sistema, tenta detectar máquinas virtuais, executa comandos de shell e lida com a transferência de arquivos; e util.pyd manipula arquivos tar e gzip. O módulo auto.pyd é particularmente preocupante, pois rouba dados do Google Chrome e informações de extensões do navegador, além de tentar contornar a proteção App-Bound Encryption do Chrome. Após a execução bem-sucedida, o trojan se conecta ao servidor C2 (95.216.92[.]207:8080) para receber comandos, baixar novos arquivos e enviar os dados roubados.
Paralelamente a essa descoberta, outras campanhas maliciosas foram detectadas visando os ecossistemas npm e TypeScript. O pacote apintergrationpost, que se apresenta como um cliente Node.js para testes de segurança, na verdade instala um trojan de acesso remoto para Linux chamado MYRA. Este malware compila um rootkit nativo em C, estabelece múltiplos mecanismos de persistência, se disfarça como um serviço systemd, opera sem salvar a carga útil no disco e oferece um shell interativo com captura de tela. Outro pacote, @withgoogle/stitch-sdk, que imita uma ferramenta de design de IA do Google, busca credenciais de desenvolvedor em oito locais diferentes (incluindo configurações de Git, chaves SSH, GitHub CLI, npm e Docker) e as envia para um domínio controlado por atacantes. Adicionalmente, cinco pacotes (procwire, routecraft, endpointmap, bytecraft e staticlayer) formam uma cadeia de suprimentos separada, onde routecraft depende de procwire, que por sua vez puxa endpointmap e bytecraft. Durante a instalação no Windows, um carregador binário é baixado de um servidor externo e executado. O pacote staticlayer opera no lado do atacante, entregando um arquivo apenas para clientes com um User-Agent específico. Usuários que instalaram qualquer um desses pacotes são aconselhados a remover imediatamente as dependências, apagar quaisquer arquivos criados e trocar todas as credenciais comprometidas, pois a simples desinstalação do pacote pode não ser suficiente para remover completamente a ameaça e seus mecanismos de persistência.
📤 Compartilhar & Baixar
🧰 Ferramentas recomendadas
Divulgação: alguns links são patrocinados. Podemos receber comissão se você comprar — sem custo extra para você. Só indicamos o que faz sentido para a comunidade.