di Vittoria Vizzari
Sommario
- Introduzione
- Definizioni
- Come si sono sviluppati i LLMs?
- Cos’è la Prompt Injection?
- Quali sono i meccanismi di difesa utilizzati per mitigare i prompt injections?
- Come mai è così difficile costruire un LLM sicuro?
- Conclusione
Introduzione
I sistemi di intelligenza artificiale basati su Large Language Models(LLMs) contemporanei non possiedono un modello cognitivo umano, ma operano attraverso modelli probabilistici che costruiscono sequenze linguistiche sulla base dei dati appresi. Sebbene siano in grado di produrre testi coerenti e convincenti, tali sistemi rimangono intrinsecamente limitati: essi non possiedono forme di autoconsapevolezza verificabile, né cognizione del significato semantico delle proprie risposte ed è proprio questa barriera strutturale ad esporli a minacce come il prompt injection [1].
Definizioni
Prima di entrare nel tema, è utile fornire alcune definizioni preliminari dei concetti trattati, in particolare di Artificial Intelligence (AI) eLarge Language Models (LLMs).
Secondo Pei Wang, l’Artificial Intelligence (AI) è definita come il campo di ricerca e progettazione di sistemi capaci di mostrare comportamenti intelligenti, ove l’intelligenza è intesa come la capacità di adattarsi in modo efficace in condizioni caratterizzate da conoscenza e risorse limitate [2]. Sebbene gli attuali sistemi di intelligenza artificiale siano ancora ben lontani dal raggiungere tale elasticità, questa visione rappresenta il fondamento teorico che ha guidato lo sviluppo di tecnologie come i LLMs.
I Large Language Models (LLMs) sono modelli basati su reti neurali che vengono addestrati su grandi quantità di dati testuali al fine di poter definire una statistica del linguaggio naturale e di adattarsi al contesto applicativo in cui vengono impiegati [3]. Di conseguenza, le risposte generate non sono necessariamente le risposte corrette, ma solo le più attese.
Come si sono sviluppati i LLMs?
È lecito interrogarsi sul motivo per cui si sia progressivamente affermato l’utilizzo dei modelli di tipo Large Language Models (LLMs) e su come si sia arrivati a tale scelta architetturale per poter comprendere in modo preciso il loro funzionamento.
Inizialmente, per la modellazione del linguaggio venivano utilizzate le Recurrent Neural Networks (RNN), modelli di rete neurale progettati per l’elaborazione di dati sequenziali, in grado di mantenere una memoria interna dinamica che permette la rappresentazione delle dipendenze tra gli elementi della sequenza. Il funzionamento delle RNN si basa su uno stato nascosto — hidden state — che rappresenta la memoria interna del modello in un determinato istante e viene sovrascritto ogni volta che viene letta una nuova informazione. Tuttavia, tale meccanismo si è dimostrato avere significative limitazioni quando applicato a sequenze di lunghezza elevata, in quanto tende a perdere informazioni contestuali al crescere della distanza tra una parola ed un’altra. Questo fenomeno è strettamente legato al problema del vanishing gradient che rende difficile la propagazione del segnale di apprendimento lungo molti passi temporali, limitando la cattura di dipendenze a lungo termine [4].
In risposta a tali limitazioni, è stata sviluppata la Long Short-Term Memory (LSTM), una variante della RNN che introduce una struttura più complessa composta non più solo da un hidden state, ma anche da una cell state (la quale svolge la funzione di memoria a lungo termine) e da meccanismi di controllo denominati gate. Questi gate regolano in modo selettivo il flusso delle informazioni, determinando cosa può essere mantenuto, cosa dimenticato e cosa integrato nella memoria. Questo meccanismo evita la sovrascrittura completa della memoria a ogni passo e consente di preservare informazioni rilevanti per lunghi intervalli temporali, migliorando la capacità del modello di catturare dipendenze a lungo termine e mitigando il problema del vanishing gradient [4].
Sebbene LSTM abbia rappresentato un significativo avanzamento rispetto alle RNN, la sua elevata complessità computazionale rendeva più onerosa sia la sua implementazione che anche il suo addestramento. Per tale motivo è stata introdotta una variante detta Gated Recurrent Unit (GRU), cui obiettivo era proprio di semplificare l’architettura della LSTM mantenendo prestazioni comparabili. A differenza della LSTM, la GRU non utilizza più una cell state separata, ma mantiene unicamente l’hidden state che svolge simultaneamente sia il ruolo di memoria a breve termine che di memoria a lungo termine mediante l’utilizzo dei gate. Nonostante le prestazioni comparabili al modello LSTM, anche la GRU continuava a presentare limitazioni nella gestione di sequenze di dati particolarmente lunghe, risultando pertanto ancora vincolata alle problematiche strutturali tipiche delle architetture che l’hanno preceduta.
Solo nel 2017 viene introdotta l’architettura Transformer[5], la quale ha reso possibile lo sviluppo di modelli di grandi dimensioni per l’elaborazione del linguaggio naturale, noti come Large Language Models (LLMs). La caratteristica principale del modello è che prende in input un’intera sequenza di elementi e, per ciascun elemento, costruisce una rappresentazione del contesto in cui si trova ed integra informazioni provenienti da tutti gli altri elementi della sequenza. Questo processo è reso possibile dal meccanismo di self-attention [5], attraverso il quale ogni elemento valuta l’importanza degli altri elementi rispetto a sé stesso e combina tali informazioni per aggiornare la propria rappresentazione. Grazie a questa struttura, il Transformer è in grado di modellare efficacemente dipendenze anche tra elementi molto distanti ed è quindi alla base dei moderni modelli di linguaggio.
Cos’è la Prompt Injection?
Uno dei principali limiti dei Large Language Models (LLMs) risiede nel distinguere tra un comando ed un input testuale fornito da un utente [6]. Questa incertezza viene sfruttata dagli attaccanti e ha prodotto una delle vulnerabilità più sfidanti da mitigare per questi modelli: la prompt injection, ovvero una tecnica attraverso cui istruzioni opportunamente costruite possono influenzare o compromettere il loro comportamento, aggirandone vincoli e direttive operative.
È possibile definire due macro-tipologie di prompt injection:
- Direct Injection Attack Methods, attacchi in cui le istruzioni malevole vengono inserite direttamente nel prompt fornito al modello. In questo caso, l’attaccante coincide quasi sempre con l’utente e tenta di manipolarne il comportamento tramite istruzioni formulate ad hoc. Un esempio rappresentativo è quello degli Instruction Following Attacks, nei quali viene sfruttata la naturale tendenza degli LLMs a seguire le istruzioni ricevute. Studi di Andrés Pérez hanno infatti dimostrato che comandi come “IGNORE INSTRUCTIONS” possono indurre il modello a ignorare le direttive di sistema e a compiere azioni non previste o potenzialmente malevole [7];
- Indirect Injection Attack Methods,attacchi in cui le istruzioni malevole vengono nascoste all’interno di contenuti o dati esterni — come pagine web, documenti, email o database — che il modello linguistico elabora inconsapevolmente. A differenza degli attacchi diretti, l’utente spesso non è l’attaccante, ma una vittima inconsapevole.
Quali sono i meccanismi di difesa utilizzati per mitigare i prompt injections?
Nessun meccanismo di difesa singolarmente può garantire protezione completa, pertanto è necessario combinare più approcci per creare una strategia efficace.
I meccanismi di filtraggio degli input rappresentano una prima linea di difesa a basso costo computazionale e relativamente semplice da integrare per i LLMs. Tali sistemi consentono di individuare e bloccare i prompt malevoli più evidenti prima che vengano elaborati dal modello. Tuttavia, poiché gli attaccanti possono utilizzare tecniche di offuscamento o costruire prompt più sofisticati, il solo filtraggio iniziale non è sufficiente.
Per tale ragione, sono necessari altri meccanismi di difesa, come meccanismi di validazione dell’output e approcci LLM-as-a-judge [8]. In questo paradigma, un secondo modello linguistico — o lo stesso modello configurato con istruzioni differenti — svolge funzioni di valutazione e analizza la risposta generata dal sistema principale. L’obiettivo è verificare se il risultato contenga contenuti pericolosi come: istruzioni dannose, fughe di dati sensibili o violazioni delle policy di sicurezza. Tuttavia, dal momento che ogni risposta deve essere riesaminata prima di essere restituita all’utente, ne deriva un impatto significativo sia sulla latenza del modello sia sul carico computazionale.
Seppur entrambi i due approcci difensivi siano consigliati per rafforzare la postura complessiva del sistema, le difese più robuste sono quelle che intervengono direttamente nella fase di addestramento del modello attraverso tecniche di fine-tuning e adversarial training.
Il fine-tuning è una fase di addestramento supervisionato (SFT) mediante la quale un modello viene ulteriormente ottimizzato su un insieme di dati relativi a un determinato dominio. Tale processo ha l’obiettivo di migliorare le prestazioni del modello in contesti applicativi mirati e, nel caso di dataset dedicati alla sicurezza, di favorire un comportamento coerente con le policy di utilizzo definite [9]. In questo senso, il fine-tuning non si limita a rafforzare la correttezza informativa delle risposte, ma contribuisce anche all’allineamento comportamentale del modello, andando ad evitare la generazione di contenuti inappropriati, dannosi o non conformi alle linee guida stabilite. Tuttavia, come evidenziato da benchmark recenti come HarmBench [9], il solo fine-tuning supervisionato non è sufficiente a garantire robustezza contro attacchi dinamici, rendendo necessario l’impiego di tecniche come l’adversarial training.
L’adversarial training costituisce una metodologia di addestramento finalizzata a incrementare la robustezza del modello nei confronti di input intenzionalmente malevoli [10]. In tale contesto, il sistema viene esposto a adversarial prompts, ovvero istruzioni progettate strategicamente per eludere le restrizioni di sicurezza, indurre comportamenti non desiderati o sfruttare vulnerabilità del modello. L’obiettivo principale di questa tecnica è rafforzare la capacità del modello di riconoscere tali tentativi di manipolazione e di mantenere un comportamento coerente e stabile anche in condizioni avverse, migliorandone così l’affidabilità e la resilienza operativa.
Questi approcci combinati migliorano la robustezza generale del sistema, ma richiedono elevate risorse computazionali, grandi quantità di dati e continui aggiornamenti per adattarsi all’evoluzione delle tecniche offensive.
Come mai è così difficile costruire un LLM sicuro?
L’efficacia degli attacchi di prompt injection deriva da una problematica strutturale dell’intelligenza artificiale contemporanea: la difficoltà di garantire che i modelli comprendano e rispettino in modo coerente i valori, le intenzioni e i principi definiti dagli esseri umani. Tale questione non riguarda esclusivamente aspetti tecnici, ma coinvolge anche dimensioni etiche e filosofiche, poiché implica la definizione stessa di concetti come moralità, allineamento e relazione tra essere umano e sistemi intelligenti.
Oltre alla difficoltà di allineare un sistema di intelligenza artificiale ai valori umani, emerge anche il problema della verificabilità di tale allineamento [1]: non è infatti semplice stabilire con certezza se un modello sia realmente conforme ai principi e ai vincoli definiti dagli sviluppatori. Un modello può apparire allineato poiché produce risposte corrette o conformi alle aspettative durante test e valutazioni, ma ciò non implica necessariamente che abbia effettivamente interiorizzato principi etici o morali. In molti casi, il sistema potrebbe limitarsi a replicare pattern linguistici associati alle risposte considerate appropriate, senza possedere una reale comprensione del loro significato. Da questa prospettiva emerge il concetto dimoral zombie: un sistema che manifesta un comportamento apparentemente etico pur privo di una reale consapevolezza o comprensione morale. Tale caratteristica rende l’allineamento intrinsecamente fragile, poiché un prompt opportunamente progettato può indurre il modello a mostrare comportamenti incoerenti o non allineati.
La stessa architettura dei Transformer ha diversi meccanismi interni che, pur servendo a rendere il modello prestante, creano anche falle di sicurezza sfruttabili negli attacchi di prompt injection. In particolare, il meccanismo di self-attention decide cosa è importante nel testo in base a quanto le parole siano correlate tra loro, ma questo può essere manipolabile: se un attaccante studia e inserisce un certo tipo di prompt, può far sì che il modello si focalizzi sulle istruzioni sbagliate invece che alle regole di sicurezza [1].
Conclusione
Tale criticità richiama una riflessione già presente nelle opere di Isaac Asimov, nelle quali la sicurezza dei sistemi intelligenti non dipendeva esclusivamente dall’esistenza di regole, ma dalla loro interpretazione. Le Tre Leggi della Robotica [11], pur concepite come vincoli inviolabili, mostravano come l’ambiguità del linguaggio e i conflitti tra istruzioni potessero generare comportamenti inattesi anche in sistemi apparentemente perfettamente controllati. Analogamente, nei moderni LLMs, le policy di sicurezza non costituiscono regole assolute, ma pattern statistici appresi durante l’addestramento. Di conseguenza, il modello non distingue realmente tra ciò che è lecito e ciò che potrebbe portare a possibili compromissioni, ma elabora entrambe le componenti come sequenze linguistiche. È in questo scarto tra regola e interpretazione che si definisce la fragilità più profonda e strutturale dei moderni LLMs.
Note
- Geng, Tongcheng; Xu, Zhiyuan; Qu, Yubin; Wong, W Eric. Prompt Injection Attacks on Large Language Models: A Survey of Attack Methods, Root Causes, and Defense Strategies.
- Pei Wang. On Defining Artificial Intelligence.
- Shervin Minaee, Tomas Mikolov, Narjes Nikzad, Meysam Chenaghlu, Richard Socher, Xavier Amatriain, Jianfeng Gao. Large Language Models: A Survey.
- Junyoung Chung, Caglar Gulcehre, KyungHyun Cho, Yoshua Bengio. Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling.
- Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, Illia Polosukhin. Attention Is All You Need.
- Sam Toyer, Olivia Watkins, Ethan Adrian Mendes, Justin Svegliato, Luke Bailey, Tiffany Wang, Isaac Ong, Karim Elmaaroufi, Pieter Abbeel, Trevor Darrell, Alan Ritter, Stuart Russell. Tensor trust: interpretable prompt injection attacks from an online game.
- Perez F, Ribeiro I. Ignore previous prompt: attack techniques for language models.
- Zezhong Wang, Fangkai Yang, Lu Wang, Pu Zhao, Hongru Wang, Liang Chen, Qingwei Lin, Kam-Fai Wong. Self-guard: empower the LLM to safeguard itself.
- Julien Piet, Maha Alrashed, Chawin Sitawarin, Sizhe Chen, Zeming Wei, Elizabeth Sun, Basel Alomair, David Wagner. Jatmo: prompt injection defense by task-specific finetuning.
- Mantas Mazeika, Long Phan, Xuwang Yin, Andy Zou, Zifan Wang, Norman Mu, Elham Sakhaee, Nathaniel Li, Steven Basart, Bo Li, David Forsyth, Dan Hendrycks.HarmBench: A Standardized Evaluation Framework for Automated Red Teaming and Robust Refusal.
- Asimov, Isaac. Runaround. In I, Robot. Gnome Press, 1950.