~5 minutes
Une seule requête peut déclencher des centaines de délégations en cascade. Le DoS par amplification A2A est un déni de service économique silencieux qui vide les budgets avant qu’on s’en aperçoive.
Partie de la série A2A Security
Description du risque
La puissance des architectures multi-agents A2A réside dans leur capacité à paralléliser et à sous-déléguer des tâches, mais c’est précisément cette capacité qui crée un vecteur de DoS unique. Quand un attaquant peut déclencher une tâche A2A qui se subdivise en N sous-tâches, qui se subdivisent elles-mêmes en M sous-sous-tâches, l’effet d’amplification peut rapidement devenir exponentiel.
Ce type de Déni de Service est particulièrement insidieux dans un contexte IA car :
- Le coût est économique, pas seulement computationnel : chaque délégation consomme des tokens LLM facturés à l’usage. Avec Claude Opus 4.6 à plusieurs dollars par million de tokens, une boucle de délégation non bornée peut générer des factures de milliers d’euros en quelques minutes.
- Le signal d’alerte est retardé : contrairement à un DDoS réseau, les effets se voient sur la facture cloud, pas sur les métriques système en temps réel.
- Aucun circuit breaker n’est défini dans la spécification A2A v2 pour limiter l’amplification.
Une architecture multi-agents sans budget de délégation est une dépense sans plafond attendant son déclencheur.
Vecteurs d’attaque
1. Fan-out attack
Un attaquant envoie une tâche à un orchestrateur A2A qui délègue à N agents en parallèle, chacun déléguant à N autres, et ainsi de suite. Sans limite de fan-out explicite, un arbre de délégation de profondeur 4 avec un facteur de branchement de 5 génère 625 sous-tâches LLM à partir d’une seule requête initiale.
2. Boucle de délégation circulaire
Sans vérification de cycle dans le graphe de délégation, un agent A peut déléguer à B, qui délègue à C, qui délègue à A, créant une boucle infinie. Chaque itération consomme des ressources et des tokens jusqu’à épuisement du budget ou timeout du système.
3. Tâches à longue durée déclenchées en masse
Un attaquant déclenche un grand nombre de tâches A2A qui impliquent des opérations longues (analyse de gros documents, recherche approfondie, génération de code complexe). Même si chaque tâche est légitime individuellement, leur déclenchement simultané épuise les ressources et le budget.
Exemple concret
Un système de recherche agentique reçoit une requête d’analyse de marché.
- L’orchestrateur reçoit : “Analyse en profondeur les 50 principaux marchés européens pour notre expansion.”
- Sans circuit breaker, l’orchestrateur délègue à 50 agents de recherche en parallèle (un par marché).
- Chaque agent de recherche délègue à 5 sous-agents spécialisés (économie, régulation, concurrence, culture, logistique).
- Chaque sous-agent fait appel à 3 agents de synthèse.
- Résultat : 750 appels LLM déclenchés par une seule requête, chacun traitant des dizaines de milliers de tokens.
Un attaquant qui peut déclencher cette requête , même de manière légitime en apparence , peut vider le budget LLM mensuel en une seule opération.
Analyse STRIDE
| Catégorie STRIDE | Applicable | Explication |
|---|---|---|
| Spoofing (Usurpation d’identité) | Faible | Ce risque ne porte pas sur l’identité. |
| Tampering (Falsification) | Faible | Ce risque ne porte pas sur l’intégrité des données. |
| Repudiation (Répudiation) | Modéré | Sans log du graphe de délégation complet, difficile d’identifier l’origine d’un fan-out excessif. |
| Information Disclosure (Divulgation) | Faible | Impact limité sur ce vecteur. |
| Denial of Service (Déni de service) | Oui (PRIMAIRE) | Le déni de service économique (épuisement du budget LLM) et opérationnel (saturation des ressources) est l’impact central de ce risque. |
| Elevation of Privilege (Élévation de privilèges) | Faible | Impact limité sur ce vecteur. |
Analyse PASTA
Étape 4 — Analyse des menaces
Threat actors :
- Utilisateur malveillant avec accès légitime au système, qui formule des requêtes conçues pour déclencher un fan-out maximal
- Attaquant externe ayant accès à un endpoint A2A public ou peu protégé
- Agent compromis qui déclenche délibérément des cascades de délégation non bornées
Motivations : interruption de service, augmentation des coûts pour la cible (attaque économique), couverture pour d’autres actions malveillantes.
Étape 6 — Modélisation des attaques
graph TD
A["DoS par amplification A2A"] --> B["Fan-out attack"]
A --> C["Boucle circulaire"]
B --> B1["Requête unique → N délégations → N² sous-délégations"]
B --> B2["Absence de limite de branchement dans l'orchestrateur"]
C --> C1["A→B→C→A : cycle de délégation infini"]
C --> C2["Absence de détection de cycle dans le graphe"]
Étape 7 — Analyse de risque/impact
| Scénario | Probabilité | Impact | Score |
|---|---|---|---|
| Fan-out non borné sur requête légitime volontairement large | Élevée | Élevé | Critique |
| Boucle circulaire de délégation | Modérée | Critique | Critique |
| Déclenchement massif de tâches longues | Modérée | Élevé | Élevé |
Impact potentiel
| Impact | Niveau | Description de l'impact |
|---|---|---|
| Confidentialité | Faible | Impact limité sur ce vecteur , l'objectif est la perturbation de service, pas l'exfiltration de données. |
| Intégrité | Modéré | La saturation des ressources peut entraîner des résultats partiels ou corrompus dans les pipelines agentiques en cours d'exécution. |
| Disponibilité | Critique | Interruption complète du pipeline agentique, saturation des quotas LLM, épuisement du budget cloud. Un fan-out de profondeur 4 peut générer des centaines de tâches en quelques secondes. |
| Réputation | Élevé | Une facture cloud anormale de plusieurs milliers d'euros en quelques heures, nécessitant une investigation et une explication aux équipes financières, avec impact opérationnel visible. |
Recommandations de mitigation
1. Budget de tokens par pipeline A2A
Définir un budget de tokens maximum par pipeline complet (requête initiale + toutes les sous-délégations). Implémenter un circuit breaker qui interrompt la délégation dès que le budget est atteint.
2. Limite de fan-out et détection de cycle
Définir un facteur de branchement maximum (ex. 10 délégations parallèles max par nœud) et maintenir un graphe de délégation pour détecter les cycles (un agent ne peut pas apparaître deux fois dans la même chaîne).
3. Rate limiting sur les endpoints A2A
Implémenter un rate limiting strict sur l’endpoint /tasks/send de chaque agent : nombre de requêtes par minute par client, et nombre de tâches simultanées en cours.
4. Monitoring du graphe de délégation en temps réel
Surveiller en temps réel la profondeur et le fan-out du graphe de délégation avec des alertes dès que des seuils anormaux sont atteints. Des outils comme Langfuse ou Prometheus permettent de visualiser ces métriques.
Quelques références pour aller plus loin
- OWASP Top 10 Agentic 2026 — ASI03 (Unbounded Consumption)
- OWASP LLM Top 10 2025 — LLM10 Unbounded Consumption
- Langfuse — Observabilité LLM
- Connexe sur ce blog : A2A04 - Unauthorized Delegation
À retenir
