Selon Truffle Security (blog), Google a longtemps indiqué que les clés API Google (ex. Maps, Firebase) n’étaient pas des secrets et pouvaient être intégrées côté client ; depuis l’activation de l’API Gemini (Generative Language API) sur un projet, ces mêmes clés peuvent désormais authentifier vers des endpoints sensibles, sans alerte ni consentement explicite, transformant des identifiants de facturation en véritables crédentielles.

Le problème central tient à l’usage d’un format de clé unique « AIza… » pour l’identification publique et l’authentification sensible, provoquant une élévation de privilèges rétroactive et des défauts de sécurité par défaut (clés « Unrestricted » valides pour tous les services activés, dont Gemini). Truffle Security qualifie cela d’« Insecure Default posture » (CWE-1188) et « Incorrect Privilege Assignment » (CWE-269), avec une absence de séparation des clés (publishes vs. secrètes).

Impact et exploitation ⚠️

  • Un attaquant peut simplement récupérer une clé « AIza… » dans le code source d’un site (ex. embed Maps) et interroger l’API Gemini pour obtenir un 200 OK au lieu d’un 403.
  • Accès possible à des données privées via les endpoints /files et /cachedContents, facturation abusive (coûts LLM élevés) et épuisement de quotas.
  • Truffle Security a identifié 2 863 clés actives exposées (Common Crawl nov. 2025), affectant des institutions majeures, des entreprises de sécurité, des groupes mondiaux de recrutement et même Google.
  • Preuve de concept: une clé publique de produit Google (présente depuis au moins fév. 2023) renvoie 200 OK sur /models, démontrant l’élévation de privilèges a posteriori.

Chronologie de divulgation (résumé) 🗓️

  • 21 nov. 2025: signalement à Google (VDP).
  • 25 nov. 2025: comportement d’abord jugé « attendu », puis requalifié en bug (2 déc.) après preuves issues des propres clés de Google.
  • 12 déc. 2025: plan de remédiation: pipeline interne de détection de fuites, restriction d’accès Gemini pour clés exposées, traitement de la cause racine.
  • 13 jan. 2026: classification « Single-Service Privilege Escalation, READ (Tier 1) ».
  • 2 fév. 2026: correctif de cause racine encore en cours.
  • Feuille de route publique Google: scopes par défaut (nouvelles clés AI Studio limitées à Gemini), blocage des clés découvertes comme fuitées, notifications proactives.

IOCs et TTPs

  • IOCs (artefacts) :
  • TTPs :
    • Scraping de clés API dans le code client (HTML/JS) et archives web
    • Appels directs aux endpoints Gemini avec clé exposée (ex. curl)
    • Abus de clés non restreintes et expansion implicite de privilèges après activation de l’API Gemini
    • Contournement possible des restrictions faibles (ex. allow-list Referer)

Il s’agit d’un rapport de vulnérabilité / publication de recherche visant à documenter une élévation de privilèges liée à la conception des clés API Google et ses effets sur la sécurité et la facturation.

🧠 TTPs et IOCs détectés

TTP

Scraping de clés API dans le code client (HTML/JS) et archives web; Appels directs aux endpoints Gemini avec clé exposée (ex. curl); Abus de clés non restreintes et expansion implicite de privilèges après activation de l’API Gemini; Contournement possible des restrictions faibles (ex. allow-list Referer)

IOC

Format de clé: ‘AIza…’; Endpoints: https://generativelanguage.googleapis.com/v1beta/files?key=…, /cachedContents, /models


🔗 Source originale : https://trufflesecurity.com/blog/google-api-keys-werent-secrets-but-then-gemini-changed-the-rules