Nx Console em jaque: como uma extensão de produtividade se tornou um roubo de credenciais e uma ameaça para a cadeia de abastecimento

Publicada 4 min de lectura 30 leituras

Um ataque dirigido a desenvolvedores voltou a evidenciar a fragilidade da cadeia de fornecimento do software: a extensão Nx Console para editores como Visual Studio Code, com mais de 2,2 milhões de instalações, publicou uma versão comprometida (rwl.angular-console v18.95.0) que, ao abrir qualquer espaço de trabalho, descarregava e executava um payload ofuscado hospedado em um commit órfão dentro do código do projeto oficial. O vetor combina engenharia no repositório e persistência local para converter uma ferramenta de produtividade em um extrator de segredos.

De acordo com as análises públicas, o payload é um sistema multilinha de roubo de credenciais e envenenamento da cadeia de fornecimento: instala o runtime Bun para executar um JavaScript ofuscado, evita ambientes em fusos horários da Rússia/CIS, executa-se em segundo plano e extrai segredos de gestores locais como 1Password, configurações de Anthropic Claude Code, tokens de npm, chaves e tokens do GitHub e AWS. Além disso, foi relatada uma porta traseira no macOS que usa a API de busca do GitHub como canal "dead drop" para receber ordens, e mecanismos de exfiltração que incluem HTTPS, a API do GitHub e tunelado por DNS.

Nx Console em jaque: como uma extensão de produtividade se tornou um roubo de credenciais e uma ameaça para a cadeia de abastecimento
Imagem gerada com IA.

O que eleva o risco a um novo nível é a integração com Sigstore e a capacidade de gerar SLSA provenance e certificados Fulcio, combinada com tokens OIDC roubados de npm: um atacante que domine estes elementos pode publicar pacotes com assinaturas e atestações válidas que aparentem ser builds verificados, erosionando um dos poucos mecanismos criptográficos pensados para restaurar confiança nos artefatos binários. Esta técnica converte credenciais roubadas numa alavanca para envenenar ecossistemas dependentes.

Os mantenedores atribuíram a raiz do problema a credenciais comprometidas de um de seus desenvolvedores, que permitiram subir um commit órfão ao repositório afetado. O intervalo de exposição em que se instalou a versão maliciosa foi breve, mas suficiente: entre 18 de maio de 2026 às 14:36 e 14:47 CEST, segundo o aviso. Open VSX, a alternativa de distribuição aberta, não foi afetada, enfatizando como um único canal comprometido pode bastar para impactar milhões de usuários.

Os indicadores de compromisso publicados incluem artefatos em disco como ~/.local/share/kitty/cat.py, ~/Library/LaunchAgents/com.user.kitty-monitor.plist, /var/tmp/.gh_update_state e /tmp/kitty-*, bem como processos em execução associados a um python executando cat.py ou processos marcados com __DAEMONIZED=1 em seu ambiente. Se você reconhecer algum destes rastros você deve agir imediatamente: parar processos suspeitos, remover os arquivos indicados e rodar todas as credenciais alcançáveis a partir da máquina comprometida.

Além das ações urgentes a nível de estação de trabalho, há medidas imprescindíveis na defesa da cadeia de abastecimento: atualizar a extensão à versão corrigida (18.100.0 ou posterior), revogar e reemitir tokens e chaves (não apenas na equipe local, mas em sistemas CI/CD, repositórios e serviços na nuvem), auditar pipelines por artefatos publicados na janela de compromisso e verificar a integridade de qualquer pacote npm publicado com certificados ou atestações recentes. Também convém revisar logs de rede por padrões de DNS tunneling e chamadas incomuns a APIs externas.

Nx Console em jaque: como uma extensão de produtividade se tornou um roubo de credenciais e uma ameaça para a cadeia de abastecimento
Imagem gerada com IA.

Este incidente lembra a campanha s1ngularity de agosto de 2025 e uma recente onda de pacotes npm maliciosos que incluíam desde binários ELF ocultos até RATs e ladrões de cookies para navegadores: a ameaça persistente são os ataques que apontam diretamente para desenvolvedores e pipelines em vez de usuários finais, porque comprometer quem assina, constrói ou publica software multiplica o alcance do atacante. Para quem gere projetos e organizações isso implica reforçar controles sobre as contas de manutenção, limitar o alcance de tokens OIDC, aplicar rotação periódica, habilitar autenticação multifator forte (preferivel com chaves físicas) e verificar as atestações SLSA nos pacotes antes de aceitá-los em produção.

Os repositórios relevantes onde você pode consultar o código oficial e as correções são o repositório do Nx Console no GitHub ( https://github.com/nrwl/nx- console) e o monorepo de Nx ( https://github.com/nrwl/nx). Para entender melhor a superfície de risco que introduz a assinatura e a procedência de artefatos, a documentação da Sigstore é uma leitura útil ( https://sigstore.dev), e se precisar inspeccionar a runtime envolvida na execução do payload, a página oficial de Bun explica como opera ( https://bun.sh).

Em suma, este incidente confirma que a segurança da cadeia de abastecimento depende tanto de controles técnicos nos repositórios e CI/CD quanto da higiene dos endpoints dos desenvolvedores. A ação imediata para usuários afetados é: atualizar a extensão, remover artefatos e processos, e rotar todas as credenciais; a ação estratégica para equipamentos é endurecer políticas de acesso, reduzir a vesting de permissões e monitorar o uso de assinaturas e atestações em busca de anomalias. A prevenção e a detecção precoce continuam a ser as melhores defesas contra ataques que convertem ferramentas de desenvolvimento em vetores de compromisso massivo.

Cobertura

Relacionadas

Mas notícias do mesmo assunto.