Sicurezza informatica Le allucinazioni dell'intelligenza artificiale...

Le allucinazioni dell'intelligenza artificiale rappresentano una nuova minaccia per la catena di fornitura del software

In un nuovo, inquietante sviluppo per sviluppatori e organizzazioni che si affidano all'intelligenza artificiale per la programmazione, i ricercatori hanno scoperto una nuova minaccia alla supply chain creata dalle allucinazioni dell'IA nei modelli di generazione del codice. Questo vettore di attacco emergente, soprannominato "slopsquatting" , potrebbe consentire a malintenzionati di infiltrarsi negli ecosistemi software sfruttando pacchetti fittizi allucinati dai Large Language Model (LLM).

Il pericolo risiede nel fatto che gli LLM spesso "allucinano" i pacchetti, suggerendo o inserendo riferimenti a dipendenze software che semplicemente non esistono. Una ricerca condotta congiuntamente dall'Università del Texas a San Antonio, dall'Università dell'Oklahoma e dal Virginia Tech, ha scoperto che nessuno dei 16 LLM più diffusi testati era immune a questo fenomeno.

Cos'è lo Slopsquatting e come funziona?

Lo slopsquatting sfrutta questo difetto allucinatorio e lo trasforma in un'arma. Quando un LLM suggerisce un pacchetto inesistente durante la generazione del codice, i criminali informatici possono rapidamente registrare un pacchetto dannoso con quel nome. Una volta pubblicato, qualsiasi sviluppatore che accetti il codice generato dall'IA per buono potrebbe importare ed eseguire inconsapevolmente il pacchetto dannoso. Questo non solo compromette il singolo progetto, ma potrebbe anche propagarsi a intere catene di fornitura del software se il codice infetto viene riutilizzato o condiviso.

Lo studio ha rilevato che, su 2,23 milioni di pacchetti generati in scenari di test Python e JavaScript, quasi 440.000, ovvero circa il 19,7%, erano allucinati. Di questi, ben 205.474 erano nomi di pacchetti fittizi e univoci. La maggior parte dei pacchetti allucinati, l'81%, era specifica per il modello specifico che li aveva generati, il che indica comportamenti incoerenti nei diversi LLM.

I modelli di intelligenza artificiale commerciali hanno allucinato i pacchetti in almeno il 5,2% dei casi, mentre i modelli open source hanno ottenuto risultati significativamente peggiori, con tassi di allucinazione che hanno raggiunto il 21,7%. È allarmante che questi errori non siano stati solo casi isolati e casuali. Oltre la metà dei pacchetti allucinati (58%) è apparsa ripetutamente entro sole 10 iterazioni, mostrando una chiara tendenza alla persistenza.

Il crescente rischio del codice generato dall'intelligenza artificiale nello sviluppo software

Sebbene studi precedenti abbiano riconosciuto la minaccia del typosquatting, ovvero l'attacco in cui gli aggressori sfruttano nomi di pacchetti errati o fuorvianti, questo nuovo attacco di slopsquatting rappresenta una variante trascurata e potenzialmente molto più pericolosa. A differenza del typosquatting, che sfrutta l'errore umano, lo slopsquatting sfrutta l'autorevolezza e l'affidabilità percepite del codice generato dall'intelligenza artificiale.

Forse la cosa più affascinante, e altrettanto preoccupante, è che i ricercatori hanno scoperto che gli LLM erano in grado di riconoscere molte delle proprie allucinazioni. Questo suggerisce un potenziale di autoregolazione inesplorato che potrebbe essere utilizzato in futuri meccanismi di sicurezza. Suggerisce anche la possibilità di implementare strumenti di rilevamento integrati nei modelli per prevenire la distribuzione di codice difettoso o pericoloso.

Come gli sviluppatori possono proteggersi dalle allucinazioni dei pacchetti AI

Per contrastare la minaccia, i ricercatori propongono una serie di misure di mitigazione. Queste includono tecniche avanzate di prompt engineering come la Retrieval Augmented Generation (RAG), il prompt tuning e l'autoraffinamento. Per quanto riguarda lo sviluppo del modello, strategie come il fine-tuning supervisionato e algoritmi di decodifica migliorati potrebbero contribuire a ridurre i tassi di allucinazioni.

Mentre l'intelligenza artificiale generativa continua a trasformare lo sviluppo del software, questo studio ci ricorda chiaramente che la praticità può avere un costo. Gli sviluppatori devono rimanere vigili e critici nei confronti del codice generato dall'intelligenza artificiale, soprattutto quando si tratta di gestione delle dipendenze. Integrare strumenti di analisi statica e revisioni manuali prima di installare qualsiasi pacchetto consigliato è ora più importante che mai.

Il panorama delle minacce si sta evolvendo rapidamente e, come dimostra questa ricerca, anche le nostre difese devono evolversi. Quella che un tempo sembrava fantascienza – l'intelligenza artificiale che immagina un software inesistente – è diventata una preoccupazione reale per la sicurezza informatica, con implicazioni di vasta portata.

Caricamento in corso...