Extensão Nx Console Comprometida: Um Pesadelo de Cadeia de Suprimentos para Desenvolvedores do VS Code
Uma versão comprometida da extensão Nx Console para **Microsoft** Visual Studio Code (**VS Code**) foi descoberta, representando um risco significativo para a cadeia de suprimentos. A extensão maliciosa, versão 18.95.0 de `rwl.angular-console`, coleta silenciosamente segredos de desenvolvedores e instala um backdoor em Python em sistemas macOS.
Pesquisadores de cibersegurança descobriram um ataque à cadeia de suprimentos visando desenvolvedores que utilizam a extensão **Nx Console** no **VS Code** Marketplace da **Microsoft**.
### Detalhes da Extensão Comprometida
A extensão afetada é `rwl.angular-console` (versão 18.95.0), uma ferramenta popular com mais de 2,2 milhões de instalações para editores de código como **VS Code**, Cursor e JetBrains. A versão Open VSX permanece inalterada. De acordo com Ashish Kurmi, pesquisador da **StepSecurity**, "Em segundos após um desenvolvedor abrir qualquer workspace, a extensão comprometida buscou e executou silenciosamente um payload ofuscado de 498 KB de um commit órfão pendente, escondido dentro do repositório oficial nrwl/nx no GitHub."

### Técnicas de Payload e Exfiltração
O payload é descrito como uma "ferramenta multi-estágio de roubo de credenciais e envenenamento da cadeia de suprimentos" que exfiltra segredos de desenvolvedores via HTTPS, a API do GitHub e tunelamento DNS. Ele também instala um backdoor em Python em sistemas macOS, utilizando a GitHub Search API para comunicações de comando e controle (C2).
### Causa Raiz e Mitigação
Os mantenedores da extensão atribuíram a violação a uma máquina de desenvolvedor comprometida, levando ao vazamento de credenciais do GitHub. Essas credenciais foram usadas para enviar um commit órfão e não assinado contendo o malware para o repositório `nrwl/nx`. O código malicioso é acionado quando um desenvolvedor abre um workspace no **VS Code**, instalando o runtime JavaScript Bun para executar um payload ofuscado "index.js".
O malware evita infectar máquinas em fusos horários russos/CIS e opera como um processo em segundo plano desanexado. Ele visa segredos de várias fontes, incluindo cofres do **1Password**, configurações do **Anthropic Claude Code**, npm, GitHub e **Amazon Web Services (AWS)**.
### Integração Sigstore e Envenenamento da Cadeia de Suprimentos
"Uma capacidade que se destaca: o payload contém integração completa do Sigstore, incluindo emissão de certificados Fulcio e geração de proveniência SLSA", observou a **StepSecurity**. Isso permite que os atacantes publiquem pacotes npm maliciosos com atestações de proveniência válidas e criptograficamente assinadas, fazendo com que pareçam legítimos.

### Passos de Remediação
A equipe **Nx** reconheceu que "alguns usuários foram comprometidos" e recomenda a atualização para a versão 18.100.0 ou posterior. Eles também forneceram os seguintes indicadores de comprometimento (IOCs):
* Versão 18.95.0 do Nx Console instalada entre 18 de maio de 2026, às 14:36 CEST e 14:47 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 um processo Python executando `cat.py` ou um processo com `__DAEMONIZED=1` em seu ambiente.
Usuários afetados devem encerrar esses processos, excluir os artefatos identificados e rotacionar todas as credenciais acessíveis da máquina comprometida, incluindo tokens, segredos e chaves SSH.
### Ataques Recorrentes no Ecossistema Nx
Este incidente marca a segunda vez que o ecossistema **Nx** foi alvo em um ano. Em agosto de 2025, vários pacotes npm foram infectados por um roubador de credenciais como parte da campanha de ataque à cadeia de suprimentos **s1ngularity**. Ao contrário do ataque anterior, este incidente mais recente visa diretamente a extensão **VS Code**.
### Recente Aumento de Pacotes npm Maliciosos
Esta descoberta se alinha com uma tendência mais ampla de pacotes maliciosos encontrados em repositórios de código aberto, incluindo:
* `iceberg-javascript`, `supabase-javascript`, `auth-javascript`, `microsoft-applicationinsights-common` e `ms-graph-types`: Contendo um binário ELF oculto que faz backdoor em sessões do **Claude Code**.
* `noon-contracts`: Impersonando um SDK de contrato inteligente do Noon Protocol para exfiltrar credenciais e chaves sensíveis.
* `martinez-polygon-clipping-tony`: Um fork trojanizado que baixa um trojan de acesso remoto (RAT) para Windows controlado via Telegram.
* `common-tg-service`: Projetado para sequestrar contas do Telegram.
* `exiouss`: Agrupando um roubador de cookies de sessão do ChatGPT e OpenAI.
* `k8s-pod-checker`, `dev-env-setup` e `node-perf-utils`: Parte do kube-health-tools cluster instalando um serviço proxy LLM.
* Uma campanha coordenada de coleta de credenciais visando gigantes da tecnologia como **Apple**, **Google** e **Alibaba** usando confusão de dependência.
* Sete pacotes npm sob a organização `@hd-team` agindo como um stager para configurações usadas por uma plataforma chinesa de apostas esportivas.