Salta al contenuto principale


100 pacchetti di Infostealer caricati su NPM sfruttando le allucinazioni delle AI


Da agosto 2024, la campagna PhantomRaven ha caricato 126 pacchetti dannosi su npm, che sono stati scaricati complessivamente oltre 86.000 volte. La campagna è stata scoperta da Koi Security, che ha riferito che gli attacchi sono stati abilitati da una funzionalità poco nota di npm che gli consente di aggirare la protezione e il rilevamento.

Si sottolinea che al momento della pubblicazione del rapporto erano ancora attivi circa 80 pacchetti dannosi. Gli esperti spiegano che gli aggressori sfruttano il meccanismo Remote Dynamic Dependencies (RDD).

In genere, uno sviluppatore vede tutte le dipendenze di un pacchetto in fase di installazione, scaricate dall’infrastruttura NPM attendibile. Tuttavia, RDD consente ai pacchetti di estrarre automaticamente il codice da URL esterni, anche tramite un canale HTTP non crittografato. Nel frattempo, il manifest del pacchetto non mostra alcuna dipendenza.

Quando uno sviluppatore esegue npm install, il pacchetto dannoso scarica silenziosamente un payload da un server controllato dagli aggressori e lo esegue immediatamente. Non è richiesta alcuna interazione da parte dell’utente e gli strumenti di analisi statica rimangono inconsapevoli dell’attività.

“PhantomRaven dimostra quanto possano essere sofisticati gli aggressori quando sfruttano i punti ciechi delle soluzioni di sicurezza tradizionali. Le dipendenze dinamiche remote sono semplicemente invisibili all’analisi statica”, affermano i ricercatori.

Si noti che il malware viene scaricato dal server ogni volta che il pacchetto viene installato, anziché essere memorizzato nella cache.

Questo apre le porte ad attacchi mirati: gli aggressori possono controllare l’indirizzo IP della richiesta e inviare codice innocuo ai ricercatori di sicurezza, distribuire codice dannoso per le reti aziendali e distribuire payload specializzati per gli ambienti cloud.

Una volta infettato, il malware raccoglie attentamente informazioni sul sistema della vittima:

  • variabili di ambiente con configurazioni dei sistemi interni dello sviluppatore;
  • token e credenziali per npm, GitHub Actions, GitLab, Jenkins e CircleCI;
  • l’intero ambiente CI/CD attraverso il quale passano le modifiche al codice apportate da diversi sviluppatori.

I token rubati possono essere utilizzati per attaccare le supply chain e iniettare codice dannoso in progetti legittimi. Il furto di dati è organizzato in modo ridondante, utilizzando tre metodi: HTTP GET con dati nell’URL, HTTP POST con JSON e connessioni WebSocket.

Gli esperti scrivono che molti pacchetti dannosi sono mascherati da strumenti GitLab e Apache.

Lo slopsquatting, ovvero lo sfruttamento delle allucinazioni dell’intelligenza artificiale, gioca un ruolo speciale in questa campagna. Gli sviluppatori chiedono spesso agli assistenti LLM quali pacchetti siano più adatti a un particolare progetto. I modelli di intelligenza artificiale spesso inventano nomi inesistenti ma plausibili. Gli operatori PhantomRaven tracciano queste allucinazioni e registrano i pacchetti con questi nomi. Le vittime alla fine installano il malware da sole, seguendo le raccomandazioni di LLM.

Gli sviluppatori di LLM non comprendono ancora le cause esatte di queste allucinazioni e non sono in grado di creare modelli che le prevengano, ed è proprio questo che gli aggressori stanno sfruttando. I ricercatori ricordano di non affidarsi a LLM nella scelta delle dipendenze e di controllare attentamente i nomi dei pacchetti e le loro fonti, installando solo pacchetti provenienti da fornitori affidabili.

L'articolo 100 pacchetti di Infostealer caricati su NPM sfruttando le allucinazioni delle AI proviene da Red Hot Cyber.