Extensão Nx Console comprometida: stealer entregue por commit órfão no GitHub afeta 2,2 milhões de usuários do VS Code

Versão 18.95.0 do Nx Console para VS Code foi comprometida e usou commit órfão no repositório oficial nrwl/nx para entregar stealer de credenciais que abusa de GitHub API, HTTPS e tunelamento DNS.

Nx Console comprometido

A extensão Nx Console (rwl.angular-console), com mais de 2,2 milhões de instalações no Marketplace do Visual Studio Code, foi comprometida na versão 18.95.0 e usou um commit órfão escondido no repositório oficial nrwl/nx para entregar um stealer de credenciais de 498 KB que exfiltra segredos de desenvolvedores via HTTPS, GitHub API e tunelamento DNS, alertaram pesquisadores da StepSecurity nesta semana.

O que aconteceu

Pesquisadores de cibersegurança identificaram uma versão maliciosa da extensão Nx Console publicada no Marketplace oficial do Visual Studio Code. O artefato afetado é o pacote rwl.angular-console, em sua versão 18.95.0, que serve como interface visual para o monorepo Nx em editores como VS Code, Cursor e JetBrains. Apenas a publicação do Marketplace foi atingida; a versão equivalente disponível no Open VSX permaneceu limpa.

De acordo com a análise da StepSecurity, segundos após o desenvolvedor abrir qualquer workspace no VS Code, a extensão buscava silenciosamente um payload ofuscado de 498 KB hospedado em um commit órfão, sem assinatura, dentro do próprio repositório nrwl/nx no GitHub. O código então instalava o runtime JavaScript Bun e executava um arquivo index.js responsável por coletar credenciais e estabelecer persistência.

A causa raiz, segundo os mantenedores, foi a compromissão prévia da máquina de um colaborador, cujas credenciais do GitHub vazaram em um incidente anterior não detalhado publicamente. Esse acesso permitiu ao atacante empurrar o commit malicioso para a raiz oficial do projeto. A janela de exposição foi curta — entre 14:36 e 14:47 CEST do dia 18 de maio de 2026 —, mas suficiente para que vários usuários fossem comprometidos.

Como o ataque funciona

O payload é descrito pela StepSecurity como uma ferramenta multifásica de roubo de credenciais e envenenamento de cadeia de suprimentos. Após detectar o fuso horário da vítima, o malware se interrompe em máquinas localizadas na Rússia e na CEI e prossegue como processo background destacado. Em seguida, varre o sistema em busca de segredos: tokens do GitHub, credenciais do npm, configurações de clientes Anthropic e cofres 1Password.

A exfiltração usa três canais distintos para dificultar a detecção: requisições HTTPS comuns, abuso da própria GitHub API e tunelamento via DNS. Em sistemas macOS, o stealer instala ainda um backdoor escrito em Python que utiliza a GitHub Search API como dead drop resolver, recebendo novos comandos por meio de buscas a repositórios controlados pelos operadores. Esse backdoor permite shell remoto, captura de tela, upload e download de arquivos e execução arbitrária de Python.

“Segundos após um desenvolvedor abrir qualquer workspace, a extensão comprometida baixou silenciosamente e executou um payload ofuscado de 498 KB a partir de um commit órfão escondido dentro do repositório oficial nrwl/nx no GitHub.”

Ashish Kurmi, pesquisador da StepSecurity

Quem é afetado e quais são os indicadores

Qualquer desenvolvedor que tenha instalado ou atualizado o Nx Console no VS Code durante a janela de exposição precisa assumir comprometimento. Os mantenedores publicaram uma lista de indicadores que permitem detecção rápida em estações afetadas.

  • Instalação da versão 18.95.0 do Nx Console entre 14:36 e 14:47 CEST do dia 18 de maio de 2026.
  • 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-*.
  • Processos Python executando cat.py ou com a variável de ambiente __DAEMONIZED=1 ativa.
  • Atividade anômala em tokens do GitHub, contas npm, vaults 1Password ou cofres Anthropic.

Análise

Este é o segundo incidente sério no ecossistema Nx em menos de um ano — em agosto de 2025, diversos pacotes npm da mesma família também foram envenenados com código malicioso. A repetição revela um padrão preocupante: atacantes estão deliberadamente mirando ferramentas centrais do dia a dia de desenvolvedores, sabendo que essas plataformas concentram acesso a registries, repositórios privados, segredos de CI/CD e, cada vez mais, configurações de provedores de IA como Anthropic e OpenAI.

A escolha de hospedar o payload em um commit órfão dentro do próprio repositório oficial é particularmente engenhosa. Commits órfãos não aparecem na árvore principal de branches, escapam de revisões manuais e permanecem acessíveis via SHA enquanto o repositório existir. Combinada com abuso da GitHub API como canal de C2 e dead drop, a campanha demonstra que o GitHub está sendo cada vez mais usado como infraestrutura ofensiva — uma evolução que ecoa táticas vistas em incidentes recentes envolvendo pacotes como common-tg-service, exiouss e a campanha de 38 pacotes npm orquestrada por um ator de língua indonésia explorando dependency confusion.

Para times de defesa, a mensagem é direta: o perímetro do desenvolvedor é hoje uma das superfícies de ataque mais valiosas. Um único colaborador com credenciais comprometidas, em uma organização com 2,2 milhões de downstreams, basta para gerar um incidente global.

Recomendações práticas

  • Atualizar imediatamente o Nx Console para a versão 18.100.0 ou superior.
  • Encerrar processos relacionados a cat.py e __DAEMONIZED=1 e remover artefatos em ~/.local/share/kitty/, LaunchAgents e /tmp/kitty-*.
  • Rotacionar todos os segredos acessíveis a partir da máquina afetada: tokens do GitHub, npm, chaves SSH, segredos do 1Password e configs de provedores de IA.
  • Auditar logs do GitHub e npm em busca de uso anômalo de tokens nas últimas semanas.
  • Implementar policies de assinatura obrigatória para commits e bloquear extensões VS Code não pinadas em ambientes corporativos.
  • Monitorar conexões DNS suspeitas e tráfego HTTPS para domínios não conhecidos saindo de estações de desenvolvimento.

Fonte: The Hacker News

Social Media Auto Publish Powered By : XYZScripts.com