Vai al contenuto principale
Una fila di semafori, tutti accesi in rosso, si perde in lontananza.
Approfondimenti degli analisti

Il vibe coding potrebbe essere inarrestabile—ma ecco come contenere i rischi

Proprio come l’ascesa fulminea di ChatGPT, quest’anno non si parla d’altro che di “vibe coding”. In effetti, è appena entrata a far parte del dizionario. Ma attenzione al boom: questi nuovi strumenti di programmazione basati sull’intelligenza artificiale offrono velocità, risparmi… e vulnerabilità sorprendenti.

Leo pensava di aver trovato una straordinaria scorciatoia per lo sviluppo di software.

All’inizio di quest’anno, Leonel Acevedo, fondatore di una startup specializzata in software di marketing per la generazione di lead e programmatore alle prime armi, ha lanciato un’applicazione SaaS (software-as-a-service) realizzata interamente con l’intelligenza artificiale di . Non ha mai modificato direttamente il codice di persona. Ha invece scelto di inserire dei prompt, ovvero delle istruzioni, in uno strumento di intelligenza artificiale e ha lasciato che fosse il sistema a svolgere il lavoro. Successivamente, ha raccontato con orgoglio al mondo il proprio successo in un post su “ ” pubblicato su X.

Un grave errore.

Due giorni dopo, la sua creazione era sotto attacco. Gli hacker hanno sfruttato al massimo le sue chiavi API (Application Programming Interface), sovraccaricando di fatto il sistema che gestisce la comunicazione tra le applicazioni. Hanno aggirato i suoi sistemi di abbonamento, che hanno lo scopo di bloccare chiunque non sia un utente pagante. A quel punto hanno iniziato a inserire voci casuali nel suo database, dimostrando di poter manipolare i dati a loro piacimento.

«Metà di Internet sta cercando di mandare in tilt il mio sito App solo perché ho reso pubblico un errore che ho commesso», ha scritto Acevedo, che ha prontamente chiuso il sito App. «Sa qual è la cosa peggiore? «Lo fanno per divertimento.»

L'implosione è stata rapida e istruttiva.

Il “Vibe coding”, ovvero la pratica che consiste nell’utilizzare modelli di intelligenza artificiale per creare applicazioni complete a partire da prompt in linguaggio naturale , è diventato un metodo diffuso per lo sviluppo di software. «La soglia di accesso alla programmazione è oggi più bassa che mai», ha affermato Andrew Ng, fondatore di Google Brain, in un intervento dal titolo “ ” ( ) tenuto lunedì alla conferenza Build di Snowflake. Tuttavia, i tempi di sviluppo rapidi e i costi contenuti che rendono la programmazione con Vibe così allettante comportano anche dei rischi, in quanto introducono codice generato automaticamente e non sottoposto a revisione nelle pipeline, con un controllo della sicurezza informatica minimo o del tutto assente. Di conseguenza, un numero sempre maggiore di persone e organizzazioni si troverà inevitabilmente a utilizzare software che presentano un numero record di malfunzionamenti, tali da rallentare le operazioni, e di vulnerabilità che gli hacker possono facilmente individuare e sfruttare.

«Se siete dei bravi programmatori, potete trarre grande beneficio dall’intelligenza artificiale, poiché sapete cosa state cercando e come guidarla», ha affermato Erlend Oftedal, direttore tecnico senior presso RSA Conference (RSAC) Research, responsabile del settore AppSec. «Ma se non siete bravi a programmare, ciò non farà che peggiorare le cose, poiché non sapete come verificare ciò che state sviluppando.» «Lei sta semplicemente sfornando roba a raffica.»

Vibe coding: le vibrazioni positive, quelle negative e tutto ciò che riguarda il capitale di rischio

Sebbene il termine “vibe coding” sia di recente conio, coniato dal ricercatore di intelligenza artificiale Andrej Karpathy e nominato proprio la scorsa settimana da come “ ” (parola dell’anno), la pratica di utilizzare l’intelligenza artificiale per guidare la creazione di codice non è affatto nuova.

«La soglia di accesso alla programmazione è oggi più bassa che mai.”
Andrew Ng, fondatore di Google Brain

In realtà, risale agli inizi del 2010s, quando i ricercatori iniziarono a utilizzare le reti neurali dell’apprendimento automat o — un software modellato in modo approssimativo sul modo in cui il cervello apprende — per il completamento del codice e la sintesi di programmi. Ciò ha aperto la strada a strumenti come DeepCoder nel 2016 e ai primi modelli “sequence-to-sequence” di Google; già all’inizio del 2020s, sistemi quali Codex di OpenAI e Copilot di GitHub stavano rendendo la programmazione assistita dall’IA una pratica diffusa.

Ecco ora l’ultima novità di questo lungo percorso: strumenti generativi come ChatGPT, GitHub Copilot, Claude di Anthropic e Cursor (utilizzato da Acevedo) rendono la programmazione ancora più veloce e semplice, oltre che più allettante per le imprese. Lo scorso anno, oltre il 90% degli sviluppatori di aziende di medie e grandi dimensioni ha ammesso di utilizzare l’intelligenza artificiale per generare codice, secondo un sondaggio condotto da Checkmarx/Censuswide dal titolo “ ” (). E, secondo un sondaggio condotto da 2024 GitHub , attualmente tra il 30% e il 40% delle organizzazioni promuove attivamente il “vibe coding”, presumibilmente per ridurre i costi e accelerare i cicli di vita dello sviluppo software (SDL).

[Legga anche: Che cos’è il “vibe coding”?] I pro, i contro e le polemiche]

A onor del vero, le aziende di software hanno sempre rilasciato codice prima che fosse pronto, nell’intento di anticipare la concorrenza sul mercato. È risaputo che i nuovi sistemi operativi e le nuove applicazioni contengono numerosi bug operativi e di sicurezza, la cui correzione e risoluzione può richiedere alle aziende mesi di lavoro. , la pratica rischiosa di applicare le patch con lentezza è ormai diventata endemica. Ciò che preoccupa ora gli esperti di sicurezza, tuttavia, è che la programmazione assistita dall’intelligenza artificiale possa generare vulnerabilità su una scala talmente ampia che molte di esse non verranno mai né identificate o risolte.

In realtà, sta già accadendo. In un recente studio di Veracode intitolato “ ” (), il 45% degli oltre 100 esempi di codice generati dall’intelligenza artificiale sottoposti a verifica non ha superato i test di sicurezza e ha comportato rischi critici per la sicurezza delle applicazioni web.

Tali preoccupazioni non stanno impedendo a fornitori e investitori di saltare sul carrozzone del “vibe coding”. Infatti, le startup specializzate in strumenti di programmazione basati sull’intuito hanno recentemente attirato ingenti finanziamenti da parte di fondi di capitale di rischio, tra cui Anysphere, creatrice di Cursor, che ha raccolto 900 milioni di dollari; Replit, che si è assicurata 250 milioni di dollari; e Lovable, che ha raccolto 200 milioni di dollari.

Sebbene non siano incentrati esclusivamente sulla sicurezza, molti di questi strumenti includono funzionalità quali la scansione di sicurezza, che verifica la presenza di vulnerabilità sfruttabili nel codice, e la protezione automatica delle chiavi API, che rileva e blocca le credenziali esposte prima che possano essere utilizzate in modo improprio. Tuttavia, tendono a limitarsi all’individuazione dei problemi, anziché verificare se le misure di protezione sottostanti funzionino effettivamente.

I più audaci di Vibe Coding

L’affermarsi di nuovi strumenti sta inoltre determinando chi si sta assumendo i rischi maggiori nel campo del “vibe coding”. Pieter Danhieux, cofondatore e CEO di Secure Code Warrior, ha affermato che le startup tendono ad adottare questa soluzione in modo più incisivo, mentre le grandi aziende continuano a ricorrere alla codifica assistita, in cui un operatore umano si occupa comunque di verificare il risultato.

«Sviluppare un’applicazione contenente dati sensibili senza possedere le competenze necessarie per garantirne la sicurezza equivale a andare incontro a un disastro.”
Pieter Danhieux, cofondatore e responsabile della divisione " CEO" presso Secure Code Warrior

«Ritengo che il “vibe coding” sia ampiamente diffuso nelle startup di piccole dimensioni, dove è presente un fondatore con eccellenti competenze tecniche che desidera procedere rapidamente e dove, in sostanza, si inizia a sviluppare applicazioni e a implementarle senza nemmeno esaminarle», ha affermato Danhieux.

Le imprese di maggiori dimensioni, ha spiegato, sono più caute. I loro sviluppatori potrebbero avvalersi dell’intelligenza artificiale per creare piccoli frammenti di codice riutilizzabili, ma verificano comunque i risultati prima della distribuzione.

[Leggi anche: I dipendenti stanno adottando la “shadow AI” — mettendo a rischio i dati aziendali]

Sebbene sembrino più sicuri, Danhieux ha avvertito che tali controlli potrebbero non offrire altro che un falso senso di sicurezza.

La ricerca “Secure Code Warrior” condotta da ha rilevato che il 86% degli sviluppatori non attribuisce priorità alla programmazione sicura, e che diversi strumenti LLM di largo uso incontrano difficoltà nel risolvere le sfide legate alla programmazione sicura, in particolare quelle relative a categorie più soggettive quali l’autenticazione e le configurazioni errate di sicurezza, ha affermato Danhieux.

I punti deboli della codifica Vibe e i dati sensibili

La lingua e i tipi di vulnerabilità fanno la differenza, ha osservato Danhieux. I modelli tendono a individuare errori semplici, quali errori ortografici nel codice o problemi evidenti che seguono uno schema ben definito. Tuttavia, si trovano ad affrontare problematiche più complesse che riguardano la progettazione stessa del sistema, tra cui la questione se un’ App e verifichi adeguatamente chi è autorizzato a compiere determinate azioni. Ciò crea un punto cieco, poiché il codice generato dall’intelligenza artificiale può apparire corretto a prima vista, ma contenere comunque delle vulnerabilità che mettono a rischio gli utenti.

«. È questo il pericolo.» Si ottiene un codice che sembra convincente, funziona in produzione e non è mai stato sottoposto a una revisione adeguata. Gli insetti si nascondono in bella vista.”
Erlend Oftedal, direttore tecnico senior, RSA Conference (RSAC) Research

La stessa dinamica sta iniziando a manifestarsi anche al di fuori dello sviluppo delle applicazioni, in modelli di abuso quali VibeScamming, in cui gli strumenti di intelligenza artificiale basati sul linguaggio naturale vengono utilizzati deliberatamente per generare e aggiornare rapidamente pagine di phishing e infrastrutture fraudolente che appaiono legittime ma aggirano i tradizionali segnali di affidabilità.

Gli sviluppatori esperti potrebbero individuare tali vulnerabilità nascoste, ma i principianti probabilmente non avrebbero l’esperienza o l’intuito necessari per farlo, ha affermato Danhieux. Egli cita un caso recente che evidenzia tale rischio. La scorsa primavera, un’analisi completa di 1.645 progetti creati sulla piattaforma di programmazione Lovable AI ha individuato 303 endpoint vulnerabili in 170 applicazioni realizzate con tale strumento, pari a circa il 10% dei progetti analizzati.

«Sviluppare un’applicazione contenente dati sensibili di tipo “ ” senza disporre delle competenze necessarie per garantirne la sicurezza equivale a andare incontro a un disastro», ha affermato.

La tecnologia attualmente disponibile non fa che complicare le cose, poiché non è ancora in grado di individuare i problemi di sicurezza, soprattutto quando il codice viene generato in grandi quantità. Gli strumenti basati sull’intelligenza artificiale potrebbero presto contribuire al rilevamento, ma ciò non sarà comunque sufficiente, ha affermato Oftedal della RSAC.

«La maggior parte delle aziende ritiene che la propria governance dell’ e open source comprenda anche l’intelligenza artificiale, ma non è così», ha affermato. «È proprio questo il pericolo. Si ottiene un codice che sembra convincente, funziona in produzione e non è mai stato sottoposto a una revisione adeguata. «Gli insetti si nascondono in bella vista.»

[Leggi anche: Come implementare correttamente l’intelligenza artificiale nell’automazione: una guida completa per aumentare l’efficienza, promuovere l’innovazione e rivoluzionare i flussi di lavoro IT]

Oftedal ha osservato che gli stessi sviluppatori possono dare il proprio contributo, stimolando l’intelligenza artificiale a scrivere codice in modo più sicuro o a imitare gli approcci alla sicurezza adottati da altri sviluppatori di chiara fama. Hanno inoltre la possibilità di chiedere all’intelligenza artificiale di utilizzare determinati strumenti per verificare il proprio lavoro prima di procedere, ha affermato.

Analisi della situazione: le misure che gli amministratori delegati e i responsabili della sicurezza devono adottare sin da subito

Per esperti come Danhieux e Oftedal, la strada da seguire inizia con l’ , garantendo visibilità e controllo.

«Un’iniziativa efficace basata sul principio del “secure by design”… rappresenta l’antidoto al debito tecnico fuori controllo e alle costose misure di sicurezza adottate in fase avanzata.”
Danhieux

Proprio come i dirigenti aziendali devono conoscere la vasta gamma di computer, tablet e altri dispositivi terminali presenti nella propria rete informatica, con dati in tempo reale sui sistemi operativi e sulle esigenze di gestione delle patch , i responsabili della sicurezza informatica devono sapere quali modelli di codifica basati sull’intelligenza artificiale stanno utilizzando i propri sviluppatori e stabilire dei limiti, hanno affermato. I modelli più economici e meno recenti potrebbero generare codice meno sicuro e, in assenza di un controllo — ad esempio, una “ ” della distinta dei materiali software (SBOM), che elenchi i componenti di un’ App e le dipendenze da terze parti — le organizzazioni spesso non hanno idea di cosa sia in esecuzione nei propri ambienti.

«Forse ci troveremo di fronte a una situazione in cui verranno stabilite delle linee guida per gli sviluppatori, secondo cui sarà possibile utilizzare Claude versione tre e successive, nonché ChatGPT-4 e versioni successive, ma non quelle precedenti, poiché sappiamo che il codice generato da tali strumenti risulterà insicuro», ha affermato Danhieux.

La formazione degli sviluppatori rappresenta l’altra metà dell’equazione. Devono imparare la “prompt engineering” e come orientare i modelli verso risultati più sicuri, proprio come gli scrittori imparano a ottenere una prosa migliore dall’intelligenza artificiale. Fino a quando gli strumenti a livello aziendale non saranno in grado di Enforce le politiche all’interno di ogni ambiente di sviluppo integrato, la sensibilizzazione e la formazione rappresentano le soluzioni provvisorie.

[Legga anche: Perché le migliori politiche in materia di IA partono dalla formazione dei dipendenti]

Per Danhieux, tuttavia, il principio guida è quello della “sicurezza fin dalla progettazione”, il che significa integrare la sicurezza nel software sin dalle prime fasi di sviluppo.

"Un'iniziativa efficace basata sul principio del ‘secure by design’, sostenuta da sviluppatori esperti in materia di sicurezza, rappresenta l’antidoto al debito tecnico fuori controllo e alle costose misure di sicurezza adottate in fase avanzata", ha affermato. «Gli autori delle minacce godono già di un vantaggio rispetto ai team di sicurezza aziendali, ma dare priorità alla sicurezza sin dalle prime fasi dell’SDL può contribuire a far pendere nuovamente l’ago della bilancia a nostro favore.»

La preoccupazione a lungo termine, ha avvertito Danhieux, è che il “vibe coding” continui a spostare la creazione di software dai processi di sviluppo aziendali verso i salotti delle persone, determinando un aumento delle vulnerabilità che potrebbero ampliare il panorama delle minacce. Gli sviluppatori professionisti potrebbero non essere perfetti, ma superano comunque i controlli previsti. I programmatori alle prime armi non lo fanno e, man mano che il loro software si diffonde, la superficie di attacco aumenta e la fiducia nel sistema diminuisce.

Danhieux sostiene che sia fondamentale colmare questa lacuna prima che il problema assuma proporzioni ancora maggiori.“«Se non risolviamo questo problema di sicurezza, temo che tra qualche anno ci troveremo in una situazione ancora peggiore», ha affermato.

Anche Oftedal ha ribadito tale urgenza.

«Gli insetti sono già là fuori», ha affermato. «Se non si affronta la questione adesso, si è già in ritardo.»