- Simon Willison a publié une vidéo, des slides et la transcription
- Prompt Injection = « une attaque contre une application construite sur un modèle d’IA », « pas une attaque contre le modèle d’IA lui-même »
- Démonstrations d’un exemple d’injection de traduction et d’une page attaquant Bing exécuté dans la barre latérale d’Edge
- Et si mon assistant IA obéissait aux ordres de quelqu’un d’autre ? (par exemple, une invite lui demandant de transférer un e-mail de réinitialisation de mot de passe quelque part)
- Il existe des solutions comme le prompt begging, mais elles fonctionnent mal
- Ma proposition… ce n’est pas idéal, mais le pattern Dual Language Model pourrait atténuer partiellement le problème
- Construire l’assistant IA avec deux LLM différents : un Privileged LLM et un Quarantined LLM
- Privileged LLM
- Peut accéder aux outils
- Ne traite que des entrées fiables
- Donne des instructions au Quarantined LLM, mais ne voit ni ses entrées ni ses sorties
- Ne manipule que des tokens :
Summarize text $VAR1
Display $SUMMARY2 to the User
- Quarantined LLM
- Exécute des tâches sur des entrées non fiables (comme le résumé)
- N’a accès à rien d’autre
- Toutes les entrées et sorties sont considérées comme contaminées — rien n’est transmis directement au Privileged LLM
- La prompt injection est une vulnérabilité de sécurité très grave : tant qu’on ne la comprend pas, il est impossible d’implémenter des contre-mesures
- Toutes les applications construites sur des modèles de langage sont fondamentalement vulnérables à ce problème
- Comme il n’existe pas encore de solution à la prompt injection, il faut parfois savoir dire « non » si cela empêche de développer une application de manière sûre
- En tant que développeur, je déteste vraiment être la personne qui dit « ce n’est pas possible », mais dans ce cas, je pense que c’est vraiment important
Aucun commentaire pour le moment.