Méthodologie de l'observatoire de la sécurité agentique : modélisation cognitive & multiplicateur d'autonomie
1. L’effondrement des frontières traditionnelles de sécurité
Section intitulée « 1. L’effondrement des frontières traditionnelles de sécurité »La sécurité logicielle moderne repose sur le principe du déterminisme computationnel : pour une entrée X donnée, un programme P produit un résultat Y selon une logique prédéfinie à la compilation. Les vulnérabilités (ex. débordements de tampon, injections SQL) surviennent lorsqu’une entrée inattendue brise la grammaire attendue.
Dans l’IA Agentique, cette frontière disparaît :
- L’indiscernabilité entre instructions et données : le langage naturel sert simultanément de code exécutable (le prompt système), de jeu d’instructions d’exécution (la pensée de l’agent), et de données externes non fiables (la requête utilisateur, un courriel aspiré, une page web). Un agent ne peut mathématiquement pas prouver si une chaîne entrante est « une donnée à analyser » ou « un ordre impératif à exécuter ».
- La boucle pensée-action autonome : dans des architectures comme ReAct, AutoGen ou CrewAI, le modèle formule des étapes de raisonnement intermédiaire (
Thought:), sélectionne un outil (Action:), analyse le retour de l’outil (Observation:), et planifie l’étape suivante. Si une injection compromet l’étape de pensée, l’agent exécute spontanément des actions illégitimes sur plusieurs tours sans intervention humaine. - L’autorité des outils ambiants : contrairement à un attaquant humain qui doit explorer le réseau et élever ses privilèges pas à pas, un agent connecté à des outils dispose d’emblée de sessions actives, de droits d’accès au système de fichiers et de clés d’API cloud. Prendre le contrôle de l’agent confère immédiatement toute l’autorité de ses outils.
2. Banc d’essai interactif de l’observatoire
Section intitulée « 2. Banc d’essai interactif de l’observatoire »Consultez les évaluations des frameworks, analysez les couches cognitives de vulnérabilité ou testez vos configurations dans le banc d’essai :
Cartographie de Posture des 10 Écosystèmes Agentiques
Évaluation continue des frameworks selon le degré d'autonomie native, le niveau d'isolation par défaut et l'exposition aux outils ambiants.
Cursor AI IDE
Mistral Vibe Agent
LangChain / LangGraph
Microsoft AutoGen
CrewAI
OpenDevin (All-Hands)
Model Context Protocol (MCP)
LlamaIndex Agentic RAG
vLLM / Ollama Runtime
DeepSeek / Janus Architecture
Taxonomie Cognitive en 4 Couches des Systèmes Agentiques
Les vulnérabilités agentiques ne frappent pas un binaire statique mais s'articulent le long du cycle de vie cognitif de l'agent.
Perception Layer (Input Processing & Context)
Weaponization of untrusted inputs, indirect context injections via web scraping/documents, and tokenizer bypasses that override system instructions.
Brain / Reasoning Layer (Planning & Routing)
Subversion of task decomposition, deceptive goal re-prioritization, semantic tool poisoning, and lateral impersonation between agent swarm nodes.
Action Layer (Tools, Actuation & Sinks)
Unauthorized invocation of state-modifying tools, parameter tampering, command injection via shell built-ins, and multi-turn autonomous retry loops.
Memory & Persistence Layer (State & Vector DB)
Persistent poisoning of long-term vector embeddings, episodic state contamination, and cross-session sleeper vulnerabilities surviving restarts.
Le Multiplicateur d'Autonomie : Pourquoi le CVSS Sous-Estime le Risque
Le standard CVSS v3/v4 a été conçu pour du logiciel déterministe. Dès qu'un agent dispose d'une boucle d'auto-exécution et d'outils, la sévérité réelle explose.
| CVE ID | Framework & Vulnérabilité | CVSS v3.1 | Hermes HASS | Multiplicateur & Écart | Statut Offensive |
|---|---|---|---|---|---|
| CVE-2026-87986 | Mistral Vibe Parser Error AST Discrepancy RCE | 8.4 | 95.0 | +11.0 pts | Militarisé (In-the-wild) |
| CVE-2026-87985 | Mistral Vibe ANSI-C String Escape RCE | 8.4 | 94.0 | +10.0 pts | Militarisé (In-the-wild) |
| CVE-2026-87983 | Mistral Vibe Quote Evasion Gate Bypass RCE | 8.4 | 93.0 | +9.0 pts | Militarisé (In-the-wild) |
| CVE-2026-4372 | Cursor AI IDE Auto-Run Terminal Command Injection | 8.8 | 91.0 | +3.0 pts | Militarisé (In-the-wild) |
| CVE-2026-27966 | Langflow CSV Agent Python REPL Arbitrary RCE | 9.8 | 96.0 | -2.0 pts | Militarisé (In-the-wild) |
| CVE-2026-54236 | OpenDevin Autonomous Agent Docker Socket Escape | 8.9 | 97.0 | +8.1 pts | PoC Public Vérifié |
| CVE-2026-11393 | CrewAI Autonomous Tool Execution Sandbox Escape | 8.1 | 88.0 | +7.0 pts | PoC Public Vérifié |
| CVE-2026-48746 | LangChain Remote Agent Deserialization / Tool Execution RCE | 8.6 | 92.0 | +6.0 pts | PoC Public Vérifié |
| CVE-2026-5027 | AutoGen Multi-Agent Workflow Privilege Escalation | 7.8 | 85.0 | +7.2 pts | PoC Public Vérifié |
| CVE-2026-76460 | DeepSeek Janus-Pro Tensor Buffer Overflow RCE | 8.5 | 83.0 | -2.0 pts | PoC Public Vérifié |
Bac à Sable de Diagnostic de Posture Agentique (Privacy-First)
Évaluez le profil de risque de votre propre agent. Tous les calculs s'exécutent localement dans votre navigateur sans aucune transmission réseau.
Exposition sévère : l'accès aux outils système combiné à la mémoire partagée permet une compromission persistante en cas d'injection indirecte.
- Migrer l'exécution des outils vers une MicroVM éphémère
- Introduire une validation humaine (Human-in-the-loop) pour tout shell
- Signer cryptographiquement les documents insérés dans le RAG
3. Formalisme mathématique : le multiplicateur d’autonomie (M_auto)
Section intitulée « 3. Formalisme mathématique : le multiplicateur d’autonomie (M_auto) »Pour formaliser la raison pour laquelle le score CVSS classique sous-estime radicalement l’impact opérationnel d’une faille touchant un agent, Hermes introduit le Cadre du Multiplicateur d’Autonomie.
3.1 risque opérationnel agentique global (R_agent)
Section intitulée « 3.1 risque opérationnel agentique global (R_agent) »Le risque effectif d’une vulnérabilité au sein d’une architecture d’agent est modélisé par :
R_agent = min(100, R_base * M_auto * (1 + A_tool) * (1 + P_mem))Où :
R_base(compris entre 0 et 10) représente la gravité intrinsèque brute de la faille logicielle (CVSS de base ou exploitabilité technique).M_auto >= 1.0représente le Multiplicateur d’Autonomie.A_tool >= 0.0représente l’indice d’Autorité des Outils Ambiants.P_mem >= 0.0représente le Facteur de Persistance Contextuelle.
3.2 dérivation formelle des paramètres
Section intitulée « 3.2 dérivation formelle des paramètres »Paramètre 1 : le multiplicateur d’autonomie (M_auto)
Section intitulée « Paramètre 1 : le multiplicateur d’autonomie (M_auto) »Mesure les degrés de liberté accordés à l’agent lors de la réalisation de ses tâches :
M_auto = 1.0 + (w_loop * L_depth) + (w_hitl * (1 - H_gate))L_depth(compris entre 0 et 3) représente la profondeur de planification autonome (0 = tour unique passif, 1 = tâche isolée pré-approuvée, 2 = planification multi-étapes, 3 = boucle non surveillée continue).H_gate(compris entre 0.0 et 1.0) représente la proportion d’actions requérant une approbation humaine explicite (1.0 = validation humaine obligatoire à chaque actionnement ; 0.0 = modeauto-runsans confirmation).w_loop = 0.35,w_hitl = 0.65.
Implication opérationnelle : lorsqu’un agent passe d’un mode supervisé (H_gate = 1.0) au mode auto-run total (H_gate = 0.0) avec planification multi-étapes (L_depth = 2), M_auto passe de 1.70 à 2.35, doublant la probabilité d’exploitation réelle.
Paramètre 2 : l’autorité des outils ambiants (A_tool)
Section intitulée « Paramètre 2 : l’autorité des outils ambiants (A_tool) »Quantifie le potentiel de destruction des outils connectés au plan d’exécution de l’agent :
A_tool = SUM_{j=1}^M [ ToolWeight(t_j) * IsolationFactor(t_j) ]Capacité de l’Outil (t_j) | Poids de Base de l’Outil | Facteur d’Isolation (MicroVM) | Facteur d’Isolation (Processus Hôte) |
|---|---|---|---|
| API d’information en lecture seule | 0.10 | 0.20 | 1.00 |
| API applicative avec modification d’état | 0.35 | 0.30 | 1.00 |
| Écriture sur système de fichiers local | 0.60 | 0.25 | 1.00 |
| Exécution de code REPL Python / JS | 0.85 | 0.20 | 1.00 |
| Shell Bash hôte / Socket Docker local | 1.20 | 0.15 | 1.00 |
Implication opérationnelle : connecter un shell Bash hôte non isolé (ToolWeight = 1.20, IsolationFactor = 1.00) majore directement A_tool de 1.20. À l’inverse, isoler cet outil dans une MicroVM éphémère réduit l’autorité effective à 1.20 * 0.15 = 0.18.
Paramètre 3 : le facteur de persistance contextuelle (P_mem)
Section intitulée « Paramètre 3 : le facteur de persistance contextuelle (P_mem) »Mesure la durée de vie de la charge hostile dans le système :
P_mem = 0.0: Éphémère (effacée à la fin du tour conversationnel).P_mem = 0.25: Mémoire de Session (persiste durant les échanges de la session active).P_mem = 0.75: Base Vectorielle Partagée (RAG) (persiste dans les embeddings d’entreprise, affectant tous les utilisateurs).P_mem = 1.25: Altération de Configuration / Poids (compromission permanente survivant au redémarrage des services).
4. Architecture de défense en profondeur en 4 couches
Section intitulée « 4. Architecture de défense en profondeur en 4 couches »Pour contrer systématiquement les menaces tout au long du cycle de vie de l’agent, les équipes de sécurité doivent déployer des contrôles échelonnés sur les 4 couches cognitives :
graph TD subgraph Layer1 ["1. Défense de Perception"] D1["Patron Dual-LLM (Privilégié vs Non-Fiable)"] D2["Délimiteurs XML Structurels avec Nonces"] end
subgraph Layer2 ["2. Défense Cerveau & Planification"] D3["Garde-fous d'Intention Déterministes (AST / Regex)"] D4["Signatures Cryptographiques des Schémas d'Outils"] end
subgraph Layer3 ["3. Défense d'Action & Outils"] D5["Isolation en MicroVM Éphémère (Firecracker)"] D6["Barrière d'Approbation Humaine JIT Incontournable"] end
subgraph Layer4 ["4. Défense Mémoire & Persistance"] D7["Base d'Embeddings Signée en Lecture Seule"] D8["Segmentation Épisodique par Contexte de Session"] end
Layer1 --> Layer2 Layer2 --> Layer3 Layer3 --> Layer44.1 couche 1 : le patron dual-LLM pour la perception
Section intitulée « 4.1 couche 1 : le patron dual-LLM pour la perception »Ne jamais autoriser la même instance de modèle à traiter des données externes non fiables et à générer des appels d’outils privilégiés. Mettre en œuvre une architecture à deux étages :
- Étage 1 (parseur LLM) : ingère les textes externes bruts (courriels, pages web, pull requests) dans un environnement sans outils et les convertit en structure JSON stricte et validée.
- Étage 2 (planificateur LLM) : reçoit exclusivement la structure JSON assainie et émet les ordres d’actionnement, à l’abri de toute prose hostile directe.
4.2 couche 2 : schémas d’outils signés cryptographiquement
Section intitulée « 4.2 couche 2 : schémas d’outils signés cryptographiquement »Neutraliser l’empoisonnement d’outils sémantiques (AAP-004) en signant les manifestes et spécifications d’outils avec une clé d’entreprise privée. Lors de l’enregistrement à l’exécution (ex. serveurs MCP), le routeur de l’agent rejette tout outil dont les descriptions, paramètres ou points d’entrée ne correspondent pas à la signature cryptographique.
4.3 couche 3 : actionnement en MicroVM éphémère
Section intitulée « 4.3 couche 3 : actionnement en MicroVM éphémère »L’exécution de commandes système ne doit jamais se dérouler directement sur l’hôte ni dans des conteneurs partagés avec droits root. Chaque invocation d’outil doit s’exécuter au sein d’une MicroVM éphémère (Firecracker ou bac à sable gVisor) avec :
- Privilèges root et capacités Linux (
CAP_SYS_ADMIN) révoqués. - Réseau restreint par des règles de pare-feu sortant strictes.
- Destruction immédiate du système de fichiers virtuel dès la fin de la commande.
4.4 couche 4 : bases de mémoire vérifiées cryptographiquement
Section intitulée « 4.4 couche 4 : bases de mémoire vérifiées cryptographiquement »Prévenir l’empoisonnement persistant de RAG (AAP-005) en imposant des preuves d’intégrité sur les vecteurs d’embeddings. Lorsqu’un agent extrait des fragments contextuels, il vérifie les signatures cryptographiques auprès d’un registre d’entreprise de référence avant d’injecter le texte dans son contexte de raisonnement.
5. Vérification & API REST ouverte
Section intitulée « 5. Vérification & API REST ouverte »L’intégralité du jeu de données de l’Observatoire de la Sécurité Agentique est compilée statiquement sous forme de fichiers JSON exploitables par machine :
| Point de terminaison | Contenu |
|---|---|
/api/agentic-observatory/index.json | Jeu de données maître complet, métriques du funnel, frameworks et incidents. |
/api/agentic-observatory/radar.json | Radar des menaces en direct, télémétrie et liste des exploits militarisés. |
/api/agentic-observatory/frameworks.json | Fiches détaillées des frameworks, niveau de sandbox et corrélations CVE. |
/api/agentic-observatory/patterns.json | Taxonomie cognitive en 4 couches, AAPs associés et contrôles de défense. |
Le schéma d’évaluation est validé lors de l’intégration continue via data/schemas/agentic-observatory.schema.json.