Scopri come il prompt injection sfrutta le vulnerabilità dell'IA, influisce sulla sicurezza e apprendi strategie per proteggere i sistemi di IA da attacchi dannosi.
L'iniezione di prompt è una vulnerabilità di sicurezza critica che colpisce i sistemi basati su modelli linguistici di grandi dimensioni (LLM) e altre tecnologie di tecnologie di intelligenza artificiale generativa. Si verifica quando un utente malintenzionato crea un input specifico - spesso mascherato da una normale che induce il modello di intelligenza artificiale a ignorare le istruzioni originali impostate dallo sviluppatore e a eseguire comandi non voluti. comandi non previsti. Proprio come l'iniezione SQL permette di manipolare i database interferendo con le query di backend, la prompt injection prende di mira l'elaborazione del linguaggio naturale (NLP). elaborazione del linguaggio naturale (NLP) logica, sfruttando il fatto che molti modelli moderni elaborano i dati dell'utente e le istruzioni del sistema all'interno della stessa finestra di contesto. finestra.
In una tipica applicazione di IA, lo sviluppatore fornisce un "prompt di sistema" che definisce le regole, le persone e i confini di sicurezza dell'agente di IA. confini di sicurezza per l'agente di IA. Tuttavia, poiché i LLM sono progettati per seguire le istruzioni in modo fluente, possono faticare a distinguere tra il prompt autorevole del sistema e l'input dell'utente. e l'input dell'utente. Un attacco di prompt injection riuscito scavalca le protezioni di sicurezza del sistema, potenzialmente di sicurezza del sistema, causando potenzialmente fughe di dati, azioni non autorizzate o la generazione di contenuti dannosi. Questa minaccia è attualmente classificata come preoccupazione principale nella OWASP Top 10 for LLM Applications, evidenziando la sua importanza nel panorama della sicurezza informatica.
Gli attacchi di tipo Prompt Injection possono manifestarsi in vari modi, da scherzi giocosi a gravi violazioni della sicurezza.
Sebbene inizialmente associata a modelli di solo testo, l'iniezione di prompt sta diventando sempre più rilevante nella computer vision (CV) a causa dell'aumento dei modelli modelli multimodali. I modelli linguistici di visione (VLM) come CLIP o i rilevatori di i rilevatori a vocabolario aperto consentono agli utenti di definire quali oggetti trovare utilizzando descrizioni testuali.
Per esempio, in modelli come YOLO, le classi da da rilevare sono definite da messaggi di testo. Un input dannoso potrebbe teoricamente manipolare lo spazio di incorporazione per errori di classificazione degli oggetti o ignorare le minacce.
Il codice seguente dimostra come i messaggi di testo si interfaccino con un modello di visione, che rappresenta il punto di ingresso in cui potrebbero verificarsi tentativi di iniezione:
from ultralytics import YOLO
# Load a YOLO-World model which accepts text prompts for class definitions
model = YOLO("yolov8s-world.pt")
# Define custom classes via text prompts
# A malicious prompt here could attempt to confuse the model's semantic understanding
model.set_classes(["person", "suspicious object"])
# Run prediction on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
È fondamentale differenziare la prompt injection da altri termini nell'ecosistema dell'IA:
La difesa contro la prompt injection richiede un approccio di difesa in profondità, poiché nessuna soluzione è attualmente infallibile.
Le organizzazioni dovrebbero consultare framework come il NIST AI Risk Management Framework per implementare pratiche di sicurezza complete per le loro implementazioni di IA.