Pesquisadores de cibersegurança identificaram uma versão comprometida da extensão Nx Console, publicada na Microsoft Visual Studio Code Marketplace.
A extensão em questão é a rwl.angular-console, na versão 18.95.0, uma interface popular e plugin para editores de código como VS Code, Cursor e JetBrains.
A extensão do VS Code soma mais de 2,2 milhões de instalações.
A versão distribuída pelo Open VSX não foi afetada pelo incidente.
“Em poucos segundos após um desenvolvedor abrir qualquer workspace, a extensão comprometida baixava e executava silenciosamente um payload ofuscado de 498 KB escondido em um commit órfão abandonado dentro do repositório oficial nrwl/nx no GitHub”, afirmou o pesquisador da StepSecurity, Ashish Kurmi.
O payload é uma “ferramenta em várias etapas de roubo de credenciais e envenenamento da supply chain”, projetada para coletar segredos de desenvolvedores e exfiltrá-los via HTTPS, API do GitHub e DNS tunneling.
Ele também instala uma backdoor em Python em sistemas macOS, abusando da API de Pesquisa do GitHub como resolvedor dead drop para receber comandos adicionais.
Em comunicado publicado na segunda-feira, os mantenedores da extensão disseram que a causa raiz foi atribuída a um de seus desenvolvedores, cuja máquina foi comprometida em um recente incidente de segurança que vazou suas credenciais do GitHub.
Embora a natureza do incidente anterior não tenha sido divulgada, as credenciais do desenvolvedor foram temporariamente revogadas.
O acesso obtido com essas credenciais teria sido usado para enviar um commit órfão e sem assinatura ao repositório nrwl/nx, introduzindo o malware de roubo de informações.
A ação maliciosa é disparada assim que o desenvolvedor abre qualquer workspace no VS Code, o que leva à instalação do runtime JavaScript Bun para executar um payload ofuscado em “index.js”.
O malware faz verificações para evitar infectar máquinas provavelmente localizadas nos fusos horários da Rússia e da CEI, e se inicia como um processo de segundo plano desacoplado para começar a rotina de coleta de credenciais.
Com isso, ele consegue obter segredos de cofres do 1Password e de configurações do Anthropic Claude Code, além de segredos associados ao npm, GitHub e Amazon Web Services (AWS).
“Uma capacidade que chama atenção: o payload contém integração completa com o Sigstore, incluindo emissão de certificado Fulcio e geração de proveniência SLSA”, disse a StepSecurity.
“Combinado com tokens OIDC do npm roubados, isso significa que o invasor poderia publicar pacotes npm posteriores com atestados de proveniência assinados criptograficamente e válidos, fazendo com que os pacotes maliciosos parecessem compilações legítimas e verificadas.”
A equipe do Nx também reconheceu que “alguns usuários foram comprometidos” em decorrência da violação.
Além de orientar a atualização para a versão 18.100.0 ou posterior, os mantenedores divulgaram os seguintes indicadores de comprometimento:
A versão 18.95.0 do Nx Console foi instalada durante a janela de exposição entre 18 de maio de 2026, às 14h36 CEST, e 14h47 CEST.
Presença de arquivos como ~/.local/share/kitty/cat.py, ~/Library/LaunchAgents/com.user.kitty-monitor.plist, /var/tmp/.gh_update_state ou /tmp/kitty-*.
Presença de qualquer um dos processos em execução abaixo: um processo python executando cat.py e um processo com __DAEMONIZED=1 em seu ambiente.
Aos usuários afetados, recomenda-se encerrar os processos mencionados, excluir os artefatos em disco e rotacionar todas as credenciais acessíveis a partir da máquina comprometida, incluindo tokens, segredos e chaves SSH.
O caso marca a segunda vez que o ecossistema Nx é alvo em menos de um ano.
Em agosto de 2025, vários pacotes npm foram infectados por um malware de roubo de credenciais em uma campanha de supply chain chamada s1ngularity.
Diferentemente da rodada anterior, o ataque mais recente mira a extensão do VS Code.
Pacotes npm maliciosos em profusão
As descobertas coincidem com a identificação de vários pacotes maliciosos em repositórios open source:
iceberg-javascript, supabase-javascript, auth-javascript, microsoft-applicationinsights-common e ms-graph-types: cinco pacotes npm que continham um binário ELF oculto, usado para inserir uma backdoor em sessões do Claude Code e roubar credenciais de desenvolvedores.
noon-contracts: pacote npm que se passa por um SDK de contrato inteligente do Noon Protocol para exfiltrar chaves SSH, chaves privadas de carteiras de criptomoedas, credenciais da AWS, segredos do Kubernetes, todos os arquivos .env, histórico do shell, tokens do Docker/Git/npm e caminhos de armazenamento de carteiras em navegadores.
martinez-polygon-clipping-tony: uma versão trojanizada de martinez-polygon-clipping que usa um hook de postinstall para baixar um RAT para Windows de 17 MB empacotado com PyInstaller, com Telegram como canal de command and control (C2) para execução remota de shell, captura de tela, upload e download de arquivos e execução arbitrária de Python.
common-tg-service: pacote npm que contém funcionalidades para assumir o controle da conta Telegram da vítima enquanto se apresenta como “Common Telegram service for NestJS applications”.
exiouss: pacote npm que reúne um roubador de cookies de sessão do ChatGPT e do OpenAI, com foco em navegadores como Google Chrome, Microsoft Edge e Brave.
k8s-pod-checker, dev-env-setup e node-perf-utils: três pacotes npm que fazem parte do cluster kube-health-tools e instalam um serviço proxy de modelo de linguagem grande (LLM) na máquina da vítima, permitindo que o invasor roteie o tráfego de LLM por meio do servidor comprometido.
Uma campanha coordenada de coleta de credenciais conduzida por um threat actor que fala indonésio, usando um conjunto de 38 pacotes npm e explorando dependency confusion para enganar pipelines de CI/CD e fazer com que pacotes públicos maliciosos fossem resolvidos antes de pacotes privados legítimos associados, entre outros, à Apple, Google e Alibaba.
Uma campanha incomum na qual sete pacotes npm da organização @hd-team foram encontrados atuando como stager para configurações usadas por uma plataforma chinesa de apostas esportivas e streaming pirata chamada Douqiu, a fim de determinar quais servidores de backend deveriam ser contatados.
Publicidade
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...