Pacote Nx malicioso expõe credenciais na nuvem
28 de Agosto de 2025

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

Proteja sua empresa contra hackers através de um Pentest

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...