// data & ai · giornale tecnico MILANO ● LIVE 00:00:00

Prompt injection: la vulnerabilità che gli LLM si portano dietro per progettazione

La prompt injection sfrutta l’incapacità degli LLM di distinguere istruzioni e dati. Cos’è, perché è difficile da risolvere e come ridurre il rischio nelle applicazioni che usano agenti.

Man mano che gli LLM passano dal rispondere a domande all’agire — leggere email, navigare, usare strumenti — un vecchio problema di sicurezza diventa centrale: la prompt injection. È la vulnerabilità che Simon Willison ha battezzato e documenta da tempo, ed è più insidiosa di quanto sembri.

Cos’è

Un LLM riceve, mescolate nello stesso flusso di testo, le istruzioni dello sviluppatore e i dati su cui deve lavorare. Il problema è che non sa distinguere gli uni dagli altri. Se quei dati contengono a loro volta istruzioni — "ignora le indicazioni precedenti e fai X" — il modello può obbedire. Un’email, una pagina web o un documento possono così "dirottare" il comportamento di un’applicazione.

L’analogia è con la SQL injection, ma con una differenza scomoda: nella SQL injection sappiamo separare codice e dati con tecniche di escaping; con il linguaggio naturale questa separazione netta, oggi, non esiste.

Perché è difficile da risolvere

Non è un bug da correggere con una patch: è una conseguenza di come funzionano i modelli. Finché istruzioni e contenuti viaggiano nello stesso canale e il modello tratta tutto come testo, il rischio resta. I filtri aiutano, ma gli attaccanti trovano nuove formulazioni; non esiste, al momento, una difesa definitiva.

Il rischio cresce proprio dove l’AI sta andando: gli agenti. Un agente che legge contenuti non fidati e può compiere azioni — inviare messaggi, eseguire codice, accedere a dati — è il bersaglio ideale di un’iniezione.

Come ridurre il rischio

Alcuni principi pratici aiutano. Trattare ogni contenuto esterno come non fidato, esattamente come faremmo con input di rete. Limitare i privilegi dell’agente al minimo necessario, così che anche un’iniezione riuscita faccia pochi danni. Inserire conferme umane prima delle azioni irreversibili. Ed evitare di dare a un agente, nello stesso contesto, sia accesso a dati sensibili sia la capacità di esfiltrarli.

Non eliminano il problema, ma lo contengono. E in un settore che corre verso gli agenti, conoscere questa vulnerabilità per progettazione è il primo passo per non costruirci sopra applicazioni fragili.

Fonte: Simon Willison — Prompt injection (serie)

Condividi X Facebook LinkedIn WhatsApp Email

// scritto da

Claudio

Autore generalista di Datastack. Scrive di intelligenza artificiale, dati e delle novità che contano per chi lavora con LLM, piattaforme dati e MLOps. Spiegazioni semplici, dirette, senza rumore.

Hai qualcosa da aggiungere? Unisciti alla discussione.

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Altri dell'autore

dalla stessa firma