Pacote Malicioso em NPM
16 de Maio de 2025

Um pacote malicioso no índice do Node Package Manager (NPM) utiliza caracteres Unicode invisíveis para ocultar código malicioso e links do Google Calendar para hospedar a URL do local de comando e controle (C2).

O pacote, chamado os-info-checker-es6, se apresenta como uma utilidade de informação e foi baixado mais de 1.000 vezes desde o início do mês.

Pesquisadores da Veracode, uma empresa de avaliação de segurança de código, descobriram que a primeira versão do pacote foi adicionada ao índice do NPM em 19 de março e era benigna, pois apenas coletava informações do sistema operacional do host.

O autor adicionou modificações alguns dias depois para incluir binários específicos da plataforma e scripts de instalação ofuscados.

Em 7 de maio, uma nova versão do pacote foi publicada, que apresentava código para "um mecanismo C2 (comando e controle) sofisticado" que entrega o payload final.

A versão mais recente do 'os-info-checker-es6' disponível no npm no momento da escrita é a v1.0.8 e é maliciosa, alerta a Veracode.

Além disso, o pacote está listado como uma dependência de outros quatro pacotes NPM: skip-tot, vue-dev-serverr, vue-dummyy e 'vue-bit' - todos se apresentam como ferramentas de acessibilidade e engenharia de plataforma de desenvolvimento.

Não está claro se ou como esses pacotes são promovidos pelo ator de ameaça.

Na versão maliciosa, o atacante embutiu dados no que parecia ser uma string '|'.

No entanto, a barra vertical é seguida por uma longa sequência de caracteres Unicode invisíveis do intervalo dos Seletores de Variação Suplementar (U+E0100 a U+E01EF).

Esses caracteres Unicode são normalmente modificadores, usados tipicamente "para fornecer variações específicas de glifos em scripts complexos".

Neste caso, seu papel é facilitar a esteganografia baseada em texto - escondendo informações em outros dados.

A Veracode decodificou e desofuscou a string para encontrar um payload para um mecanismo C2 sofisticado que contava com um link encurtado do Google Calendar para alcançar a localização que hospeda o payload final.

Os pesquisadores explicam que, após buscar o link do Google Calendar, um conjunto de redirecionamentos é verificado até que se receba uma resposta HTTP 200 OK para a solicitação.

Em seguida, ele raspa um atributo data-base-title da página HTML do evento, que contém uma URL codificada em base64 apontando para o payload final.

Usando uma função chamada ymmogvj, a URL é decodificada para obter um payload de malware.

Os pesquisadores dizem que a solicitação espera um payload de malware de estágio-2 codificado em base64 no corpo da resposta, e provavelmente um vetor de inicialização e uma chave secreta nos cabeçalhos HTTP - uma indicação de possível criptografia do payload final.

A Veracode também descobriu que o payload é executado usando eval().

O script inclui um mecanismo simples de persistência no diretório temporário do sistema, que impede a execução de múltiplas instâncias ao mesmo tempo.

No momento da análise, os pesquisadores não conseguiram recuperar o payload final, sugerindo que a campanha poderia estar em espera ou ainda em um estágio inicial.

Apesar da Veracode relatar suas descobertas ao NPM, os pacotes suspeitos ainda estão presentes na plataforma.

Publicidade

Traçamos um caminho para você ir do zero ao avançado em hacking

Conheça a Solyd One, e tenha acesso a todos os cursos de segurança ofensiva da Solyd, todas as certificações práticas, incluindo a SYCP, 2 CTFs anuais com prêmios de até 30 mil reais, dezenas de laboratórios realísticos, suporte, comunidade e muito mais. Saiba mais...