Salta al contenuto principale


Vibe Coding fuori controllo. L’IA Genera codice vulnerabile, ma tutti se ne fregano


L’intelligenza artificiale sta diventando sempre più un assistente per i programmatori, ma uno studio di Veracode ha dimostrato che la praticità comporta un rischio per la sicurezza. Un’analisi di 100 modelli linguistici principali (LLM) ha rivelato uno schema allarmante: in quasi la metà dei casi, i modelli generano codice vulnerabile.

Secondo un rapporto di Veracode, il 45% del codice generato dalle attività conteneva vulnerabilità note. E questo vale anche per i modelli più nuovi e potenti. La situazione non è cambiata molto negli ultimi due anni, nonostante il progresso tecnologico.

Sono stati condotti test su 80 task in quattro linguaggi di programmazione: Java, JavaScript, C# e Python. Sono state verificate le vulnerabilità più comuni: SQL injection, XSS, log injection e utilizzo di crittografia non sicura.

Java ha mostrato i risultati peggiori: solo il 28,5% delle soluzioni era sicuro. I migliori sono stati Python (61,7%) e JavaScript (57%). Gli sviluppatori attribuiscono questo risultato alla qualità dei dati di training: Java era spesso utilizzato prima dello studio attivo delle SQL injection e i modelli erano in grado di “imparare” i cattivi esempi.

Gli LLM sono particolarmente scarsi nel gestire XSS e log injection, con un punteggio di superamento non superiore al 13%. La situazione è migliore con SQL injection ed errori crittografici, con un livello di sicurezza del codice che raggiunge l’80-85%.

La dimensione del modello non ha praticamente alcun effetto sul risultato. Anche i modelli LLM con più di 100 miliardi di parametri mostrano lo stesso tasso di successo del 50% dei modelli più piccoli con meno di 20 miliardi.

I ricercatori sottolineano che gli LLM generalmente non sono efficaci nel sanificare i dati di input, soprattutto senza contesto. Il problema è aggravato dal fatto che la maggior parte dei modelli è stata addestrata su codice disponibile pubblicamente su GitHub e altri siti, che spesso contengono esempi non sicuri, a volte anche intenzionalmente, come in progetti educativi come WebGoat.

Veracode avverte che le aziende che stanno già implementando l’intelligenza artificiale nella fase di sviluppo, sia tramite piattaforme open source, appaltatori o low-code, potrebbero aumentare inconsapevolmente il rischio di violazioni dei dati e attacchi.

Il CEO di Val Town, Steve Kraus, chiama questo codice “vibe code” nel suo blog: è instabile, si rompe continuamente e richiede molto debug. Secondo lui, il “vibe coding” crea debito tecnico alla stessa velocità con cui l’intelligenza artificiale genera righe di codice. Può andare bene per i prototipi, ma non per progetti seri.

L'articolo Vibe Coding fuori controllo. L’IA Genera codice vulnerabile, ma tutti se ne fregano proviene da il blog della sicurezza informatica.