Approfondimenti sulla sicurezza degli LLM dal più grande Red Team del mondo
E se la più grande minaccia per l'IA non fosse il codice malevolo? Potrebbe essere testo creato abilmente. Il progetto Gandalf , un approccio gamificato alla sicurezza dell'IA, ha mostrato quanto facilmente i large language models (LLM) possano essere manipolati tramite prompt injection. Presentato da Max Mathys, un ingegnere ML di Lakera AI, durante un recente meetup sui dati non strutturati di Zilliz, questo esperimento unico nella sicurezza dell'IA ha trasformato un semplice gioco nel più grande red team al mondo. Ha attirato centinaia di utenti e generato oltre 40 milioni di prompt.
La sfida principale consisteva nell'estrarre una password segreta da un'IA chiamata Gandalf usando interazioni basate su testo. Questo gioco apparentemente semplice ha fornito un esempio pratico e reale di machine learning avversario, in cui gli attaccanti cercano intenzionalmente di ingannare o manipolare i modelli di IA.
I risultati del progetto hanno mostrato la necessità critica di potenti misure di sicurezza per l'IA. Molti prompt degli utenti erano attacchi riusciti che hanno aggirato le difese di Gandalf, evidenziando quanto possano essere vulnerabili i sistemi di IA. Man mano che gli LLM diventano sempre più integrati nella nostra vita quotidiana, l'importanza di costruire difese resilienti contro la prompt injection non può essere sottovalutata.
In questo blog, riepilogheremo i punti principali dell'intervento di Max e discuteremo l'importanza del prompt engineering e il suo effetto sostanziale sugli LLM. Esamineremo anche come il progetto Gandalf abbia rivelato le vulnerabilità degli LLM agli attacchi avversari. Inoltre, affronteremo il ruolo dei database vettoriali nella sicurezza dell'IA.
Il gioco Gandalf: un terreno di prova per la prompt injection
Il gioco Gandalf è stato progettato come una sfida basata su testo in cui agli utenti veniva affidato il compito di estrarre una password segreta da un'IA. Il gioco consisteva in otto livelli di difficoltà crescente, ciascuno dei quali introduceva nuove difese contro gli attacchi. Gli utenti interagivano con l'IA usando prompt testuali, tentando di aggirare le misure di sicurezza e rivelare la password nascosta.
Figura: L'interfaccia del progetto Gandalf
Alla base, il gioco Gandalf è stato progettato per testare gli attacchi di prompt injection. Questi attacchi prevedono che gli utenti creino prompt specifici per manipolare il comportamento dell'LLM. Invece di sfruttare direttamente vulnerabilità del codice, gli utenti cercavano di "ingannare" l'IA affinché rivelasse la password formulando con cura le proprie richieste. Questo approccio ha permesso al gioco di esplorare varie tecniche avversarie che sfruttano le capacità di comprensione del linguaggio dell'LLM.
Figura: Il gioco Gandalf
Il gioco ha attirato centinaia di migliaia di giocatori che hanno inviato oltre 40 milioni di prompt. Questo volume di dati reali ha fornito un'opportunità unica per studiare le vulnerabilità dell'IA nella pratica. Alcuni utenti hanno costruito AI agents per giocare, mostrando quanto siano diventati avanzati i metodi di attacco. Circa il 10% dei prompt è riuscito a ingannare l'IA, evidenziando rischi di sicurezza nel mondo reale.
Raccolta dei dati e scala della sfida
Il progetto Gandalf ha accumulato un grande dataset, raccogliendo oltre 40 milioni di prompt e tentativi da oltre 1 milione di utenti. I dati riflettevano un elevato livello di diversità, con utenti che usavano oltre 68 lingue. Questo significa che la prompt injection non è limitata all'inglese e può verificarsi in lingue diverse.
Figura: statistiche dei dati di Gandalf
Questo progetto ha affrontato sfide tecniche significative, come sovraccarichi dei server e limitazioni di frequenza da parte dell'API di OpenAI. Il team ha dovuto implementare il bilanciamento del carico tra diversi account OpenAI per gestire questi problemi. Queste difficoltà tecniche evidenziano le esigenze della distribuzione di un test di sicurezza AI nel mondo reale.
Il dataset includeva numerosi attacchi, come:
Attacchi Unicode: Usano emoji e caratteri speciali per confondere l'LLM.
Attacchi di cambiamento semantico: Spostano l'attenzione su un altro compito, inducendo indirettamente l'LLM a rivelare la password.
Leet Speak: Sostituisce lettere con numeri e simboli per offuscare l'intento.
Tecniche di programmazione: Usano gergo tecnico o codice per fuorviare l'LLM.
Attacchi indiretti: Manipolano il giudice LLM invece di prendere di mira direttamente l'LLM.
Attacchi diretti: Richiedono semplicemente la password in modo esplicito.
Figura: esempi di attacchi
Analisi dei metodi di attacco usando embedding vettoriali
Sono stati usati approcci basati su embedding per categorizzare e analizzare i numerosi attacchi. Invece di esaminare manualmente ogni prompt, sono stati usati embedding vettoriali per raggruppare attacchi simili e identificare schemi.
Figura: gruppi di attacchi
Gli embedding vettoriali sono rappresentazioni numeriche di punti dati in uno spazio ad alta dimensionalità. In questo spazio, punti dati simili sono posizionati vicini tra loro, mentre punti dati dissimili si trovano più lontani. In sostanza, i prompt testuali vengono convertiti in rappresentazioni vettoriali, in cui ogni numero corrisponde a una specifica caratteristica del testo. Diversi tipi specifici di attacchi, come attacchi unicode, leet speak e attacchi di cambiamento semantico, possono essere identificati usando embedding vettoriali.
L'uso di embedding vettoriali consente efficienti ricerche di similarità. Un database vettoriale, come Milvus, è progettato per gestire grandi dataset di dati non strutturati, come il testo, tramite rappresentazioni vettoriali. Questo processo facilita il recupero rapido e accurato di informazioni pertinenti attraverso una ricerca e un'analisi di similarità efficienti.
Esistono tre tipi principali di embedding, ciascuno con vantaggi nella comprensione delle relazioni e nella gestione delle risorse computazionali.
Embedding densi: Rappresentano punti dati con la maggior parte degli elementi non nulli, catturando dettagli più fini, ma sono meno efficienti in termini di archiviazione. Modelli come CLIP e BERT generano embedding vettoriali densi.
Embedding sparsi: Sono vettori ad alta dimensionalità con elementi per lo più pari a zero. I valori non nulli indicano l'importanza di specifici punti dati. Questo li rende efficienti in termini di memoria e adatti a dati sparsi ad alta dimensionalità, come le frequenze delle parole.
Embedding binari: Questi embedding archiviano informazioni usando solo 1 e 0. Ciò rende efficienti l'archiviazione e il recupero, sebbene con una certa perdita di precisione.
Strategie di difesa: dal prompt engineering ai classificatori di testo
Vengono utilizzate varie strategie di difesa contro gli attacchi di prompt injection, che vanno da semplici tecniche di prompt engineering a metodi complessi come i classificatori di testo. Queste strategie possono essere viste come diversi "livelli" nel gioco, ciascuno progettato per rendere progressivamente più difficile per gli utenti estrarre la password segreta.
Queste strategie possono essere ampiamente suddivise in tre tipi: difese basate sul prompt engineering, difese basate su LLM e difese con classificatori di testo.
Difese basate sul Prompt Engineering
I primi livelli del gioco utilizzavano tecniche di prompt engineering di base. Queste difese erano relativamente semplici e progettate per essere facilmente aggirate. Ad esempio, il primo livello non aveva difese, mentre i livelli successivi utilizzavano un semplice filtraggio per bloccare domande dirette come "Qual è la password?" Tuttavia, queste difese basate sui prompt rimangono vulnerabili agli attacchi di prompt injection.
Difesa basata su LLM (LLM Judge)
Il livello intermedio ha introdotto un approccio più avanzato utilizzando un LLM judge. In questa configurazione, sia il prompt dell'utente sia la risposta del modello venivano passati a un altro LLM, che agiva come giudice. Il giudice valutava l'intera interazione e determinava se l'utente stesse tentando un attacco di prompt injection.
L'LLM judge era pensato per intercettare manipolazioni sottili, ma era comunque vulnerabile agli attacchi di prompt injection. Aggirare sia il modello originale sia l'LLM judge ha mostrato che il sistema di difesa presentava debolezze e non era completamente affidabile.
Figura: difesa basata su LLM
Difesa con classificatore di testo
Gli ultimi livelli utilizzavano una tecnologia diversa, un classificatore di testo binario, per affrontare le carenze della difesa basata su LLM. Questo classificatore agiva come un “livello sicuro” tra l'utente e l'LLM.
Il classificatore di testo non era suscettibile agli attacchi di prompt injection. Era progettato per analizzare il prompt dell'utente e l'output del modello. Questo determina se fosse in corso un tentativo di attacco senza essere influenzato dal contenuto semantico del testo.
Difesa con classificatore di testo
Il ruolo dei database vettoriali nella sicurezza dell'IA
I database vettoriali svolgono un ruolo importante nel migliorare la sicurezza dell'IA fornendo archiviazione, indicizzazione e recupero efficienti degli embedding vettoriali. Questi embedding abilitano varie applicazioni di sicurezza, come l'analisi dei pattern di attacco, il rilevamento di anomalie e il miglioramento delle prestazioni dei modelli di sicurezza.
- Archiviazione e recupero efficienti degli embedding: I database vettoriali come Milvus e Zilliz Cloud (la versione gestita di Milvus) sono progettati per gestire grandi volumi di embedding vettoriali. Questi database utilizzano algoritmi di indicizzazione avanzati per consentire ricerche di similarità rapide, essenziali per le applicazioni di sicurezza in tempo reale.
Recuperare rapidamente embedding simili è importante in attività di sicurezza come l'identificazione di pattern di attacco noti. I database vettoriali utilizzano tecniche come la ricerca Approximate Nearest Neighbor (ANN) per eseguire questi recuperi con bassa latenza.
Questi database supportano anche diversi tipi di indici, come FLAT, IVF_FLAT, HNSW e SCANN, che ottimizzano la ricerca per diversi tipi di dataset e casi d'uso.
- Migliorare le prestazioni dei modelli di sicurezza: I database vettoriali possono migliorare le prestazioni dei modelli di sicurezza dell'IA. L'utilizzo di embedding vettoriali di attacchi noti aiuta i sistemi di sicurezza a identificare e rispondere alle minacce in modo più efficace. Questo è particolarmente importante quando la natura degli attacchi cambia costantemente.
Il progetto Gandalf ha mostrato che l’uso di un classificatore di testo come meccanismo di difesa può essere un approccio più robusto. Questo metodo può essere migliorato utilizzando embedding vettoriali dei prompt di attacco invece di affidarsi solo a tecniche di prompt engineering.
I database vettoriali consentono l’uso di modelli ibridi, combinando diversi tipi di funzionalità o tecniche per migliorare la sicurezza complessiva.
I modelli di sicurezza possono incorporare una gamma più ampia di informazioni archiviando diversi tipi di embedding (densi, sparsi, binari) insieme ad altri dati.
- Rilevare anomalie: I database vettoriali possono anche essere utilizzati per identificare comportamenti anomali. I team di sicurezza possono rilevare deviazioni da questi pattern creando embedding delle normali attività di sistema. Il comportamento anomalo spesso darà luogo a embedding distanti dalla norma.
Rilevare comportamenti insoliti o inattesi è fondamentale nei sistemi di AI per identificare violazioni della sicurezza o malfunzionamenti del sistema. I database vettoriali rendono possibile monitorare continuamente l’attività del sistema e identificare rapidamente azioni potenzialmente dannose.
Milvus migliora la sicurezza degli APK e consente il rilevamento delle minacce in tempo reale. Altre aziende usano Milvus o Zilliz per ottenere un reperimento e un’etichettatura dei dati più rapidi e per migliorare la precisione delle query con la ricerca ibrida.
Conclusione
L’esperimento Gandalf, che sfidava gli utenti a ingannare un’AI per farle rivelare una password segreta, ha mostrato debolezze nei modelli linguistici (LLM). L’esperimento ha mostrato quanto facilmente questi modelli possano essere ingannati con prompt scritti con cura.
È diventato chiaro che le misure di sicurezza di base, come il semplice prompt engineering, non sono sufficienti a fermare questi attacchi. Anche difese più avanzate, come l’uso di un giudice LLM per monitorare le interazioni, si sono dimostrate vulnerabili.
L’esperimento ha anche mostrato quanto possano essere utili i database vettoriali per la sicurezza dell’AI. Gli embedding vettoriali aiutano ad analizzare i pattern di attacco, rilevare attività insolite e migliorare le difese. Nel complesso, l’esperimento ha sottolineato la necessità di approcci più intelligenti e stratificati per proteggere i sistemi di AI.
Ulteriori risorse
Continua a leggere

The Real Bottlenecks in Autonomous Driving — And How AI Infrastructure Can Solve Them
Autonomous driving faces a data bottleneck. Learn how AI-native vector databases like Zilliz solve scale, cost, and insight challenges across AV pipelines.

Zilliz Cloud Introduces Advanced BYOC-I Solution for Ultimate Enterprise Data Sovereignty
Explore Zilliz Cloud BYOC-I, the solution that balances AI innovation with data control, enabling secure deployments in finance, healthcare, and education sectors.

VidTok: Rethinking Video Processing with Compact Tokenization
VidTok tokenizes videos to reduce redundancy while preserving spatial and temporal details for efficient processing.



