Bug, jailbreak e prompt injection: cosa hanno davvero in comune
Bug, jailbreak, prompt injection. Tre problemi diversi, una radice comune: un LLM non segue regole scritte nel codice — ha imparato comportamenti da miliardi di esempi. Per questo correggerlo è molto più complesso che applicare una semplice patch.
Dopo aver visto come un LLM possa sbagliare da solo, come possa essere aggirato tramite un jailbreak e come una prompt injection possa manipolarne il comportamento, la domanda diventa inevitabile: le aziende che sviluppano questi modelli lo sanno? Ci stanno lavorando?
Sì. Ed è comunque difficile.
Il problema non è tecnico. È strutturale.
Un software tradizionale ha regole scritte da qualcuno. Se c'è un bug, trovi la riga di codice sbagliata e la correggi. Un LLM funziona diversamente: le sue "regole" non sono scritte esplicitamente — sono emerse dall'addestramento, compresse in miliardi di parametri numerici che nessuno può leggere direttamente. Non esiste una riga di codice che dice "non aiutare a fare cose pericolose". Esiste un insieme di pesi statistici che, in media, producono quel comportamento. E in media non significa sempre.
Questo è il motivo per cui le soluzioni esistono ma nessuna è definitiva.
La prima è l'RLHF — Reinforcement Learning from Human Feedback. Durante il training, persone reali valutano le risposte del modello e quelle valutazioni vengono usate per aggiustare i pesi nella direzione giusta. È il meccanismo principale con cui i modelli imparano a rifiutare richieste pericolose, a calibrare l'incertezza, a comportarsi in modo utile senza essere dannosi. Funziona — ma dipende dalla qualità e dalla quantità del feedback umano, e non copre tutti i casi possibili. Un jailbreak ben costruito trova esattamente i casi che il feedback non ha coperto.
La seconda è il red teaming. Prima di rilasciare un modello, team dedicati cercano attivamente di farlo sbagliare — testano jailbreak, prompt injection, casi limite, scenari di abuso. È un lavoro che assomiglia più a quello di un investigatore che a quello di un ingegnere. Serve a trovare vulnerabilità prima che le trovino altri. Il problema è che lo spazio dei possibili prompt è infinito, e il red team umano non può coprirlo tutto. Per questo oggi si usano anche modelli automatizzati per fare red teaming su altri modelli — con risultati promettenti ma non risolutivi.
La terza sono i filtri — strati di controllo che analizzano l'input prima che arrivi al modello e l'output prima che arrivi all'utente. Sono utili per i casi ovvi, quelli che usano parole chiave o pattern riconoscibili. Sono molto meno utili contro attacchi sofisticati, contro la prompt injection indiretta, contro richieste che sembrano innocue prese singolarmente ma non lo sono nel contesto.
Infine c'è l'alignment — il campo di ricerca che si occupa di capire come fare in modo che i modelli perseguano davvero gli obiettivi che vogliamo, non approssimazioni statistiche di quegli obiettivi. È il problema più profondo di tutti, e il meno risolto. Non perché nessuno ci stia lavorando — ci lavorano alcune delle menti più brillanti del settore — ma perché allineare un sistema che non ragiona nel senso umano del termine è un problema che non ha ancora una soluzione generale.
Niente di tutto questo significa che questi strumenti siano inutilizzabili o che il futuro sia inevitabilmente buio. Significa che siamo in una fase in cui la tecnologia corre più veloce della capacità di renderla robusta — e che usarla consapevolmente, sapendo dove sono i limiti, è ancora la difesa più concreta che abbiamo.
Nessuna di queste tecniche elimina davvero il problema. Lo rende meno probabile, più costoso da sfruttare, più facile da controllare. Ma non lo elimina.
È il prezzo da pagare per una tecnologia che genera risposte partendo da correlazioni statistiche invece che da una comprensione reale del significato. Ed è il motivo per cui bug, jailbreak e prompt injection non sono anomalie scollegate: sono manifestazioni diverse dello stesso limite fondamentale.