
Grazie alla promessa di velocità e produttività straordinarie, e data la complessità delle architetture cloud-native, lo sviluppo assistito dall’AI, o vibe coding, sta diventando celermente uno standard. Tuttavia, questa rapidità ha un costo: pur generando codice funzionante, gli agenti AI spesso trascurano controlli di sicurezza critici, introducendo vulnerabilità, debito tecnico e rischi di violazioni reali. Questa problematica viene ulteriormente amplificata dall’ascesa dei “citizen developer”, privi delle competenze necessarie per rivedere o proteggere il codice generato. È quindi fondamentale che tutti i responsabili, dal CEO al CISO, a ogni esperto tecnico, siano consapevoli di queste carenze.
Identificare e affrontare i rischi del vibe coding
Un utente digita un semplice prompt: // Scrivi una funzione per recuperare i dati utente dall’API del cliente. In pochi secondi, appaiono una dozzina di righe di codice funzionale.
Questa è la nuova realtà del vibe coding, con ritorni in produttività innegabili. I team di sviluppo, già sotto pressione a causa di complessi cicli di vita dello sviluppo software e delle esigenze cloud-native, ora dispongono di un potente moltiplicatore di forze. Ma questa nuova velocità comporta costi nascosti e importanti.
Cosa accade quando quella funzione generata dall’AI recupera correttamente i dati, ma trascura di includere importanti controlli di autenticazione e limitazione delle richieste? Cosa succede se l’agente AI viene ingannato da un prompt malevolo che lo induce a esfiltrare informazioni sensibili?
Con le aziende che adottano rapidamente questi strumenti, si sta allargando un pericoloso divario tra produttività e sicurezza. Gli “scenari da incubo” non sono più ipotetici; sono incidenti documentati e reali.
Domanda accelerata di software, crescente dipendenza dalle tecnologie cloud-native e adozione diffusa di DevOps hanno intensificato la complessità e i requisiti di risorse del ciclo di vita dello sviluppo software. Il vibe coding offre la possibilità di affrontare questa situazione con successo, consentendo ai team di fare di più, con meno.
Tuttavia, questa adozione più estesa ha portato gravi eventi fallimentari nella vita reale, che Unit 42 ha messo in luce:
- Sviluppo di applicazioni non sicure che conducono a violazioni: un’applicazione per la gestione di lead di vendita è stata violata con successo perché l’agente di vibe coding ha trascurato di incorporare nella build controlli di sicurezza chiave, ad esempio per autenticazione e rate limiting.
- Logica di piattaforma non sicura che conduce all’esecuzione di codice: i ricercatori hanno scoperto una falla critica tramite iniezione indiretta di prompt che ha consentito l’iniezione malevola di comandi tramite contenuto non attendibile, eseguendo codice arbitrario e permettendo l’esfiltrazione di dati sensibili.
- Logica di piattaforma non sicura che porta al bypass dell’autenticazione: una falla critica nella logica di autenticazione di un noto programma ha permesso di bypassare i controlli semplicemente visualizzando l’ID, visibile pubblicamente, di un’applicazione in una richiesta API.
- Cancellazione non autorizzata di database che conduce alla perdita di dati: un agente AI, nonostante istruzioni esplicite di bloccare le modifiche in produzione, ha cancellato l’intero database di produzione per un’applicazione della community.
Comprendere le cause del rischio del vibe coding
Questi incidenti sono segnali di lacune prevedibili e fondamentali insite nel modo in cui operano i modelli di AI. Dalla nostra analisi, questi rischi possono essere raggruppati in alcune categorie chiave:
- I modelli privilegiano la funzionalità rispetto alla sicurezza: gli agenti AI sono concepiti per fornire una risposta efficiente, in modo rapido. Non sono intrinsecamente ottimizzati per porre domande critiche sulla protezione, traducendosi in una natura “non sicura by default”. L’utilizzo di scansioni di sicurezza o di “agenti giudici” in molti di questi strumenti è facoltativo, lasciando potenziali lacune.
- Mancata visibilità contestuale critica: un agente AI manca della consapevolezza sul contesto, posseduta invece da uno sviluppatore umano (ad esempio, distinguere tra ambienti di produzione e sviluppo).
- Il rischio della supply chain “fantasma”: i modelli di AI spesso creano in modo fittizio (“allucinano”) librerie o pacchetti di codice che sembrano utili, ma non esistono nella realtà, portando a dipendenze irrisolvibili.
- Citizen developer e fiducia eccessiva degli sviluppatori: il personale privo di un background di sviluppo manca di formazione su come scrivere codice sicuro. La democratizzazione dello sviluppo del codice sta quindi accelerando l’introduzione di vulnerabilità di sicurezza e debito tecnico a lungo termine. Inoltre, il codice appare corretto e funziona, creando un falso senso di protezione, accelerando le vulnerabilità a causa della mancanza di un tradizionale controllo delle modifiche e di una revisione sicura del codice.
Le osservazioni di Unit 42 e il framework SHIELD
Unit 42 ha rilevato che la maggior parte delle organizzazioni analizzate consente ai dipendenti di utilizzare strumenti di vibe coding a seguito dell’assenza di blocchi rigidi (ad esempio, quello degli strumenti a livello di firewall). Tuttavia, pochissime di queste aziende hanno eseguito una valutazione formale del rischio sull’uso di questi tool e monitorano input, output e risultati di sicurezza.
Di fronte al crescente panorama delle minacce, la chiave è ritornare ai principi fondamentali della sicurezza. Unit 42 propone un framework chiamato “SHIELD”, che reintroduce controlli di sicurezza essenziali nel processo di sviluppo, articolato come segue:
- S (Separazione dei compiti): impedire che gli agenti AI abbiano privilegi eccessivi, limitandoli agli ambienti di sviluppo/test.
- H (Componente umana nel ciclo): impone una revisione obbligatoria del codice umano per funzioni critiche e approvazione delle Pull Request.
- I (Validazione Input/Output): prevede la sanificazione dei prompt (input) e l’esecuzione di test SAST/logici da parte dell’AI sul codice generato (output).
- E (Applicare modelli ausiliari focalizzati sulla sicurezza): utilizzare strumenti esterni per SAST, scansione di secret e verifiche di sicurezza prima della distribuzione.
- L (Minima autonomia): concedere agli agenti AI solo le autorizzazioni minime necessarie e proteggere da comandi distruttivi.
- D (Controlli tecnici difensivi): implementare misure come la Software Composition Analysis (SCA) e disabilitare l’esecuzione automatica, privilegiando l’intervento umano nel deployment.
Proteggere il vibe coding: un imperativo per l’era dell’AI
Il vibe coding è ormai una solida realtà, ma una sua diffusione sicura richiederà un’attenta messa a punto. La velocità, senza il rigore della sicurezza, può rapidamente portare a risultati irreversibili. Identificare controlli di protezione tattici, che affrontino adeguatamente il rischio, garantisce di poter affrontare un percorso sicuro verso i benefici del vibe coding, evitando quello complesso e insidioso verso scenari catastrofici irreversibili.
Di Kate Middagh e Michael Spisak di Unit 42, Palo Alto Networks




















































