🔍 Contexte
Publié le 31 mars 2026 par Ofir Shaty (Unit 42 / Palo Alto Networks), cet article présente les résultats d’une recherche offensive sur la plateforme Google Cloud Platform Vertex AI, et plus précisément sur son composant Agent Engine et l’Application Development Kit (ADK).
🎯 Vulnérabilité identifiée
Les chercheurs ont découvert que le Per-Project, Per-Product Service Agent (P4SA) associé à un agent IA déployé via Vertex AI Agent Engine dispose de permissions excessives accordées par défaut. En exploitant ces permissions, il est possible d’extraire les credentials du service agent suivant :
service-<PROJECT-ID>@gcp-sa-aiplatform-re.iam.gserviceaccount.com
L’extraction s’effectue via une requête au service de métadonnées GCP : http://metadata.google.internal/computeMetadata/v1/instance/?recursive=true
💥 Impact démontré
Grâce aux credentials volés, les chercheurs ont pu :
- Accéder en lecture à tous les Google Cloud Storage Buckets du projet consommateur (permissions :
storage.buckets.get,storage.buckets.list,storage.objects.get,storage.objects.list) - Télécharger des images Docker privées depuis des dépôts Artifact Registry internes à Google, notamment :
us-docker.pkg.dev/cloud-aiplatform-private/reasoning-engineus-docker.pkg.dev/cloud-aiplatform-private/llm-extension/reasoning-engine-py310:prod
- Accéder au projet tenant contenant des fichiers sensibles :
Dockerfile.zip,code.pkl,requirements.txt - Découvrir des références à des buckets GCS internes restreints de Google via le Dockerfile
- Identifier un risque d’exécution de code arbitraire via la désérialisation du fichier
code.pkl(format Python pickle)
⚠️ Risques additionnels
- Les scopes OAuth 2.0 par défaut sont excessivement larges et non modifiables, couvrant potentiellement Gmail, Google Calendar et Google Drive
- La misconfiguration de l’Artifact Registry expose la cartographie de la chaîne d’approvisionnement logicielle interne de Google
- L’agent malveillant est packagé sous forme de fichier pickle, vecteur connu d’exécution de code arbitraire
🤝 Divulgation responsable
Unit 42 a partagé ses découvertes avec Google, qui a mis à jour sa documentation officielle pour expliciter l’utilisation des ressources, comptes et agents Vertex AI. Google a également recommandé la pratique BYOSA (Bring Your Own Service Account) pour appliquer le principe du moindre privilège.
📄 Nature de l’article
Il s’agit d’une publication de recherche offensive à visée CTI, documentant une vulnérabilité de conception dans Vertex AI, avec preuve de concept, impact mesuré et coordination avec le vendeur.
🧠 TTPs et IOCs détectés
TTP
- T1552.001 — Credentials In Files (Credential Access)
- T1552.004 — Private Keys (Credential Access)
- T1078.004 — Valid Accounts: Cloud Accounts (Defense Evasion)
- T1530 — Data from Cloud Storage Object (Collection)
- T1619 — Cloud Storage Object Discovery (Discovery)
- T1613 — Container and Resource Discovery (Discovery)
- T1548 — Abuse Elevation Control Mechanism (Privilege Escalation)
- T1059.006 — Command and Scripting Interpreter: Python (Execution)
- T1190 — Exploit Public-Facing Application (Initial Access)
Malware / Outils
- malicious ADK agent (double agent) (other)
🔗 Source originale : https://unit42.paloaltonetworks.com/double-agents-vertex-ai/