Attacco alla supply chain software: Nx trasformato in un’arma AI per rubare segreti

Un sofisticato attacco alla supply chain software ha colpito Nx, sfruttando versioni infette dei pacchetti npm e l’uso inedito dei modelli AI per rubare segreti da sviluppatori e aziende.

Negli ultimi anni, e in particolare negli ultimi mesi, stiamo assistendo a una preoccupante escalation degli attacchi alla supply chain del software. Quello che un tempo era considerato un rischio marginale e confinato a pochi casi isolati è oggi diventato uno dei principali vettori di compromissione a livello globale. Gli aggressori hanno compreso che colpire un singolo punto della catena di distribuzione software consente di propagare il malware a migliaia di organizzazioni e sviluppatori contemporaneamente.

La comunità open source e il mondo enterprise stanno affrontando una grave compromissione della supply chain legata al popolare build system Nx, ampiamente adottato nei progetti monorepo. Almeno 1.400 sviluppatori hanno scoperto di avere un nuovo repository malevolo creato automaticamente nei propri account GitHub, con il prefisso s1ngularity-repository.

Cos’è Nx?

Nx è un build system open source sviluppato da Nrwl, progettato per gestire monorepo, cioè repository che contengono più progetti o pacchetti nello stesso spazio di codice. Le sue funzioni principali sono:

  • Caching e parallelizzazione intelligente: ricostruisce e rilancia solo le parti di codice che sono effettivamente cambiate.
  • Gestione centralizzata: permette di avere progetti frontend, backend, librerie condivise e test nello stesso repository.
  • Compatibilità multipiattaforma: supporta ambienti Node.js, React, Angular, NestJS e altro.
  • Adozione massiccia: circa 2,5 milioni di sviluppatori lo usano ogni giorno, anche in grandi aziende, perché semplifica la gestione di codebase complesse.

Per installare Nx si usano pacchetti npm (@nx/…): è proprio qui che si è inserito l’attacco. Il repository “fantasma” s1ngularity-repository che molti sviluppatori si sono trovati nei propri account GitHub, è il risultato diretto del codice malevolo inserito in alcune versioni compromesse di Nx.

Una nuova frontiera del malware: uso dei LLM come strumento di ricerca locale

I ricercatori di Semgrep spiegano che dietro al comportamento anomalo riscontrato su GitHub da tanti sviluppatori, si nasconde un malware sofisticato, distribuito attraverso versioni malevole di pacchetti Nx e che sfrutta il meccanismo di post-install per eseguire codice arbitrario. La finalità è l’esfiltrazione di segreti, tra cui API key, credenziali SSH, file .npmrc, variabili d’ambiente e persino wallet di criptovalute, che vengono salvati in un file results.b64 e inviati al repository GitHub compromesso.

La caratteristica più innovativa e inquietante di questa campagna malware è l’impiego degli strumenti CLI collegati a Claude Code e Gemini Code Assist.

Il malware verifica se sul sistema siano presenti questi strumenti e, in caso affermativo, utilizza un prompt malevolo per istruire il LLM (Large Language Model) a scandagliare l’intero file system locale, individuando file strettamente personali (ad esempio wallet.dat, keystore.json, id_rsa, secrets.json) e raccogliendone i percorsi.

In altre parole, il LLM è sfruttato come un agente esterno, delegando l’attività di ricerca di segreti a uno strumento che non lascia le classiche “tracce” di codice tipiche di un malware tradizionale. L’approccio ha due conseguenze fondamentali:

  • Offuscamento delle attività malevole: parte della logica è spostata in un prompt, riducendo la possibilità di riconoscere e neutralizzare il codice dannoso.
  • Aumento della superficie di attacco: le interfacce a riga di comando (CLI) dei LLM, nate come assistenti per lo sviluppo, diventano strumenti di attacco senza che l’utente ne sia consapevole.

Versioni compromesse di Nx

Le versioni infette del pacchetto nx e dei suoi moduli associati sono state rimosse da npm, ma potrebbero ancora trovarsi nei lockfile o nelle dipendenze installate.

Le release note come compromesse includono le seguenti

@nx/devkit – 21.5.0, 20.9.0

@nx/enterprise-cloud – 3.2.0

@nx/eslint – 21.5.0

@nx/key – 3.2.0

@nx/node – 21.5.0, 20.9.0

@nx/workspace – 21.5.0, 20.9.0

@nx – 20.9.0–20.12.0, 21.5.0–21.8.0

Chiunque abbia installato queste versioni deve considerarsi potenzialmente interessato dall’attacco.

Note finali

L’attacco al build system Nx non è soltanto l’ennesimo caso di supply chain poisoning, ma rappresenta un salto qualitativo nel panorama del malware. L’uso delle CLI LLM come strumenti di ricerca locale per la sottrazione di segreti segna l’inizio di una nuova fase: l’abuso degli agenti AI come parte integrante delle campagne malevole.

Per sviluppatori e aziende, ciò significa adottare una misura difensive più ampie ed efficaci: è necessario procedere con audit continui delle dipendenze, controlli di integrità sugli ambienti di sviluppo, monitoraggio degli strumenti AI adottati.

La vicenda Nx è un campanello d’allarme che non può essere ignorato: la sicurezza della supply chain software, già fragile, dovrà ora misurarsi anche con la variabile dei malware AI-powered.

Ti consigliamo anche

Link copiato negli appunti