Approfondimenti L'IA per l'analisi delle vulnerabilità nel codice: i risultati promettenti di GPT-3
Marina Londei
2' 43''
28/11/2023

Chris Koch, sviluppatore presso Google, ha messo alla prova la capacità di GPT-3 di individuare bug in una codebase ricca di vulnerabilità.

L'IA per l'analisi delle vulnerabilità nel codice: i risultati promettenti di GPT-3

L'intelligenza artificiale continua a dare prova delle sue capacità in ogni ambito, compreso quello della sicurezza informatica. I tool di IA possono velocizzare l'individuazione delle minacce, analizzare gli alert in real time e guidare i team di sicurezza nel processo di risposta agli incidenti.

Tra le applicazioni più interessanti dell'IA nella cybersecurity c'è l'analisi del codice per individuare le vulnerabilità: i tool possono esaminare grandi codebase in pochi secondi per identificare bug e notificarli agli sviluppatori in modo da risolverli prima che arrivino in produzione.

Chris Koch, sviluppatore presso Google e ricercatore dell'Università della Pennsylvania, ha messo alla prova la capacità di GPT-3 di identificare i bug presenti in un repository GitHub contenente 129 file vulnerabili.

Pixabay
codice

L'esperimento

Koch ha utilizzato text-davinci-003, una variante di GPT-3 con una context window di 4000 token, ovvero circa 3000 parole. 

Poiché il modello non riesce a gestire un intero repository in una volta sola, Koch ha dovuto far scansionare a GPT-3 i file in maniera separata; ciò ha complicato l'analisi nei casi in cui le vulnerabilità erano il risultato di interazioni tra i diversi esempi. GPT-3 è riuscito comunque a individuare molti di questi bug sfruttando la conoscenza pregressa sulle librerie importate dai file. 

Ogni cartella del repository corrisponde a una specifica falla e contiene file con più vulnerabilità del tipo dichiarato. Alcune porzioni di codice sono esemplificative, mentre altre si rifanno a snippet realistici presenti nelle codebase di produzione. 

Oltre a individuare le vulnerabilità, Koch ha richiesto a GPT-3 di esplicitare una breve descrizione di ciascun bug per motivare l'analisi. 

Pixabay
intelligenza artificiale

I risultati

GPT-3 è riuscito a individuare vulnerabilità su 85 file dei 129 del repo, per un totale di 213 bug. Considerando che Snyk Code, uno dei tool di analisi di vulnerabilità migliori sul mercato ne ha individuate soltanto 99, il risultato è molto promettente.

Va detto che Snyk Code supporta solo alcuni linguaggi di programmazione ed è riuscito ad analizzare 103 file rispetto ai 129 di GPT-3, ma in proporzione il modello di OpenAI ha ottenuto risultati migliori del tool di analisi.

Koch ha analizzato manualmente 60 delle 213 vulnerabilità individuate dal modello e ha trovato che solo 4 di esse erano falsi positivi. 

In alcuni casi, pur avendo correttamente individuato i bug, GPT-3 ha formulato la spiegazione in maniera fuorviante, per esempio sbagliando i nomi delle variabili o riferendosi a numeri di linea di codice errati.

Pixabay
intelligenza artificiale

Nonostante le imprecisioni, l'esperimento ha dimostrato le enormi potenzialità del modello di OpenAI. Koch ha svolto il test a febbraio, quando GPT-4 non era stato ancora rilasciato; sarebbe interessante valutare le performance dell'ultima versione del modello e valutare quanto sia migliorato nell'individuazione delle vulnerabilità.

Considerati i limiti del modello per la scansione l'intero repository, al momento è difficile pensare a un'applicazione su larga scala di questa analisi. L'idea è integrare GPT-X e gli altri modelli nei tool di sicurezza per potenziare l'analisi delle vulnerabilità, addestrandoli su dataset specifici.  

L'intelligenza artificiale ha il potenziale di migliorare significativamente il processo di analisi dei bug durante lo sviluppo, aiutando i programmatori a risolvere le anomalie prima della pubblicazione di codice e dei test in ambiente e promuovendo di conseguenza una cultura di cybersecurity più robusta. 

Potrebbe interessarti anche

Opinioni

L'IA rende il marketing intelligente e ne riscrive le regole

Le big tech stanno già sfruttando le capacità dell'IA generativa per ottimizzare le campagne di marketing, riscrivendo l...

Opinioni

I tool generativi commettono ancora molti errori

I modelli generativi non sono ancora pronti per svolgere task complessi in autonomia: l'intervento umano è indispensabil...

Opinioni

GPT-4 è in arrivo: cosa sappiamo del nuovo modello?

GPT-4 di OpenAI sta per arrivare: quali sono le sue capacità e come migliorerà ChatGPT con il nuovo modello di linguaggi...

News

Un assistente genera le formule per i fogli di calcolo

Una interessante funzione della nuova versione di Grid apre una finestra sul futuro dell’integrazione tra gli strumenti...