La minaccia nascosta dell’AI che genera pacchetti software con “allucinazioni”
Gli assistenti di codifica alimentati dall’intelligenza artificiale, come Copilot di GitHub, Cursor AI e ChatGPT, sono passati rapidamente da gadget intriganti a compagni indispensabili per gli sviluppatori moderni.

Una recente ricerca di Stack Overflow ha rivelato che oltre il 76% degli sviluppatori si affida a questi assistenti e più dell’80% ha dichiarato di aver ottenuto significativi miglioramenti della produttività grazie all’uso di generatori di codice AI ed editor di codice aumentati. Questi “compagni di squadra virtuali” semplificano compiti complessi, snelliscono i flussi di lavoro di sviluppo e accelerano in modo significativo le tempistiche dei progetti.
Ogni innovazione porta con sé anche nuovi rischi. Gli assistenti di codifica AI generano occasionalmente le cosiddette “allucinazioni”, ovvero raccomandazioni per pacchetti software che semplicemente non esistono. Un recente studio condotto da ricercatori dell’Università del Texas a San Antonio, dell’Università dell’Oklahoma e della Virginia Tech ha rilevato che gli LLM open-source hanno generato pacchetti “allucinati” a percentuali allarmanti – circa il 21,7% in media – rispetto ai modelli commerciali che hanno registrato una media del 5,2%. I ricercatori hanno documentato oltre 200.000 nomi unici di pacchetti “allucinati” in questo solo studio, illustrando quanto questo problema sia davvero pervasivo e pericoloso. Non si tratta di errori evidenti: spesso assomigliano molto ai pacchetti software autentici, ingannando anche gli sviluppatori più esperti.
Inoltre, siamo anche in presenza di un’interessante dimensione interlinguistica in queste “allucinazioni”. I ricercatori hanno scoperto che i modelli di generazione di codice specifici per Python spesso “allucinavano” i pacchetti JavaScript: uno scenario inquietante, vista la potenziale confusione e i rischi che potrebbe creare negli ecosistemi software.
Gli attaccanti informatici hanno rapidamente sfruttato questa vulnerabilità, introducendo una nuova forma di attacco alla supply chain chiamata slopsquatting. A differenza del typosquatting tradizionale, che sfrutta gli errori di battitura dell’uomo, lo slopsquatting sfrutta le allucinazioni dell’intelligenza artificiale. Gli aggressori monitorano i nomi dei pacchetti suggeriti dall’intelligenza artificiale, registrando rapidamente queste dipendenze immaginarie su repository popolari come npm o PyPI. Quando gli sviluppatori ignari si fidano delle raccomandazioni dell’intelligenza artificiale e installano questi pacchetti, portano inavvertitamente codice dannoso nei loro ambienti.
Si consideri l’incidente “huggingface-cli” della fine del 2023. Dopo aver notato che l’AI suggeriva ripetutamente questo pacchetto inesistente, un ricercatore di sicurezza lo ha registrato su PyPI come test innocuo. Nel giro di pochi giorni, migliaia di sviluppatori, compresi i team di Alibaba, hanno inconsapevolmente adottato questo pacchetto fittizio nei loro progetti critici. Sebbene questo incidente sia stato benigno, ha dimostrato quanto rapidamente e facilmente gli aggressori possano sfruttare le vulnerabilità generate dall’intelligenza artificiale.
I ricercatori hanno testato diversi approcci per ridurre le “allucinazioni”, in particolare la retrieval augmented generation (RAG) e la messa a punto supervisionata. Se da un lato queste tecniche hanno ridotto drasticamente le allucinazioni (fino all’85%), dall’altro hanno introdotto un compromesso critico, influenzando negativamente la qualità complessiva del codice. Ciò sottolinea la necessità di soluzioni di sicurezza complete in grado di identificare in modo proattivo le minacce senza sacrificare l’efficienza dello sviluppo.
Comunicato di Aaron Rose, Office of the CTO di Check Point Software


Commenta la notizia
Vuoi un'immagine profilo personalizzata? Impostala su Gravatar utilizzando la stessa e-mail associata ai commenti.