Votre agent IA est gentil... jusqu'à ce qu'il lise LE mauvais document 😈
Et si votre agent C# devenait complice d'une attaque, sans aucune erreur de code ? Pas de bug. Pas de faille réseau. Juste un email, un ticket support ou une page web piégée. C'est ça, la prompt injection indirecte : l'attaque la plus simple et la plus sous-estimée contre les agents IA.
🧠 Un LLM seul qui hallucine, c'est gênant. Un agent avec des outils qui obéit à un attaquant, c'est catastrophique.
C'est exactement ce que je démontre en vidéo avec Microsoft Agent Framework.
Lire, ce n'est plus sans risque : quand comprendre = agir 📄 ➡️ 🛠️
Tant qu'un modèle se contente de répondre, le risque reste limité. Tout change quand votre agent peut agir sur le monde réel :
- 📧 envoyer un email à votre place
- 🗄️ interroger une base sensible
- 🌐 appeler une API métier
- 📢 publier une information ou modifier un état critique
Dès qu'il lit des contenus non fiables - document PDF, page web, email client, ticket support, contenu RAG - et qu'il possède des outils, vous avez créé sans le savoir un confused deputy : un adjoint zélé qui confond données à lire et ordres à exécuter.
Et non, ce n'est pas théorique. C'est du RGPD, de la perte financière, de la responsabilité juridique.
Pourquoi votre "super prompt système" ne vous sauvera pas 🛡️💥
C'est l'illusion la plus tenace chez les devs :
"J'ai bien verrouillé mon prompt système, donc ça va."
Faux. Et c'est le message central de la vidéo :
Un prompt peut réduire le risque, mais il ne doit jamais être votre mécanisme d'autorisation.
Un prompt, c'est du texte. Ça se contourne, ça se manipule, ça s'oublie. Un attaquant n'a pas besoin de hacker votre C#, il lui suffit de hacker la confiance que votre agent accorde au texte.
Même les techniques de durcissement comme le spotlighting Base64 - baliser, encoder, isoler le contenu externe - sont utiles mais insuffisantes. Pourquoi ? Je vous le montre en live : un modèle assez malin pour vous aider est aussi assez malin pour décoder ce qu'on lui cache...
Ce que vous allez voir dans la vidéo 🎬 (sans tout spoiler...)
Avec une démo 100% locale et reproductible en C# / .NET, je fais progresser l'attaque en 3 étapes :
1. L'agent naïf 🤖 Celui que 90% d'entre nous codent en premier. Il mélange instruction fiable et document externe dans le même contexte. Résultat ? À vous de voir...
2. L'agent "protégé" par spotlighting 🔍 On encode le document en Base64, on prévient le modèle. Mieux ? Oui. Suffisant ? Regardez bien la fin de la démo...
3. L'agent contrôlé 🏗️🔒 On change de paradigme : analyse sans outils, sortie typée, politique applicative avant appel d'outil. L'IA propose, le code dispose. Un agent IA utile est un composant logiciel contrôlé.
⚠️ Je ne vous donne pas juste une astuce de prompt. Je vous montre une architecture logicielle.
À retenir pour vos projets .NET dès demain ✅
- Séparez plan de confiance : système > développeur > utilisateur > contenu externe (jamais d'égalité).
- Interdisez à l'agent qui lit d'agir directement. D'abord analyser, ensuite autoriser.
- Validez avec du vrai code C# : JSON Schema, allow-list d'actions, validation humaine pour les actions sensibles.
- Logguez tout : quel document a déclenché quel outil ?
Bref : arrêtez de voir votre agent comme un magicien à qui on parle. Voyez-le comme un service junior ultra-puissant qu'il faut encadrer.
🎬 La vidéo complète avec les 3 démos commentées est ici : 👉 Voir la vidéo sur YouTube
💻 Le code source de la démo est disponible ici : 👉 https://github.com/odahan/LesJeudisAgentiques
Attention : licence restrictive, usage privé et pédagogique uniquement. Lisez le fichier LICENCE.MD avant toute utilisation.