L'azienda di software di sicurezza Veracode ha testato oltre 100 modelli di intelligenza artificiale leader su sfide di codifica standard.
I risultati?
🔒 Quasi il 50% del codice generato presenta gravi falle di sicurezza.
Ai modelli, provenienti da LLM popolari come GPT-4 , Claude , Gemini , Mistral e altri, è stato chiesto di risolvere le tipiche attività software delle 10 principali problematiche di sicurezza di OWASP.
Il bello è che anche i modelli che si vantavano di essere ottimizzati per la sicurezza o la codifica... si sono rivelati comunque dei fallimenti.
Cosa dice Veracode
Veracode ha sottolineato che:
Nessun modello di intelligenza artificiale è immune: persino gli LLM più performanti hanno commesso errori critici in materia di sicurezza.
Molte vulnerabilità erano nascoste in un codice che a prima vista sembrava a posto.
Il tipo di compito era importante: alcuni modelli avevano risultati migliori in certe sfide, peggiori in altre.
La scansione di sicurezza e la supervisione umana sono ancora necessarie, indipendentemente da quanto sia avanzato il modello.
Dal blog ufficiale di Veracode:
"È chiaro che nessun modello ne è immune. Le vulnerabilità di sicurezza erano comuni in tutti i settori, anche in risultati che a prima vista sembravano corretti."
- Chris Wysopal, CTO di Veracode
fonte: blog di Veracode
Cosa significa (in parole umane)
Supponiamo che tu chieda a un modello di intelligenza artificiale di scrivere alcune righe di codice per la tua app.
Ti dà qualcosa che sembra perfetto.
Ma nascosto in quel codice dall'aspetto pulito?
Una grave falla di sicurezza.
Ecco cosa ha scoperto questo studio: il codice scritto dall'intelligenza artificiale potrebbe non essere sicuro, anche se funziona correttamente.
E quasi la metà dei modelli di intelligenza artificiale testati presentava questo problema.
Quindi cosa c'è da sapere?
✅ Non fidarti ciecamente del codice AI
Anche se sembra lucido o "pulito", usa uno scanner. Chiedi a un tecnico. Controlla due volte.
✅ Gli LLM non "conoscono" le migliori pratiche di sicurezza
A meno che non siano stati addestrati e preparati per questo, cosa che la maggior parte di loro non ha fatto.
✅ L'intelligenza artificiale fa risparmiare tempo, non responsabilità
È ancora necessario il giudizio umano per individuare ciò che il modello ha trascurato.
Se stai sviluppando un software, anche con l'aiuto dell'intelligenza artificiale,
sei ancora responsabile di ciò che entra in produzione.
Meglio al sicuro che violato.
Collegare i puntini
Se sei scettico sui risultati, bene.
Vediamo nel dettaglio cosa è realmente accaduto in questo studio, così che tutti possiamo comprendere quanto siano solidi i risultati.
🧠 Su cosa si sono concentrati?
Hanno testato gli LLM su compiti di codifica reali, in particolare quelli che chiameremmo " vibe coding ":
Moduli front-end JavaScript
Gestori API Python
output HTML
Convalida dell'input
Pensa: "Ehi AI, scrivimi un modulo di registrazione" oppure "Crea una funzione di accesso utente".
Ciò che gli sviluppatori (e ora anche l'intelligenza artificiale) sfornano ogni giorno: il tipo di codice che sembra semplice ma che nasconde gravi rischi per la sicurezza se eseguito in modo errato.
Ed è proprio per questo che è importante.
🧪 Come hanno condotto la ricerca?
I ricercatori hanno fornito a ciascun modello dei prompt che sembravano normali richieste degli sviluppatori, come:
“Scrivi una funzione Python per ripulire l'input dell'utente prima di inserirlo in una query SQL.”
Hanno quindi valutato manualmente il codice generato dall'intelligenza artificiale utilizzando un sistema di punteggio delle vulnerabilità per verificare aspetti come:
iniezione SQL
XSS
Autenticazione non funzionante
Progettazione API non sicura
Lo hanno fatto più di 100 volte, non in una, ma in nove categorie di compiti.
E sì, hanno utilizzato anche stili di prompt diversi (informale, formale, chiaro, vago) per vedere se i risultati cambiavano.
fonte: blog di Veracode
🧮 Cosa hanno scoperto realmente?
Ed ecco dove la cosa si fa illuminante:
Quasi la metà dei modelli presentava gravi falle di sicurezza
Alcuni modelli ben noti consigliavano modelli di codice non funzionante
Altri hanno dato risultati rischiosi con un tono sicuro, il che significa che sembravano legittimi, ma erano pericolosi
Non si tratta solo di sbagliarsi.
Si tratta di avere la certezza di sbagliarsi e di scaricarla sugli sviluppatori ignari.
Perché la sicurezza non è migliorata con modelli più grandi?
Questa è la parte sorprendente.
Si potrebbe pensare che modelli più grandi = modelli più intelligenti = codice più sicuro, giusto?
Ma lo studio non ha trovato alcun collegamento diretto tra le dimensioni o la popolarità del modello e la qualità della sicurezza.
In effetti, alcuni dei risultati peggiori sono stati ottenuti da modelli di grandi nomi, addestrati su enormi set di dati.
Perché?
Perché gli LLM non sono formati per dare priorità alla sicurezza, ma per sembrare utili.
Quindi, quando un modello vede 1.000 esempi di codice non sicuro ma popolare su Internet?
Impara a copiarlo.
E quando l'utente non chiede specificamente informazioni sulla sicurezza?
Il modello riempie gli spazi vuoti con "qualunque cosa sembri giusta".
Ecco perché la sicurezza non è migliorata magicamente con le dimensioni.
Perché non è una questione di dimensioni, ma di intenti.
E la maggior parte dei modelli viene ancora costruita per rispondere in modo rapido e sicuro, non con attenzione e sicurezza.
Conclusione
Questo studio ha testato oltre 100 modelli di codifica dell'intelligenza artificiale.
Il 45% di essi ha prodotto codice con gravi falle di sicurezza, anche per attività di base come il calcolo dell'input dell'utente o la gestione delle funzioni di accesso.
E il problema non sono i modelli oscuri.
Include strumenti open source molto diffusi e anche alcuni modelli commerciali.
Perché è importante:
Questi modelli sono già utilizzati dagli sviluppatori in tutto il mondo.
Alcuni di essi fanno parte di plugin, piattaforme e prodotti su cui le persone fanno affidamento ogni giorno.
Agli utenti non viene detto da dove proviene il codice, né quanto è sicuro.
Puoi leggere il riassunto completo della ricerca qui:
🔗 Studio di Veracode (tramite ITPro)
Ed ecco la pagina originale del laboratorio con maggiori informazioni tecniche:
🔗 Benchmark di sicurezza Veracode LLM
Sollecitalo
Temi che il tuo codice di intelligenza artificiale possa rappresentare un rischio per la sicurezza?
Utilizza questo prompt per verificare se ciò che hai ottenuto è effettivamente sicuro o se sembra semplicemente intelligente:
Sei un esperto di codifica sicura.
Si prega di esaminare il seguente codice per individuare potenziali falle di sicurezza, tra cui, a titolo esemplificativo ma non esaustivo:
- Problemi di convalida dell'input
- Iniezione SQL
- Cross-site scripting (XSS)
- Credenziali codificate
- Chiamate API non sicure
Spiega eventuali problemi riscontrati e suggerisci alternative più sicure.
[Inserisci qui il tuo codice]
🧊 Questo prompt si basa sul benchmark Veracode del 2025 di oltre 150 modelli di codifica AI.
Quasi la metà non ha rispettato le pratiche di sicurezza di base.
Prospettiva del team di Frozen Light
Questa non dovrebbe essere una notizia scioccante per nessuno.
Perché?
Perché l'intero test è stato costruito attorno al vibe coding, ovvero quando le persone sollecitano l'intelligenza artificiale in un inglese semplice e si aspettano in cambio un codice pronto per la produzione.
L'intelligenza artificiale non pensa "Dovrei renderlo sicuro?"
Fa quello che gli chiedi.
Esattamente quello che chiedi.
Ecco come funziona il prompting.
Ed ecco il vero punto che nessuno dice:
Se intendiamo gestire i nostri laboratori di sviluppo gestiti da una sola persona tramite il vibe coding, è meglio ricordare che ci impegniamo anche a ricoprire tutti i ruoli, incluso quello della sicurezza.
In questo test non è stato nemmeno chiesto all'intelligenza artificiale di risolvere complessi enigmi di sicurezza.
Ha semplicemente dimostrato che quando l'essere umano ignora l'intento più profondo, lo fa anche il modello.
Perché al momento l'intelligenza artificiale non è responsabile del quadro completo.
Noi siamo.
E non dimentichiamo:
L'intelligenza artificiale sta scrivendo codice...
L'intelligenza artificiale aiuta anche ad attaccare il codice.
Funziona su entrambi i lati del muro.
Quindi no, non dovremmo aspettarci che faccia da babysitter alla nostra sicurezza mentre sta ancora imparando a tenere in mano la torcia.
Ciò che questo test dimostra realmente è quanto tutto ciò sia nuovo.
Non che l'intelligenza artificiale sia negativa, ma il contesto e l'intento sono comunque importanti.
Se hai intenzione di provare a scrivere codice, bene.
Assicurati solo di sapere cosa stai cercando di ottenere.