~6 minutes
Dans une chaîne de délégation A2A, chaque agent hérite potentiellement des droits de son parent. Un agent subordonné compromis peut ainsi atteindre des ressources que personne n’avait anticipé.
Partie de la série A2A Security
Description du risque
On constate que la délégation de tâches est le coeur du protocole A2A et c’est précisément là que se nichent les risques d’escalade de privilèges les plus sournois. Quand un agent A délègue à un agent B qui sous-délègue à un agent C, la question devient : quels droits C a-t-il réellement ? La réponse, dans la plupart des implémentations, est : autant que B, qui en avait autant que A, sans vérification à chaque étape.
Ce mécanisme d’héritage implicite des permissions à travers la chaîne de délégation constitue un Confused Deputy Problem classique, transposé au monde des agents IA. L’agent intermédiaire (le “deputy”) agit avec les droits de son parent, y compris pour des actions que ce parent n’avait pas l’intention d’autoriser.
La spécification A2A ne définit pas de mécanisme standardisé pour borner la profondeur de délégation ni pour contraindre les permissions transmises à chaque niveau. Cette lacune est aujourd’hui documentée par l’OWASP sous l’identifiant ASI07.
Chaque niveau de délégation sans contrainte explicite est une porte entrouverte sur les droits du niveau supérieur.
Vecteurs d’attaque
1. Délégation transitive non bornée
Un orchestrateur délègue à un agent B avec tous ses droits. B sous-délègue à C, qui sous-délègue à D. À chaque étape, les permissions s’accumulent sans vérification. Un attaquant qui contrôle l’agent D a potentiellement accès à tout ce que l’orchestrateur pouvait faire, même si la tâche initiale ne l’exigeait pas.
2. Confused Deputy via contexte partagé
Un agent worker légitime reçoit une tâche de l’orchestrateur et dispose des droits nécessaires pour l’exécuter. Un attaquant qui peut influencer le contenu de la tâche (via injection de contexte ou manipulation de l’entrée) amène l’agent à utiliser ses droits légitimes pour accomplir une action non autorisée — par exemple, exporter des données en dehors du périmètre prévu.
3. Escalade via agent worker de confiance compromis
Dans une architecture supervisor-worker, si l’agent worker est compromis (supply chain, vulnérabilité d’exécution), il peut initier de nouvelles tâches A2A sous son propre nom mais avec les droits hérités de l’orchestrateur qui l’a sollicité. Il se comporte alors comme un orchestrateur non autorisé.
Exemple concret
Un système de reporting automatisé implique un orchestrateur de reporting, un agent d’extraction de données et un agent d’export.
- L’orchestrateur de reporting délègue à l’agent d’extraction avec ses propres droits (lecture + export + admin).
- L’agent d’extraction sous-délègue la tâche d’export à l’agent d’export avec les mêmes droits complets.
- L’agent d’export, développé par un prestataire tiers, est compromis via une dépendance malveillante.
- L’agent compromis initie une nouvelle tâche A2A vers un agent de sauvegarde, en se présentant comme un agent légitime du pipeline.
- L’agent de sauvegarde, qui fait confiance à n’importe quel appelant avec un token valide, exécute la sauvegarde vers le serveur attaquant.
Analyse STRIDE
| Catégorie STRIDE | Applicable | Explication |
|---|---|---|
| Spoofing (Usurpation d’identité) | Oui | Un agent compromis peut initier des tâches sous son nom légitime, masquant l’origine réelle de l’action malveillante. |
| Tampering (Falsification) | Modéré | Un agent Confused Deputy peut altérer des données dans les systèmes accessibles grâce à ses droits hérités. |
| Repudiation (Répudiation) | Oui | Sans traçabilité de la chaîne de délégation, impossible d’identifier quel agent a initié quelle action dans une chaîne A→B→C→D. |
| Information Disclosure (Divulgation) | Oui | Un agent avec des droits hérités trop larges peut accéder à des données bien au-delà du périmètre de sa tâche. |
| Denial of Service (Déni de service) | Faible | Impact limité dans ce vecteur spécifique. |
| Elevation of Privilege (Élévation de privilèges) | Oui (PRIMAIRE) | L’héritage implicite des permissions à travers la chaîne de délégation est précisément une élévation de privilège non autorisée. |
Analyse PASTA
Étape 4 — Analyse des menaces
Threat actors :
- Supply chain compromise : agent worker développé par un tiers contenant du code malveillant
- Attaquant avec accès à un agent worker : exploite les droits hérités pour initier des tâches non autorisées
- Injection de contexte : influence le comportement d’un agent légitime pour le transformer en Confused Deputy
Motivations : escalade de privilèges, exfiltration de données, accès persistent via un agent de confiance.
Étape 6 — Modélisation des attaques
graph TD
A["Unauthorized Delegation"]
A --> B["Chaîne de délégation transitive"]
B --> C["Profondeur non bornée (A→B→C→D→...)"]
B --> D["Permissions non contraintes à chaque niveau"]
A --> E["Confused Deputy"]
E --> F["Agent légitime manipulé via injection de contexte"]
E --> G["Agent worker compromis initie de nouvelles tâches"]
Étape 7 — Analyse de risque/impact
| Scénario | Probabilité | Impact | Score |
|---|---|---|---|
| Supply chain compromise d’un agent worker | Modérée | Critique | Critique |
| Délégation transitive sur 4+ niveaux sans contrainte | Élevée (mauvaise pratique commune) | Élevé | Critique |
| Confused Deputy via injection de contexte | Modérée | Élevé | Élevé |
Impact potentiel
| Impact | Niveau | Description de l'impact |
|---|---|---|
| Confidentialité | Critique | Un agent avec des droits hérités trop larges peut exfiltrer des données qui auraient dû être inaccessibles dans le cadre de sa tâche initiale. |
| Intégrité | Élevé | Un agent Confused Deputy peut déclencher des actions destructrices (suppressions, modifications en masse) sur des ressources auxquelles il ne devrait pas avoir accès en écriture. |
| Disponibilité | Modéré | Des actions non autorisées initiées par un agent compromis peuvent perturber des workflows dépendants et nécessiter un audit et une remédiation manuelle. |
| Réputation | Sévère | Une compromission via supply chain d'un agent worker qui exfiltre des données via délégation transitive expose l'organisation à des responsabilités légales vis-à-vis de ses clients et partenaires. |
Recommandations de mitigation
1. Borner explicitement la profondeur de délégation
Définir un paramètre max_delegation_depth dans chaque tâche A2A. Chaque agent qui reçoit une délégation décrémente ce compteur et refuse de sous-déléguer si la valeur atteint zéro.
2. Principe de moindre privilège strict par niveau
Chaque niveau de délégation doit recevoir un token scopé uniquement aux permissions nécessaires pour sa tâche spécifique (voir A2A02). Ne jamais transmettre les droits complets de l’orchestrateur à un agent worker.
3. Human-in-the-Loop pour les délégations critiques
Pour les tâches agentiques qui impliquent des actions destructrices ou financières, imposer une validation humaine avant l’exécution. L’agent ne peut pas initier de sous-délégation sur ce type d’action sans approbation explicite.
4. Audit trail de la chaîne de délégation complète
Logguer chaque niveau de délégation avec l’identifiant de l’agent initiateur, l’identifiant de l’agent destinataire, la profondeur et les permissions transmises. Cela permet de retracer précisément l’origine de toute action anormale dans la chaîne.
Quelques références pour aller plus loin
- OWASP Top 10 Agentic 2026 — ASI07
- ArXiv — Security Threat Modeling for AI-Agent Protocols
- Palo Alto — Safeguarding AI Agents : A2A Protocol Risks
- Connexe sur ce blog : MCP02 - Privilege Escalation via Scope Creep
À retenir
