AI package hallucination, come non fidarsi dei consigli di ChatGPT

I ricercatori, del team di ricerca Voyager18 di Vulcan Cyber, hanno di recente pubblicato in un rapporto la scoperta di una vulnerabilità preoccupante sulla popolare piattaforma di intelligenza artificiale generativa ChatGPT.

Il difetto consentirebbe agli attaccanti di sfruttare il fenomeno, noto come “AI hallucination“, in cui ChatGPT, come modello LLM (Large Language Models), tenderebbe a generare talvolta informazioni plausibili ma fittizie fornendo risposte che esulano dai propri dati di addestramento.

Lo scenario di attacco

Utilizzando ciò che i ricercatori chiamano “AI package hallucination“, gli attori delle minacce possono creare e distribuire pacchetti di codice dannoso che gli sviluppatori potrebbero inavvertitamente scaricare e integrare nelle loro applicazioni e repository di codice legittimi.

Scenario di attacco (Fonte Voyager18)

In particolare lo scenario di attacco prevederebbe di porre domande circa la codifica software di determinate applicazioni a ChatGPT, in attesa di ricevere in risposta le raccomandazioni per la relativa implementazione. Poichè spesso la piattaforma suggerirebbe nelle risposte pacchetti non pubblicati o inesistenti come soluzione, gli attaccanti sfrutterebbero questa evenienza per creare le loro versioni dannose di questi pacchetti in attesa che ChatGPT li consigli successivamente ad altri sviluppatori che inconsapevolmente potrebbero introdurli nella loro catena di fornitura del software, con tutte le conseguenze del caso.

AI package hallucination (Fonte Voyager18)

La simulazione PoC

Per dimostrare la gravità del problema, i ricercatori hanno condotto una simulazione PoC (proof-of-concept) utilizzando ChatGPT 3.5

Nel PoC vedremo una conversazione tra un utente malintenzionato e ChatGPT, utilizzando l’API, in cui ChatGPT suggerirà un pacchetto npm non pubblicato chiamato arangodb. Successivamente, l’attaccante simulato pubblicherà un pacchetto dannoso nel repository NPM per impostare una trappola per un utente ignaro. Successivamente, mostriamo una conversazione con un utente che pone a ChatGPT la stessa domanda, in cui risponde con lo stesso pacchetto originariamente inesistente. Tuttavia, il pacchetto ora esiste come nostra creazione dannosa.“, spiega il ricercatore Bar Lanjado di Voyager18.

La conversazione tra la vittima e ChatGPT (Fonte Vojager18)

Raccomandazioni

Questa ricerca evidenzia come del codice malware potrebbe facilmente finire in applicazioni e repository ampiamente fruiti dalla comunità cyber, ponendo in risalto i rischi posti alla catena di approvvigionamento del software.

Per identificare e mitigare questi rischi, il team di Vojager18 consiglia agli sviluppatori di assicurarsi della legittimità dei pacchetti che scaricano valutando come indicatori i numeri di download e le recensioni provenienti da fonti attendibili e non da piattaforme di intelligenza artificiale.

Su Salvatore Lombardo 192 Articoli
Ingegnere elettronico e socio Clusit, da qualche tempo, sposando il principio dell’educazione consapevole, scrive online per diversi magazine sull’Information Security. È inoltre autore del libro “La Gestione della Cyber Security nella Pubblica Amministrazione”. “Education improves Awareness” è il suo motto.