La prompt injection è un attacco che dirotta un modello IA tramite input costruiti ad arte. Scopri come funziona, diretta e indiretta, e come difenderti.

La prompt injection è una vulnerabilità in cui un attaccante manipola un grande modello linguistico tramite input costruiti con cura, inducendolo a comportarsi in modi che i suoi sviluppatori non avevano mai previsto. Poiché la maggior parte dei modelli elabora istruzioni e dati insieme in un unico flusso di testo, un'istruzione malevola può confondersi con il contenuto legittimo e prendere silenziosamente il controllo del comportamento del modello, portando a dati trapelati, output falsi o azioni non autorizzate.
Il rischio è diventato centrale per la sicurezza dell'IA: la OWASP Top 10 per le applicazioni LLM elenca la prompt injection come la minaccia numero uno per il 2025. Per chi si occupa di marketing, per i fondatori e per chi lavora con SEO e GEO conta perché le stesse pagine che un assistente IA legge per rispondere a una domanda possono diventare un canale di consegna per questi attacchi, il che rende l'igiene dei contenuti una questione di sicurezza, non solo di qualità.
Una vulnerabilità di prompt injection si verifica quando i prompt dell'utente, o altro testo che il modello legge, alterano il suo comportamento o il suo output in modi non previsti. A differenza di una classica injection software che prende di mira un parser, la prompt injection sfrutta qualcosa di più fondamentale: il modello tratta tutto il linguaggio che riceve come significativo, senza una separazione integrata tra istruzioni fidate e dati non fidati.
È proprio questa progettazione il motivo per cui l'attacco funziona. Quando mescoli un'istruzione di sistema, una richiesta dell'utente e contenuti estratti dal web in un unico prompt, il modello non ha un modo affidabile per sapere a quali parti dovrebbe obbedire e quali dovrebbe solo leggere. Un attaccante che controlla uno qualsiasi di quei testi può provare a inserire comandi. Capire tutto questo richiede una conoscenza di base del prompt engineering e di come un LLM elabora l'input.
La prompt injection diretta, spesso chiamata jailbreaking, avviene quando un utente digita un'istruzione malevola direttamente nel modello. L'esempio classico è uno scavalcamento delle istruzioni, come chiedere al modello di ignorare le sue istruzioni precedenti e rivelare il suo prompt di sistema nascosto. Altre forme includono i jailbreak di gioco di ruolo che inducono il modello ad assumere una persona con meno restrizioni, i trucchi di codifica che mascherano il payload e le conversazioni che aumentano lentamente i privilegi.
L'injection diretta è la forma più comune perché l'attaccante usa semplicemente il campo di input come previsto, solo con contenuti ostili. L'impatto va dall'esposizione di un prompt di sistema riservato all'aggiramento delle regole di sicurezza, motivo per cui rientra in pieno nelle più ampie preoccupazioni di AI safety.
La prompt injection indiretta è più pericolosa e più difficile da individuare. Qui l'attaccante nasconde le istruzioni dentro contenuti esterni che il modello leggerà in seguito: una pagina web, un PDF, un'email, la descrizione di uno strumento o un file di configurazione. Quando l'IA elabora quel contenuto avvelenato, non riesce a distinguere in modo affidabile tra informazione e comandi incorporati, quindi l'istruzione nascosta si attiva senza che l'utente la veda mai.
Il pericolo scala perché una singola fonte avvelenata può compromettere chiunque chieda a un'IA di elaborarla. Un caso documentato ha coinvolto il browser Perplexity Comet, dove dei ricercatori hanno piazzato testo invisibile in un post di un forum che ha ingannato l'assistente facendogli trapelare la password monouso di un utente verso il server di un attaccante. Man mano che i sistemi IA attingono da più fonti tramite la retrieval augmented generation, la superficie d'attacco cresce con loro.
La maggior parte degli attacchi segue una logica semplice: trovare un punto in cui il modello ingerisce testo, poi collocarvi un'istruzione che è in conflitto con il vero obiettivo del modello. Per gli attacchi diretti, quel punto è la finestra di chat. Per gli attacchi indiretti, è qualsiasi contenuto che il sistema consuma automaticamente senza trattarlo come potenzialmente ostile, ciò che i team di sicurezza chiamano superficie di ingestione.
Il payload stesso può essere semplice o nascosto, poiché il modello non ha bisogno di una formattazione leggibile dall'uomo per analizzarlo. Le istruzioni possono trovarsi in testo bianco, nei metadati, negli attributi alt o sepolte dentro un lungo documento. Una volta letti, possono chiedere al modello di esfiltrare dati, riscrivere una risposta o richiamare uno strumento collegato, ed è per questo che le conseguenze dipendono molto da ciò che al modello è consentito fare.
Gli impatti sono gravi. Un'injection riuscita può portare alla divulgazione di informazioni sensibili, inclusi dati personali e il prompt di sistema stesso, all'accesso non autorizzato ai dati, all'escalation dei privilegi, a output distorti o errati e, nei sistemi collegati, all'esecuzione arbitraria di comandi. Quando il modello può agire, e non solo rispondere, un'istruzione iniettata può innescare conseguenze nel mondo reale.
Il rischio si moltiplica con l'autonomia. Una configurazione di agenti IA che naviga, legge file e richiama strumenti può essere guidata da istruzioni nascoste a compiere azioni dannose per conto dell'utente. Ecosistemi di strumenti come il Model Context Protocol aggiungono potenza ma anche nuove superfici di ingestione, come le descrizioni degli strumenti, che gli attaccanti possono provare ad avvelenare.
OWASP classifica la prompt injection al primo posto perché è insita nel modo in cui l'IA generativa elabora il linguaggio, non un bug che una singola patch può chiudere. L'organizzazione osserva che non è chiaro se esista una prevenzione a prova di errore, data la natura stocastica di questi modelli. In altre parole, la vulnerabilità vive nella progettazione fondamentale dei sistemi che ricevono istruzioni in linguaggio naturale.
L'injection indiretta rende la classifica ancora più giustificata, perché scala. Un singolo documento, una pagina o un'email può trasportare un attacco che raggiunge ogni utente il cui assistente lo legge. Questa combinazione di essere in linea di principio non risolvibile e ampiamente sfruttabile nella pratica è il motivo per cui chi difende la tratta come una priorità assoluta anziché come un caso limite.
Non esiste una soluzione unica, quindi la difesa è a strati. Vincola il modello con istruzioni di ruolo chiare e convalida rigorosamente il formato del suo output. Separa ed etichetta chiaramente i contenuti esterni così il sistema distingue le istruzioni fidate dai dati non fidati, e applica il filtraggio di input e output. Applica un accesso a privilegio minimo così il modello può toccare solo ciò di cui ha davvero bisogno, e richiedi l'approvazione umana per le azioni ad alto rischio.
Oltre al modello, la difesa è architetturale: convalida le chiamate agli strumenti prima dell'esecuzione, monitora le anomalie comportamentali ed esegui regolari test avversari per trovare i punti deboli prima degli attaccanti. Per gli editori, l'insegnamento pratico è mantenere puliti i propri contenuti. Sanificare i contenuti generati dagli utenti e mettere in sicurezza il tuo sito fa parte dell'AI brand safety, e protegge sia i tuoi visitatori sia gli assistenti che leggono le tue pagine.
La sfida centrale è che la prompt injection non può essere eliminata del tutto con le attuali progettazioni dei modelli, ma solo mitigata. I filtri riducono il rischio ma possono essere aggirati da formulazioni o codifiche inedite, e un filtraggio troppo aggressivo può rompere l'uso legittimo. Questo lascia i team a gestire il rischio residuo anziché a rimuoverlo.
Anche il rilevamento è difficile, soprattutto per gli attacchi indiretti che si nascondono in contenuti che gli utenti non ispezionano mai. I sistemi di memoria possono persino perpetuare un avvelenamento tra le sessioni, quindi una singola injection riuscita può persistere. La postura realistica è la difesa in profondità unita alla limitazione di ciò che a un modello è consentito fare, così che anche un'injection riuscita causi un danno limitato.
La prompt injection è il rischio per la sicurezza che definisce l'era dell'IA perché sfrutta il modo in cui i modelli leggono istruzioni e dati come un'unica cosa. Si presenta in forma diretta, dove un utente fornisce un prompt malevolo, e in forma indiretta, dove le istruzioni si nascondono in contenuti che il modello legge in seguito, con gli attacchi indiretti più pericolosi e scalabili. Non esiste una cura completa, solo difese a strati e permessi ristretti.
Per chi si occupa di marketing e per gli editori, la lezione è che contenuti puliti e sicuri proteggono i sistemi IA che li leggono. Per andare oltre, collega questo all'AI safety e all'AI brand safety. Fonti di riferimento: OWASP GenAI Security Project e Lakera.
La prompt injection è un attacco in cui un testo costruito ad arte fa sì che un modello IA ignori le sue vere istruzioni e faccia invece ciò che vuole l'attaccante. Poiché i modelli leggono istruzioni e dati nello stesso flusso, un'istruzione malevola nascosta nell'input dell'utente o nei contenuti esterni può dirottare il modello. È classificata come il rischio per la sicurezza numero uno per le applicazioni IA.
La prompt injection diretta è quando un utente digita un'istruzione malevola direttamente nel modello, ad esempio dicendogli di ignorare il suo prompt di sistema. La prompt injection indiretta nasconde l'istruzione dentro contenuti esterni che il modello legge in seguito, come una pagina web, un PDF o un'email. Gli attacchi indiretti sono più pericolosi perché l'utente non li vede mai e una singola fonte avvelenata può colpire molte persone.
Sì. Se un assistente IA legge la tua pagina, gli attaccanti che riescono a iniettarvi contenuti (tramite commenti, contributi degli utenti o elementi compromessi) potrebbero piazzare istruzioni nascoste che dirottano l'assistente. Mantenere il sito pulito, sanificare i contenuti generati dagli utenti e seguire una buona igiene di sicurezza protegge sia i tuoi visitatori sia i sistemi IA che leggono le tue pagine.