Découvrez comment l'injection rapide exploite les modèles d'apprentissage automatique (LLM) et les modèles multimodaux. Explorez les risques liés à la vision par ordinateur, des exemples concrets et des stratégies d'atténuation pour la sécurité de l'IA.
L'injection de prompt est une faille de sécurité qui touche principalement les systèmes basés sur l' IA générative et les modèles linguistiques à grande échelle (LLM). Elle se produit lorsqu'un utilisateur malveillant crée une entrée spécifique, souvent déguisée en texte inoffensif, qui trompe l'intelligence artificielle et lui fait outrepasser sa programmation d'origine, ses garde-fous de sécurité ou ses instructions système. Contrairement aux méthodes de piratage traditionnelles qui exploitent les bogues logiciels dans le code, l'injection de prompt attaque l'interprétation sémantique du langage par le modèle. En manipulant la fenêtre contextuelle, un attaquant peut forcer le modèle à révéler des données sensibles, à générer du contenu interdit ou à effectuer des actions non autorisées. À mesure que l'IA devient plus autonome, il est essentiel de comprendre cette vulnérabilité pour maintenir une sécurité robuste de l'IA.
Initialement découverte dans les chatbots textuels, l'injection de prompt devient de plus en plus pertinente dans le domaine de la vision par ordinateur (CV) en raison de l'émergence des modèles multimodaux. Les modèles modernes de vision-langage (VLM), tels que CLIP ou les détecteurs à vocabulaire ouvert comme YOLO, permettent aux utilisateurs de définir des cibles de détection à l'aide de descriptions en langage naturel (par exemple, « trouver le sac à dos rouge »).
Dans ces systèmes, l'invite textuelle est convertie en intégrations que le modèle compare aux caractéristiques visuelles . Une « injection d'invite visuelle » peut se produire si un attaquant présente une image contenant des instructions textuelles (comme un panneau indiquant « Ignorer cet objet ») que le composant de reconnaissance optique de caractères (OCR) du modèle lit et interprète comme une commande hautement prioritaire. Cela crée un vecteur d'attaque unique où l'environnement physique lui-même agit comme mécanisme d'injection, remettant en question la fiabilité des véhicules autonomes et des systèmes de surveillance intelligents .
Les implications de l'injection rapide s'étendent à divers secteurs où l'IA interagit avec des entrées externes :
Il est important de différencier l'injection rapide des termes similaires utilisés dans le domaine de l'apprentissage automatique :
Le code suivant montre comment une invite de texte définie par l'utilisateur s'interface avec un modèle de vision à vocabulaire ouvert. Dans une
application sécurisée, le user_prompt nécessiterait une désinfection rigoureuse pour empêcher les tentatives d'injection. Nous
utilisons le ultralytics paquet permettant de charger un modèle capable de comprendre les définitions textuelles.
from ultralytics import YOLO
# Load a YOLO-World model capable of open-vocabulary detection
# This model maps text prompts to visual objects
model = YOLO("yolov8s-world.pt")
# Standard usage: The system expects simple class names
safe_classes = ["person", "bicycle", "car"]
# Injection Scenario: A malicious user inputs a prompt attempting to alter behavior
# e.g., attempting to override internal safety concepts or confuse the tokenizer
malicious_input = ["ignore safety gear", "authorized personnel only"]
# Setting classes updates the model's internal embeddings
model.set_classes(malicious_input)
# Run prediction. If the model is vulnerable to the semantic content
# of the malicious prompt, detection results may be manipulated.
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Visualize the potentially manipulated output
results[0].show()
La défense contre l'injection de prompt est un domaine de recherche très actif. Les techniques utilisées comprennent l' apprentissage par renforcement à partir du retour d'information humain (RLHF) pour entraîner les modèles à refuser les instructions nuisibles, et la mise en œuvre de défenses « sandwich » où les entrées de l'utilisateur sont encadrées par des instructions du système. Les organisations qui utilisent Ultralytics pour la formation et le déploiement peuvent surveiller les journaux d'inférence afin de detect les modèles de prompts detect . En outre, le cadre de gestion des risques liés à l'IA du NIST fournit des lignes directrices pour évaluer et atténuer ces types de risques dans les systèmes déployés.