Il VIBE Coding cambia il modo di programmare e accelera lo sviluppo software ma pone nuove sfide di sicurezza, protezione dei dati e governance
Il termine VIBE Coding è stato introdotto a febbraio 2025 da Andrej Karpathy (cofondatore di OpenAI) per indicare l’uso degli LLM per produrre software da parte di programmatori hobbisti che interagiscono con il modello per realizzare applicazioni e siti web. Quanto viene prodotto è codice vero e proprio, scritto nei linguaggi di programmazione attuali. L’interazione avviene descrivendo a parole l’obiettivo da raggiungere. Per esempio: Crea l’homepage di un sito con logo in alto a sinistra e un menu hamburger in alto a destra. Nell’homepage inserisci quattro raggruppamenti. Ogni raggruppamento contiene una immagine e del testo, con un link “scopri di più”. L’immagine va a sinistra nei raggruppamenti dispari, e a destra nei raggruppamenti pari. Usa solo PHP, HTML e CSS. Non usare JavaScript. Inserisci tutto il codice dentro a @/test.php.
Alcune aziende ne sono affascinate perché, abbassando il livello di competenza richiesta per produrre il software, sperano di aumentare la produttività e di ridurre i costi di sviluppo, ma in realtà si espongono – considerato lo stato attuale della tecnologia e della comprensione dei suoi limiti da parte degli sviluppatori incauti – a rischi importanti. È possibile che la situazione migliori nel tempo, ma oggi i benefici in termini di produttività restano controversi, mentre i rischi di sicurezza sono concreti e già evidenti.
Ma quali sono gli elementi principali che preoccupano i CISO? Il codice viene prodotto dall’AI e non deve essere necessariamente controllato dal programmatore che sicuramente non ne avrà voglia e neanche tempo. Se il codice funziona dal punto di vista del committente difficilmente il programmatore ci dedicherà altro tempo. Numerose ricerche internazionali confermano alcune esperienze dirette: il codice prodotto dall’AI contiene più vulnerabilità di quello fatto a mano. Infatti, i modelli AI sono stati addestrati con enormi quantità di software pubblico e questo include grandi quantità di software scritto male. Alcune vulnerabilità possono compromettere la sicurezza dell’applicazione e permettere a un attaccante di prendere il controllo della macchina e della rete sulla quale gira l’applicazione, altre possono consentire l’esfiltrazione di informazioni sensibili come le password di accesso.
Il caso di Tea App, l’app di incontri che prometteva di proteggere i dati personali degli utenti, ha messo in luce i limiti attuali del VIBE Coding nella gestione della sicurezza. Il breach ha riguardato, secondo un analista di Netlas.io, 72mila fotografie, 13mila documenti di identità e più di un milione di messaggi privati. Il programmatore non conosceva i principi di base della sicurezza. Così si conferma la necessità di consapevolezza e formazione (degli esseri umani!). Oltre alle vulnerabilità, il codice prodotto può essere ridondante, duplicato inutilmente, contraddittorio e nascondere l’uso di librerie obsolete o chiamate a codice deprecato. Secondo molti esperti il presunto vantaggio di produttività viene azzerato semplicemente dallo spostamento del tempo di lavoro dalla programmazione in senso stretto ai controlli e al test. Di conseguenza, le organizzazioni devono focalizzare risorse e processi sull’efficientamento di questa fase, integrando strumenti di controllo SAST e DAST nella pipeline di sviluppo e riconoscendo che il testing del software richiede competenze specialistiche sempre più difficili da reperire sul mercato.
Il CISO dovrebbe assicurarsi che il reparto di sviluppo sia consapevole di questi problemi e dovrebbe insistere con la direzione sulla formazione, sulla messa in sicurezza dei processi produttivi del software, sull’enforcement dei principi Zero Trust e di privilegio minimo, separando l’ambiente di sviluppo da quello di produzione. Purtroppo, non si può vietare ai programmatori di usare l’AI e non si può presumere che ne conoscano i limiti.
Alessandro Vallega CLUSIT Community for Security – Founding partner Rexilience.eu


































