In situazioni come queste, l'intelligenza artificiale può sembrare innocuamente utile, ma le capacità dell'intelligenza artificiale non si esauriscono con le funzioni di personalizzazione benevole e divertenti. Quando i nostri telefoni iniziano ad "ascoltare" per inserire annunci specifici e "utili" davanti a noi, è necessario avviare conversazioni sulla privacy.
È qui che entra in gioco il discusso fattore rischio-ricompensa dell'IA. Un recente rapporto McKinsey afferma che con gli strumenti di codifica basati sull'IA generativa emergono nuovi rischi per i dati, la proprietà intellettuale e le normative; con l'aumento della velocità spesso si presentano vulnerabilità di sicurezza che possono emergere nel codice generato dall'IA, mettendo a rischio sistemi e organizzazioni, creando errori di codifica, vulnerabilità di governance e altro ancora.
Uno studio dell'Università di Stanford ha rilevato che i programmatori che accettano l'aiuto di strumenti di IA come Github Copilot producono codice meno sicuro rispetto a quelli che scrivono il codice da soli, concludendo che, pur essendo efficaci nel velocizzare i processi, questi strumenti dovrebbero essere considerati con cautela.
Indubbiamente, il codice assistito dall'intelligenza artificiale apre la porta a potenziali problemi che rendono necessarie pratiche di sicurezza avanzate nelle aziende che lo utilizzano.
Come gestire la sicurezza durante la rivoluzione dei citizen developer
Nonostante i rischi, gli sviluppatori della maggior parte dei settori utilizzano l'IA nello sviluppo e nella distribuzione del codice. Infatti, secondo GitHub e Wakefield Research, il 92% degli sviluppatori utilizza già strumenti di codifica basati sull'IA nel proprio lavoro.
Le piattaforme low-code/no-code e "code assist" stanno aumentando l'accessibilità dell'IA ai "citizen developer", dipendenti non tecnici che non hanno una formazione formale in materia di codifica, ma che ora utilizzano queste piattaforme per creare applicazioni aziendali.
Gartner prevede che entro il 2024 oltre il 50% delle aziende medio-grandi adotterà una piattaforma no-code/low-code. Rendendo il processo di sviluppo più accessibile a un maggior numero di dipendenti, le aziende cercano di realizzare un triplo gioco: risolvere più rapidamente i problemi del software, ridurre la pressione sui team tecnici e accelerare l'innovazione AppDev. In teoria è un'ottima idea, ma in pratica stiamo scoprendo che i rischi sono molto elevati.
Utilizzando funzioni assistite dall'intelligenza artificiale, come i suggerimenti di codice, i cittadini sviluppatori possono sfruttare la potenza dell'intelligenza artificiale per creare applicazioni complesse che affrontano le sfide del mondo reale, riducendo al contempo la tradizionale dipendenza dai team IT.
Tuttavia, la maggiore velocità consentita dall'IA generativa è accompagnata da un'indubbia maggiore responsabilità. Sebbene sia rivoluzionario, senza linee guida di sicurezza adeguate, il codice assistito dall'IA può esporre le aziende a una miriade di minacce e vulnerabilità di sicurezza.
L'aggiunta di funzionalità low-code/no-code al mix solleva una questione pesante per le aziende: i processi di sicurezza già messi in atto sono in grado di gestire l'afflusso di minacce prodotte dall'uso di codice generato o assistito dall'IA?
Queste piattaforme possono oscurare la conoscenza da parte dell'azienda dell'esatta provenienza del codice, aprendo la porta a rischi normativi e sollevando la questione dell'esistenza di autorizzazioni adeguate associate al codice in fase di sviluppo.
Stabilire dei paletti che prevengano il caos e guidino il successo
Secondo l'Application Security Threat Report 2023 di Digital.ai, il 57% di tutte le applicazioni in circolazione è "sotto attacco" e ha subito almeno un attacco. Una ricerca dell'Università di New York afferma che il 40% del codice testato prodotto da "copiloti" dotati di intelligenza artificiale include bug o difetti di progettazione che potrebbero essere sfruttati da un aggressore.
Le piattaforme low-code/no-code rendono inavvertitamente facile aggirare le fasi procedurali della produzione che salvaguardano il codice. Questo problema può essere esacerbato dalla mancanza di sviluppatori con una conoscenza concreta della codifica e della sicurezza, in quanto questi individui sarebbero più inclini a sollevare segnalazioni.
Dalle violazioni dei dati ai problemi di conformità, l'aumento della velocità può avere un costo elevato per le aziende che non adottano le misure necessarie per scalare con sicurezza. Le conseguenze possono essere non solo perdite finanziarie, ma anche battaglie legali e danni alla reputazione dell'azienda.
Il mantenimento di un team forte di sviluppatori professionisti e di meccanismi di protezione può impedire l'emergere di uno scenario da Far West, in cui il desiderio di giocare in fretta e furia crea vulnerabilità di sicurezza, debiti tecnici crescenti dovuti alla mancanza di gestione e supervisione a livello di sviluppatori e pratiche di sviluppo incoerenti che generano responsabilità, bug del software e problemi di conformità.
Gli strumenti basati sull'intelligenza artificiale possono compensare le complicazioni causate dall'accelerazione e dall'automazione attraverso la governance del codice e i meccanismi di intelligenza predittiva.
Tuttavia, le aziende spesso si ritrovano con un portafoglio frammentato di strumenti di intelligenza artificiale che creano colli di bottiglia nei processi di sviluppo e consegna o mancano di strumenti di sicurezza adeguati per garantire la qualità del codice.
In queste situazioni, i citizen developer possono e devono rivolgersi ai loro team tecnici e applicare gli insegnamenti di DevSecOps, dalle best practice di change management e orchestrazione dei rilasci alla governance della sicurezza e al continuous testing, per creare un approccio sistematico che sfrutti le capacità dell'IA su scala.
In questo modo, le aziende possono trarre il massimo beneficio da questo nuovo processo aziendale senza cadere vittime dei rischi.
La chiave per le grandi imprese è trovare il giusto equilibrio tra lo sfruttamento del potenziale delle piattaforme di assistenza all'IA come il low-code/no-code e la salvaguardia dell'integrità e della sicurezza dei loro sforzi di sviluppo del software per realizzare appieno il potenziale di queste tecnologie trasformative.