Approfondimenti Come ridurre i rischi di sicurezza nel codice generato da IA
3' 5''
17/05/2024

L'IA è alleato fondamentale per lo sviluppo software, ma è importante che le organizzazioni impostino controlli per prevenire errori e vulnerabilità, proteggendosi dai rischi dell'automazione.

Come ridurre i rischi di sicurezza nel codice generato da IA

Molti sviluppatori hanno già cominciato a esplorare le potenzialità dell'intelligenza artificiale per generare codice e velocizzare così il processo di sviluppo, testing e messa in produzione del software.

Sebbene i copiloti di IA stiano dimostrando capacità sempre più avanzate nella generazione di codice, essi sono proni a numerosi errori e, se il loro lavoro non viene monitorato, possono introdurre nella codebase una serie di problemi che minano la sicurezza, la qualità e l'affidabilità dei software.

Bernd Greifeneder, CTO e fondatore di Dynatrace, spiega che uno dei motivi per i quali il codice generato dall'IA può essere pericoloso è perché i modelli si basano sull'"apprendimento probabilistico", ovvero combinano in maniera probabilistica le fonti da cui hanno "imparato" a programmare.

Queste fonti però potrebbero avere contenuti obsoleti e in ogni caso la loro combinazione potrebbe non essere ottimale. Se adesso le codebase da cui attinge l'IA sono di qualità accettabile, man mano che gli sviluppatori generanno codice tramite IA il valore del codice generato calerà, riducendo la qualità complessiva del software.

Greifeneder sottolinea inoltre che l'IA aumenta i problemi legati al copia/incolla incontrollato, poiché di fatto i chatbot non fanno che automatizzare questo processo su larga scala. Copiare e incollare porzioni di codice senza controllarne la qualità deteriora il software e riduce la manutenibilità della codebase.

Ormai è la normalità per i team di sviluppo aver a che fare con tempistiche molto strette che impediscono la review del codice, e non hanno di certo tempo per controllare manualmente l'output dell'IA generativa. In molti casi gli sviluppatori usano dei tool aggiuntivi per controllare il codice generato, rifattorizzarlo e fixarlo, ma visto che i modelli seguono tutti un modello di apprendimento probabilistico, anche i tool di monitoraggio sono soggetti agli stessi errori degli altri.

Pexels
coding

I tool di IA aumentano anche la frequenza dei cosiddetti code churn, ovvero la continua scrittura e cancellazione di codice che, alla lunga, riduce la qualità dell'output. Rimaneggiando lo stesso codice più volte si aumenta il rischio di introdurre bug e GitClear prevede che nel 2024, a causa dell'uso diffuso e non supervisionato dell'IA, il volume di codice aggiornato o su cui viene fatto roll back raddoppierà. 

Affidarsi completamente all'IA per la generazione di codice significa aumentare il rischio di diffusione di nuove vulnerabilità ed errori, mettendo in pericolo utenti e aziende. 

Gestire i rischi del codice generato da IA

Per proteggersi dai rischi derivanti dalla generazione di codice tramite IA, Greifeneder sottolinea l'importanza di immunizzare le applicazioni dal codice vulnerabile; il modo più efficace per farlo è automatizzare il processo di individuazione delle vulnerabilità, definire delle categorie di rischio e delle priorità e applicare policy che proteggono dall'esecuzione di codice dannoso. 

Le organizzazioni che usano copiloti di IA per il processo di sviluppo dovrebbero potenziare la visibilità sulle applicazioni per rispondere alle anomalie prima che causino problemi, individuando cioè tutti quei potenziali vettori d'attacco e risolvendoli prima del rilascio in produzione.

Greifeneder suggerisce anche di utilizzare diversi tipi di IA nello stesso framework, iniziando per esempio con l'introduzione dell'IA causale che offre visibilità in tempo reale sugli eventi del flusso e sul comportamento del codice tra i vari componenti del software. 

L'IA predittiva, inoltre, permette di anticipare i cambiamenti futuri nel comportamento del software basandosi sui pattern dei dati storici in modo che gli sviluppatori possano anticipare i problemi. 

L'IA diventerà ben presto un alleato fondamentale per lo sviluppo software, ma è importante che le organizzazioni impostino controlli efficaci e robusti per prevenire errori e vulnerabilità, proteggendosi dai rischi dell'automazione. 

Potrebbe interessarti anche

Approfondimenti

I sei trend di IA che rivoluzioneranno il marketing

Bernard Marr di Forbes individua sei trend di intelligenza artificiale che guideranno lo sviluppo del marketing nel 2025...

Approfondimenti

L'IA trasforma la diagnostica per immagini e i percorsi di cura

Il dibattito "Evoluzione tecnologica e Intelligenza Artificiale in Diagnostica per Immagini. Stato dell’arte e prospetti...

Approfondimenti

Il 55% delle aziende farmaceutiche usa l'IA per progettare prodotti e servizi

Secondo il report "AI: radiografia di una rivoluzione in corso" condotto da Ascendant di Minsait, le aziende farmaceutic...

Approfondimenti

Il mercato italiano del Business Process Management continua a crescere

In Italia il mercato del Business Process Management sta crescendo grazie all'IA e a una maggiore attenzione delle impre...