Il contesto attuale del codice generato dall'IA
Gli assistenti di codifica basati su intelligenza artificiale producono codice sintatticamente corretto più del 95 % delle volte, ma solo il 55 % di questi risultati è effettivamente sicuro. Questo dato, fornito da Veracode in un benchmark costante di 80 task di programmazione aggiornato a marzo 2026, mette in luce una discrepanza importante tra precisione sintattica e sicurezza.
Il benchmark, che ha valutato oltre 150 modelli, mostra che i modelli più avanzati – GPT‑5.1, GPT‑5.2, Gemini 3, Claude 4.5 e 4.6 – si attestano tra il 55 % e il 60 % di codice sicuro. Solo i modelli di ragionamento di OpenAI superano il 70 % ma, anche in questi casi, un terzo del codice rimane vulnerabile.
1 – La sicurezza del codice: il punto debole più evidente
La statistica chiave da tenere a mente per ogni CIO è che solo il 55 % del codice generato è sicuro. Nelle rimanenti 45 % di casi, il modello introduce vulnerabilità presenti nella lista OWASP Top 10. Le performance di sicurezza non sono migliorate negli ultimi due anni, nonostante i progressi nella generazione sintattica.
Le vulnerabilità più comuni variano a seconda del tipo di attacco:
- Iniezioni SQL: tasso di successo 82 %.
- Problemi di crittografia: tasso di successo 86 %.
- Cross‑site scripting (XSS): solo 15 % di successo.
- Iniezioni nei log: 13 % di successo.
Queste differenze riflettono la capacità limitata dei modelli di comprendere il flusso dei dati controllati dall'utente all'interno dell'applicazione.
Impatto dei linguaggi di programmazione
Il benchmark rivela inoltre divergenze marcate tra linguaggi:
- Python: 62 % di codice sicuro.
- JavaScript: 57 %.
- Java: 29 % (penalizzato da un ampio corpus storico di codice vulnerabile).
Framework moderni come Symfony (Doctrine), Twig e Angular offrono protezioni integrate, ma queste si annullano quando il modello genera SQL grezzo o utilizza metodi non sanitizzati.
2 – Il contesto è più importante del modello
I modelli sono addestrati su codice pubblico, gran parte del quale contiene vulnerabilità non corrette. Di conseguenza, le pratiche non sicure diventano parte dell’apprendimento del modello, rendendo necessario un “delivery harness” che includa governance basata sui rischi e controlli di qualità automatizzati.
Fornitori come Anthropic limitano l’accesso alle versioni più sicure dei loro modelli (Fable 5 con classificatore) riservando le versioni non filtrate (Mythos 5) a pochi partner approvati. Anche valutazioni indipendenti, come quelle di Endor Labs, collocano Fable 5 nella media per correzione della sicurezza, mentre Sonar ha individuato una vulnerabilità di livello alto in un modulo Java generato in 13 minuti, intercettata solo grazie a un controllo qualità.
3 – Costruire il “delivery harness” più sicuro
Non è più questione di “qual è il modello più sicuro?”, ma di “qual è il quadro di utilizzo più sicuro?”. Il delivery harness è un insieme di regole di governance, supervisione umana e controlli automatizzati che accompagnano il codice generato in ogni fase del ciclo di vita dello sviluppo.
Le regole fondamentali includono:
- Il codice generato dall'IA deve essere 100 % compreso e validato da un umano.
- Ogni incremento è responsabilità del developer.
- Una revisione tecnica senior è obbligatoria prima dell'accettazione contrattuale.
- Qualsiasi incertezza deve essere elevata a un esperto, non risolta tramite interazione non verificata con il LLM.
Queste pratiche non sostituiscono gli ingegneri esperti, ma potenziano la loro capacità di identificare vulnerabilità come concatenazioni SQL non sicure o mancanza di escaping.
4 – Governance come acceleratore
Le “zone rosse” – sicurezza, diritti di accesso, dati sensibili, modelli di dati e componenti architetturali critici – richiedono controlli rigorosi o addirittura il divieto di generazione IA. Le aree a basso rischio possono invece beneficiare della velocità dell’IA.
Questa asimmetria consente di mantenere alta la velocità di sviluppo senza aumentare il rischio. I controlli di qualità vengono integrati lungo l’intero ciclo di consegna, non solo alla fine:
- Specifiche e criteri di accettazione verificati prima della generazione.
- Filtraggio delle informazioni sensibili nei prompt.
- Copertura di test minima dell'80 %.
- Tracciabilità completa di ogni artefatto, inclusi modello e versione.
Esempio pratico di implementazione
Un team di sviluppo adottò il seguente flusso:
- Definizione di policy di zona rossa e gialla.
- Prompt sanitizzati con placeholder per dati sensibili.
- Generazione del codice tramite modello scelto.
- Revisione automatica con tool statici (Veracode, SonarQube).
- Revisione manuale da parte di un senior.
- Integrazione in CI/CD con test di sicurezza obbligatori.
Il risultato è stato una riduzione del 40 % delle vulnerabilità critiche rispetto a un progetto precedente senza governance.
5 – Verso una trasformazione della governance
Per trasformare la governance in un vero motore competitivo, le organizzazioni devono:
- Formalizzare policy di utilizzo IA a livello aziendale.
- Investire in piattaforme di monitoraggio dei modelli (tracciabilità, versionamento).
- Formare i developer su best practice di prompt engineering e revisione di codice IA.
- Integrare sistemi di risk scoring per valutare il livello di esposizione di ogni artefatto.
Solo con questi elementi le imprese potranno sfruttare l’IA generativa non solo per aumentare la velocità, ma per differenziarsi sul mercato grazie a una sicurezza comprovata.
