Approfondimenti Come ridurre i rischi di sicurezza nel codice generato da IA
Marina Londei
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

Per Millennial e GenZ la GenAI migliora il work-life balance e la qualità del lavoro

Secondo una ricerca di Deloitte, Millennial e GenZ sono ottimisti riguardo la GenAI e ritengono che possa migliorare il...

News

YouTube annuncia una feature di IA per aiutare i creator a generare idee

YouTube ha annunciato l'arrivo di una feature di IA che aiuterà i creator della piattaforma a generare nuove idee per il...

News

Da Italtel una piattaforma per il monitoraggio degli incendi basata su IA

Italtel ha realizzato per il RAP (Risorse Ambiente Palermo) una piattaforma di prevenzione degli incendi basata su intel...

Approfondimenti

Come la speech analytics basata su IA migliora i contact center

I contact center possono fare uso di strumenti di speech analytics basati su IA per migliorare il servizio offerto ai pr...