Um novo trojano de acesso remoto (RAT) conhecido como PylangGhost foi identificado pela primeira vez no registro npm, escondido dentro de dois pacotes JavaScript maliciosos. A descoberta marca uma escalada significativa nos ataques de cadeia de suprimentos de software, com atribuição ao grupo patrocinado pelo estado norte-coreano FAMOUS CHOLLIMA.
Descoberta e Escopo
Os pesquisadores da Kmsec.uk identificaram os pacotes maliciosos publicados pelo usuário jaime9008, vinculados ao email jaimeandujo086[@]gmail.com. O primeiro pacote, @jaime9008/math-service, foi carregado no final de fevereiro de 2026, enquanto o segundo, react-refresh-update, surgiu no início de março de 2026.
Ambos os pacotes ciclaram rapidamente por múltiplas atualizações de versão, com o carregador PylangGhost embutido em arquivos JavaScript chave, incluindo runtime.js, babel.js e lib/lib.js. O identificador de campanha embutido no malware é "ML2J", e a infraestrutura de comando e controle (C2) do atacante depende do domínio malicanbur[.]pro, com um endereço IP de C2 de 173.211.46[.]22:8080.
Vetor e Exploração
A cadeia de infecção é estruturada para executar silenciosamente em sistemas Windows, macOS e Linux sem disparar alertas de segurança imediatos. Uma vez que um desenvolvedor instala um pacote afetado, um carregador JavaScript embutido em arquivos específicos é executado automaticamente.
Este carregador segue uma sequência de decode-decrypt-evaluate e usa uma chave XOR embutida — a string "fdfdfdfdf3rykyjjgfkwi" — para desbloquear a carga útil oculta antes de executá-la na memória. Após a descriptografia, o carregador verifica o sistema operacional da vítima e ajusta seu comportamento.
Em máquinas Windows, ele baixa um arquivo ZIP do malicanbur[.]pro em incrementos de 10 MB, um método escolhido deliberadamente para contornar ferramentas de monitoramento de rede que sinalizam transferências de arquivos grandes únicos. O payload Windows foi carregado no VirusTotal com o hash 0be2375362227f846c56c4de2db4d3113e197f0c605c297a7e0e0c154e94464e.
Impacto e Recomendações
O perigo mais amplo desta campanha estende-se bem além de desenvolvedores individuais. Como os pacotes npm são rotineiramente puxados para projetos de grande escala, sistemas de build automatizados e pipelines de CI/CD, uma única dependência infectada pode expor silenciosamente organizações inteiras.
Desenvolvedores e equipes de segurança devem auditar imediatamente suas árvores de dependência npm para react-refresh-update e @jaime9008/math-service e remover ambos os pacotes se encontrados. Todo o tráfego de rede para malicanbur[.]pro e 173.211.46[.]22:8080 deve ser bloqueado na periferia.
A integração de ferramentas de análise de composição de software em pipelines de build e implantação ajuda a capturar pacotes comprometidos antes que cheguem à produção. Qualquer conexão de rede inesperada feita durante a instalação do pacote deve ser tratada como um incidente sério e investigada prontamente.