Um novo pacote malicioso disponível no repositório do Node Package Manager (NPM) tem preocupado especialistas em segurança digital. Batizado de os-info-checker-es6, o pacote explora uma técnica avançada de esteganografia baseada em Unicode para ocultar seu comportamento malicioso e evitar a detecção por sistemas de análise automatizados.
O alerta veio da Veracode, empresa especializada em segurança de código, que revelou que o pacote aparentemente inofensivo já foi baixado mais de mil vezes desde o início de maio. Inicialmente, a versão publicada em 19 de março realizava apenas a coleta de informações básicas sobre o sistema operacional do host, comportamento comum em ferramentas legítimas.
No entanto, versões subsequentes começaram a incluir componentes ofuscados, como binários adaptados a diferentes plataformas e scripts de instalação camuflados. Em 7 de maio, uma atualização crítica trouxe um mecanismo de comunicação e controle (C2) altamente sofisticado, usado para entregar o payload malicioso final.
Técnicas de disfarce e disseminação silenciosa

A versão 1.0.8, ainda ativa no repositório no momento desta publicação, é considerada maliciosa. Mais preocupante ainda, ela aparece como dependência em outros quatro pacotes NPM: skip-tot, vue-dev-serverr, vue-dummyy e vue-bit. Todos se passam por ferramentas legítimas voltadas ao desenvolvimento de interfaces e acessibilidade, o que amplia o risco de disseminação.
A Veracode ainda não conseguiu confirmar se esses pacotes foram promovidos de forma direta pelo mesmo agente malicioso, mas alerta para o potencial impacto de sua distribuição encoberta.
Esteganografia invisível com Unicode
O diferencial deste ataque está no uso de caracteres invisíveis Unicode, especialmente os do bloco Suplemento de Seletores de Variação (U+E0100 a U+E01EF). Em vez de inserir o código malicioso de forma explícita, o invasor embutiu informações críticas em uma string aparentemente inofensiva, como um simples caractere |
. Mas logo após este símbolo, uma sequência de modificadores Unicode escondia dados que, quando decodificados, revelavam a verdadeira natureza do pacote.
Esses caracteres são tradicionalmente usados para alterar visualmente glifos em linguagens complexas, mas neste caso, atuam como camuflagem digital. A Veracode conseguiu decifrar o conteúdo oculto e revelou que ele levava a um link do Google Agenda, utilizado como ponte para o servidor de comando e controle (C2).
Após acessar o link, o sistema malicioso seguia uma cadeia de redirecionamentos até receber uma resposta HTTP 200. Em seguida, extraía um atributo da página, data-base-title, que armazenava uma URL codificada em base64 com o endereço da carga útil final.
Persistência e execução ofuscada
A execução do malware se dava por meio da função eval()
, uma técnica conhecida por sua versatilidade e riscos de segurança. O código incluía ainda um sistema de persistência rudimentar, que armazenava dados em um diretório temporário, impedindo que múltiplas instâncias rodassem simultaneamente.
Apesar de os especialistas não terem conseguido capturar a carga final — o que pode indicar que a operação ainda esteja em fase inicial ou tenha sido pausada —, os indícios mostram uma estrutura de ataque bem definida, possivelmente com criptografia aplicada ao payload final.
NPM ainda não removeu os pacotes
Mesmo após o alerta da Veracode, os pacotes maliciosos continuam acessíveis na plataforma NPM, levantando preocupações sobre a velocidade e a eficácia da resposta da comunidade frente a ameaças emergentes. Desenvolvedores e administradores devem revisar dependências em seus projetos e utilizar ferramentas de análise estática para detectar comportamentos suspeitos.
Para saber mais sobre como identificar ameaças em bibliotecas de terceiros, acesse nosso guia de segurança para pacotes NPM.