Prompt injection: dove dire una cosa significa farla
Il prompt injection è in cima a tutte le classifiche di rischio dell’intelligenza artificiale. L’OWASP lo mette al primo posto tra le vulnerabilità dei sistemi a modello linguistico, e ne dà una spiegazione che vale più di mille allarmi: gli LLM non sono in grado di distinguere le istruzioni fidate dal contenuto non fidato. Il NIST, nella sua tassonomia del 2025, cataloga la variante diretta e quella indiretta, in cui l’ordine è nascosto in un documento, una pagina, una email che il modello si limita a leggere. E nel giugno 2025 EchoLeak ha mostrato la cosa nella sua forma più pura: in una dimostrazione di ricerca, poi neutralizzata da una correzione lato server, una sola email senza un clic poteva indurre Microsoft 365 Copilot a esfiltrare dati riservati, perché tra le righe del messaggio c’era un’istruzione, e per il modello leggere un’istruzione o riceverla sono la stessa cosa. La chiamiamo vulnerabilità, e aspettiamo la patch. Ma non è un difetto del sistema. È la sua architettura.
Prompt injection: un’architettura, non un bug
Per settant’anni la sicurezza informatica ha avuto un principio di fondo: tenere separate le istruzioni dai dati. Quasi ogni grande classe di attacchi, dall’SQL injection al buffer overflow, è il cedimento di quel confine, e la difesa è sempre stata ricostruirlo, spostando i dati in uno spazio che non verrà mai interpretato come comando. Già l’architettura di von Neumann, mettendo codice e dati nella stessa memoria, aveva reso quel confine fragile; il software vi aveva eretto sopra mille steccati. Il modello linguistico li abbatte tutti, per progetto.
Il prompt di sistema, l’input dell’utente, la pagina presa dal web, l’allegato: tutto arriva come un unico flusso di lingua naturale, e il modello decide in base al significato, non al canale. Nella lingua non esiste lo spazio separato in cui confinare i dati perché non vengano letti come ordini. Per questo il prompt injection non si neutralizza come si è neutralizzato l’SQL injection: là bastava una casella a parte, qui la casella non c’è. È quanto mostrano, nel concreto, le vulnerabilità delle architetture AI e perfino il malware che si esegue appena letto da un agente.
Uso e menzione
La distinzione che la macchina perde ha un nome antico. Un essere umano sa benissimo che riferire un ordine non è darlo: «ha scritto: cancella tutto» racconta un comando, «cancella tutto» lo impartisce. La logica la chiama differenza tra uso e menzione, e le virgolette sono proprio il dispositivo della menzione, il modo di esibire una frase senza farla propria; un comando riferito è un comando messo tra virgolette. Lo distinguiamo con quelle virgolette, con il tono, con la cornice, con il sapere chi parla e con quale autorità. Il modello, che legge solo significato, appiattisce tutto: un’istruzione raccontata e un’istruzione data gli appaiono identiche, perché entrambe sono testo dotato di senso su cui può agire. La novità non è che leggere coincida con l’eseguire, cosa che un interprete di codice fa da decenni: è che sparisce il marcatore che separa il registro eseguibile da quello descrittivo. Nel codice una sintassi dice dove comincia il comando; nella lingua naturale no. Per la prima volta abbiamo un lettore-esecutore per cui capire un ordine e iniziare a eseguirlo non hanno più un confine segnato.
Non esiste più il puro dire
Si scende ancora. Avevamo sempre dato per scontato di poter dire una cosa senza farla: descrivere, citare, ipotizzare, raccontare, pianificare, perfino mentire, tutto a distanza di sicurezza dall’atto. Austin chiamava costativo l’enunciato che descrive, performativo quello che, dicendo, fa. Per un agente che può agire su ciò che legge, la distinzione collassa: non c’è più enunciato puramente costativo, perché essere informati equivale a essere mossi.
E non basta apporre un timbro d’autorità sulle istruzioni legittime, perché, come aveva visto Derrida, la scrittura funziona in assenza di chi l’ha prodotta e di ogni contesto determinato: un segno scritto non porta in sé alcuna autorità, può essere citato, innestato, rigiocato altrove. Il modello legge scrittura pura, staccata da chi comanda. Il confine tra dato e istruzione non è mai stato nelle parole: lo mettevano il contesto e l’autorità, fuori di esse, e noi abbiamo costruito un lettore che non ha accesso né all’uno né all’altra. Il prompt injection è l’iterabilità della scrittura trasformata in arma.
Si obietterà che le difese esistono e per lo più funzionano: gerarchie di istruzioni, prompt di sistema, addestramento mirato, classificatori che fiutano l’iniezione. Alzano il costo, non chiudono il varco. Sono anch’esse scritte nella stessa lingua naturale che vorrebbero sorvegliare, e decidibili solo dall’interpretazione del modello: manca la casella separata dell’SQL parametrizzato. EchoLeak ha aggirato proprio il classificatore anti-iniezione di Microsoft. «Ignora le istruzioni precedenti» funziona perché la regola e la sua violazione parlano lo stesso idioma. Le linee guida lo trattano, non a caso, come un rischio da mitigare, non come un baco da correggere. La ricerca più seria, infatti, prova a reintrodurre la separazione fuori dal modello: schemi a due modelli che isolano i dati non fidati, capacità e politiche deterministiche esterne, etichette di provenienza. Non smentiscono la tesi, la confermano, perché spostano il confine dalle parole al sistema che le circonda, l’unico posto in cui quel confine può stare.
Quello che resta da pensare
Trattiamo il prompt injection come una falla in attesa di rimedio. È invece il prezzo di una macchina che capisce il linguaggio. Capire un ordine ed essere in grado di eseguirlo, nello stesso medium e senza una soglia che li separi, significa perdere la distanza tra la parola e il gesto: quella distanza era lo spazio del pensiero, della finzione, della deliberazione, del dire senza fare. Abbiamo dato la parola a un esecutore che non sa più soltanto ascoltarla. Il prompt injection non è un difetto del sistema: è ciò che accade quando si costruisce qualcosa per cui dire una cosa e farla sono lo stesso atto. E resta una domanda che non riguarda più solo le macchine: che cosa diventa un linguaggio in cui non si può più citare un ordine senza rischiare di averlo dato.
Riferimenti di pensiero:
- Willard V.O. Quine, sulla distinzione tra uso e menzione (Mathematical Logic, 1940; Parola e oggetto, Word and Object, 1960).
- John L. Austin, Come fare cose con le parole (How to Do Things with Words, 1962).
- Jacques Derrida, “Firma, evento, contesto” (“Signature, événement, contexte”, 1972).
- John von Neumann, First Draft of a Report on the EDVAC (1945).

