Os mantenedores do sistema de build nx alertaram os usuários sobre um ataque de supply chain que permitiu a publicação de versões maliciosas do popular pacote npm e outros plugins auxiliares com capacidades de coleta de dados.
"Versões maliciosas do pacote nx, assim como alguns pacotes de plugins de suporte, foram publicadas no npm contendo código que escaneia o sistema de arquivos, coleta credenciais e as envia para o GitHub como repositórios nas contas dos usuários", afirmaram os mantenedores em um comunicado divulgado na quarta-feira.
O Nx é uma plataforma de build open-source, agnóstica em relação à tecnologia, projetada para gerenciar codebases.
Ela é divulgada como uma "AI-first build platform que conecta tudo desde seu editor até o CI (continuous integration)".
O pacote npm conta com mais de 3,5 milhões de downloads semanais.
A lista de pacotes e versões afetadas está abaixo.
Essas versões foram removidas do registro npm.
O comprometimento do pacote nx ocorreu em 26 de agosto de 2025.
- nx 21.5.0, 20.9.0, 20.10.0, 21.6.0, 20.11.0, 21.7.0, 21.8.0, 20.12.0
- @nx/devkit 21.5.0, 20.9.0
- @nx/enterprise-cloud 3.2.0
- @nx/eslint 21.5.0
- @nx/js 21.5.0, 20.9.0
- @nx/key 3.2.0
- @nx/node 21.5.0, 20.9.0
- @nx/workspace 21.5.0, 20.9.0
Segundo os mantenedores, a causa raiz do problema foi um workflow vulnerável que possibilitava a injeção de código executável por meio de um título especialmente elaborado em um pull request (PR).
"O gatilho pull_request_target foi utilizado para acionar a action sempre que um PR era criado ou modificado", explicou a equipe do nx.
"Entretanto, foi negligenciado o alerta de que esse gatilho, diferentemente do padrão pull_request, executa workflows com permissões elevadas, incluindo um GITHUB_TOKEN que possui permissão de leitura/escrita no repositório."
Acredita-se que o GITHUB_TOKEN tenha sido usado para disparar o workflow "publish.yml", responsável por publicar os pacotes Nx no registro utilizando um token npm.
Contudo, com o workflow de validação do PR rodando com privilégios elevados, o workflow "publish.yml" foi acionado no repositório "nrwl/nx", introduzindo alterações maliciosas que permitiram a exfiltração do token npm para um endpoint webhook[.]site controlado pelos atacantes.
"Como parte da injeção via bash, os workflows de validação do PR dispararam a execução do publish.yml com este commit malicioso e enviaram nosso token npm para um webhook desconhecido", explicou a equipe do nx.
"Acreditamos que foi assim que o invasor obteve o token npm usado para publicar as versões maliciosas do nx."
Em outras palavras, a vulnerabilidade de injeção permitia a execução arbitrária de comandos se um título de PR malicioso fosse submetido, enquanto o gatilho pull_request_target conferia permissões elevadas ao fornecer um GITHUB_TOKEN com acesso de leitura e escrita ao repositório.
As versões comprometidas dos pacotes continham um script postinstall que é ativado após a instalação do pacote, realizando um scan no sistema por arquivos de texto, coletando credenciais e enviando os dados codificados em Base64 para um repositório público no GitHub contendo o nome "s1ngularity-repository" (ou "s1ngularity-repository-0" e "s1ngularity-repository-1") sob a conta do usuário.
"O script malicioso postinstall também modificou os arquivos .zshrc e .bashrc, que são executados sempre que um terminal é aberto, para incluir o comando sudo shutdown -h 0, que solicita a senha do sistema ao usuário e, se fornecida, desliga a máquina imediatamente", acrescentaram os mantenedores.
Embora o GitHub já tenha começado a arquivar esses repositórios, os usuários que encontrarem esses repositórios são aconselhados a assumirem que suas credenciais foram comprometidas e a rotacionarem suas credenciais e tokens do GitHub e npm.
Também é recomendado que parem de usar os pacotes maliciosos e verifiquem os arquivos .zshrc e .bashrc em busca de instruções desconhecidas, removendo-as caso existam.
A equipe do nx afirmou que tomou medidas corretivas, como a rotacionamento dos tokens npm e GitHub, auditoria das atividades no GitHub e npm em toda a organização para detectar comportamentos suspeitos, além de atualizar o acesso de publicação para requerer autenticação de dois fatores (2FA) ou automação.
Os pesquisadores da Wiz, Merav Bar e Rami McCarthy, apontaram que 90% dos mais de 1.000 tokens GitHub vazados continuam válidos, assim como dezenas de credenciais válidas em cloud e tokens npm.
Diz-se que o malware chegou a rodar nas máquinas de desenvolvedores, frequentemente via a extensão do nx para o Visual Studio Code.
Até 1.346 repositórios contendo a string "s1ngularity-repository" foram detectados pelo GitGuardian.
Entre os 2.349 segredos distintos vazados, a grande maioria são chaves OAuth do GitHub e tokens de acesso pessoal (PATs), seguidos por chaves de API e credenciais para Google AI, OpenAI, Amazon Web Services, OpenRouter, Anthropic Claude, PostgreSQL e Datadog.
A empresa de segurança em cloud constatou que a payload é capaz de rodar apenas em sistemas Linux e macOS, realizando buscas sistemáticas por arquivos sensíveis e extraindo credenciais, chaves SSH e arquivos .gitconfig.
"Notavelmente, a campanha utilizou ferramentas AI CLI já instaladas, acionando-as com flags perigosas (--dangerously-skip-permissions, --yolo, --trust-all-tools) para roubar o conteúdo do sistema de arquivos, explorando ferramentas confiáveis para reconhecimento malicioso", afirmou a empresa.
A StepSecurity declarou que o incidente representa o primeiro caso conhecido em que atacantes transformaram assistentes AI de desenvolvedores como Claude, Google Gemini e Amazon Q em ferramentas para exploração da supply chain, contornando barreiras tradicionais de segurança.
"Há algumas diferenças entre o malware nos pacotes nx específicos (como @nx/devkit, @nx/eslint) e o malware presente no pacote nx principal", explicou a Socket.
Em primeiro lugar, o prompt AI é diferente.
Nestes pacotes, o prompt AI é mais básico, focando em chaves de carteiras crypto e padrões secretos, assim como diretórios específicos, enquanto o pacote @nx captura qualquer arquivo de texto interessante.
Charlie Eriksen, da Aikido, disse que o uso de clientes LLM como vetor para enumeração de segredos na máquina da vítima é uma abordagem inédita, proporcionando aos defensores uma noção da direção que os atacantes podem seguir no futuro.
"Dada a popularidade do ecossistema Nx e a novidade do abuso de ferramentas AI, este incidente destaca a crescente sofisticação dos ataques à supply chain", disse Ashish Kurmi, da StepSecurity.
"A remediação imediata é crítica para todos que instalaram as versões comprometidas."
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...