Ci si può fidare dell'IA generativa per correggere il codice?

Ci si può fidare dell'IA generativa per correggere il codice?

Ci si può fidare dell’intelligenza artificiale generativa per correggere il codice? Intelligenza dei dati PlatoBlockchain. Ricerca verticale. Ai.

Le organizzazioni di tutto il mondo sono in corsa per adottare le tecnologie di intelligenza artificiale nei loro programmi e strumenti di sicurezza informatica. UN maggioranza (65%) degli sviluppatori utilizzare o pianificare utilizzare l’intelligenza artificiale negli sforzi di test nei prossimi tre anni. Esistono molte applicazioni di sicurezza che trarranno vantaggio dall’intelligenza artificiale generativa, ma la correzione del codice è una di queste?

Per molti team DevSecOps, l’intelligenza artificiale generativa rappresenta il Santo Graal per eliminare i crescenti arretrati di vulnerabilità. Ben più della metà (66%) delle organizzazioni afferma che i propri arretrati comprendono più di 100,000 vulnerabilità e oltre due terzi dei risultati riportati dai test statici di sicurezza delle applicazioni (SAST) rimangono aperti tre mesi dopo il rilevamento, con Il 50% rimane aperto dopo 363 giorni. Il sogno è che uno sviluppatore possa semplicemente chiedere a ChatGPT di “risolvere questa vulnerabilità” e le ore e i giorni spesi in precedenza per rimediare alle vulnerabilità diventerebbero un ricordo del passato.

Non è un'idea del tutto folle, in teoria. Dopotutto, l’apprendimento automatico è stato utilizzato efficacemente per anni negli strumenti di sicurezza informatica per automatizzare i processi e risparmiare tempo: l’intelligenza artificiale è estremamente vantaggiosa se applicata a compiti semplici e ripetitivi. Ma l’applicazione dell’intelligenza artificiale generativa ad applicazioni di codice complesse presenta, nella pratica, alcuni difetti. Senza la supervisione umana e il comando espresso, i team DevSecOps potrebbero finire per creare più problemi di quanti ne risolvano.

Vantaggi e limitazioni dell'intelligenza artificiale generativa relativi alla correzione del codice

Gli strumenti di intelligenza artificiale possono essere strumenti incredibilmente potenti per analisi, monitoraggio o anche esigenze correttive semplici e a basso rischio della sicurezza informatica. La preoccupazione sorge quando la posta in gioco diventa consequenziale. In definitiva, questa è una questione di fiducia.

Ricercatori e sviluppatori stanno ancora determinando le capacità della nuova tecnologia di intelligenza artificiale generativa produrre correzioni di codice complesse. L’intelligenza artificiale generativa si basa sulle informazioni esistenti e disponibili per prendere decisioni. Questo può essere utile per cose come tradurre il codice da una lingua a un'altra o correggere difetti ben noti. Ad esempio, se chiedi a ChatGPT di "scrivere questo codice JavaScript in Python", è probabile che otterrai un buon risultato. Utilizzarlo per correggere una configurazione di sicurezza nel cloud sarebbe utile perché la documentazione pertinente per farlo è disponibile pubblicamente e facilmente reperibile e l'intelligenza artificiale può seguire le semplici istruzioni.

Tuttavia, per risolvere la maggior parte delle vulnerabilità del codice è necessario agire su una serie unica di circostanze e dettagli, introducendo uno scenario più complesso in cui l’IA può orientarsi. L’intelligenza artificiale potrebbe fornire una “correzione”, ma senza verifica non dovrebbe essere considerata attendibile. L’intelligenza artificiale generativa, per definizione, non può creare qualcosa che non sia già noto e può sperimentare allucinazioni che si traducono in risultati falsi.

In un esempio recente, un avvocato sta affrontando gravi conseguenze dopo aver utilizzato ChatGPT per scrivere documenti giudiziari che citavano sei casi inesistenti inventati dallo strumento di intelligenza artificiale. Se l'intelligenza artificiale dovesse avere allucinazioni su metodi che non esistono e poi applicarli alla scrittura del codice, si otterrebbe una perdita di tempo su una "correzione" che non può essere compilata. Inoltre, secondo OpenAI Libro bianco GPT-4, nuovi exploit, jailbreak e comportamenti emergenti verranno scoperti nel tempo e saranno difficili da prevenire. È quindi necessaria un’attenta considerazione per garantire che gli strumenti di sicurezza dell’intelligenza artificiale e le soluzioni di terze parti siano controllati e aggiornati regolarmente per garantire che non diventino backdoor involontarie nel sistema.

Fidarsi o non fidarsi?

È una dinamica interessante vedere la rapida adozione dell’intelligenza artificiale generativa all’apice del movimento Zero Trust. La maggior parte degli strumenti di sicurezza informatica si basa sull’idea che le organizzazioni non dovrebbero mai fidarsi, ma verificare sempre. L’intelligenza artificiale generativa si basa sul principio della fiducia intrinseca nelle informazioni messe a sua disposizione da fonti conosciute e sconosciute. Questo scontro di principi sembra una metafora adatta per la lotta persistente che le organizzazioni affrontano nel trovare il giusto equilibrio tra sicurezza e produttività, che sembra particolarmente esacerbata in questo momento.

Anche se l’intelligenza artificiale generativa potrebbe non essere ancora il Santo Graal che i team DevSecOps speravano, aiuterà a compiere progressi incrementali nella riduzione degli arretrati di vulnerabilità. Per ora, può essere applicato per apportare semplici correzioni. Per soluzioni più complesse, dovranno adottare una metodologia di verifica-affidabilità che sfrutti la potenza dell'intelligenza artificiale guidata dalla conoscenza degli sviluppatori che hanno scritto e possiedono il codice.

Timestamp:

Di più da Lettura oscura