Un changement de clé « silencieux » de l’API Google a exposé les données de Gemini AI

Lucas Morel

Les clés d’identification de facturation ont été transformées en informations d’authentification Gemini sans en informer les développeurs.

Les clés API de Google Cloud, normalement utilisées comme simples identifiants de facturation pour des API telles que Maps ou YouTube, pourraient être récupérées sur des sites Web pour donner accès aux données privées du projet Gemini AI, ont récemment découvert des chercheurs de Truffle Security.

Selon une analyse Common Crawl des sites Web réalisée par la société en novembre, 2 863 clés API Google actives ont exposé les organisations. Cela comprenait « de grandes institutions financières, des sociétés de sécurité, des sociétés de recrutement mondiales et, notamment, Google lui-même », a déclaré Truffle Security.

La faille de sécurité alarmante a été causée par un changement silencieux dans l’état des clés API de Google Cloud Platform (GCP) dont la société a négligé d’informer les développeurs.

Depuis plus d’une décennie, la documentation destinée aux développeurs de Google décrit ces clés, identifiées par le préfixe « Aiza », comme un mécanisme utilisé pour identifier un projet à des fins de facturation. Les développeurs ont généré une clé, puis l’ont collée dans leur code HTML côté client, en vue publique.

Cependant, avec l’apparition de l’API Gemini (Generative Language API) à partir de fin 2023, il semble que ces clés aient également commencé à faire office de clés d’authentification pour les sites embarquant l’Assistant Gemini AI.

Aucun avertissement

Les développeurs peuvent créer un site avec des fonctionnalités de base telles qu’une fonction Maps intégrée dont l’utilisation a été identifiée à des fins de mesure à l’aide de la clé API publique GCP d’origine. Lorsqu’ils ont ensuite ajouté Gemini au même projet, par exemple pour mettre à disposition un chatbot ou une autre fonctionnalité interactive, la même clé a effectivement authentifié l’accès à tout ce que le propriétaire avait stocké via l’API Gemini, y compris les ensembles de données, les documents et le contexte mis en cache. Puisqu’il s’agit d’IA, extraire des données serait aussi simple que d’inviter Gemini à les révéler.

Ce même accès pourrait également être exploité pour consommer des jetons via l’API, générant potentiellement des factures importantes pour les propriétaires ou épuisant leurs quotas, a déclaré Truffle Security. Tout ce qu’un attaquant aurait à faire est de visualiser le code source d’un site et d’en extraire la clé.

« Votre clé publique Maps est désormais un identifiant Gemini. Quiconque la récupère peut accéder à vos fichiers téléchargés, au contenu mis en cache et accumuler votre facture d’IA », ont souligné les chercheurs. « Personne ne vous l’a dit. »

L’exploitation des clés API est plus qu’hypothétique. Dans un contexte différent, un étudiant qui aurait exposé une clé API GCP sur GitHub en juin dernier s’est retrouvé avec une facture de 55 444 $ (plus tard annulée par Google) après qu’elle ait été extraite et réutilisée par d’autres.

Truffle Security a déclaré avoir divulgué le problème avec les clés de Google en novembre, et la société a finalement admis qu’il s’agissait d’un véritable bug. Après avoir été informée des 2 863 clés exposées, la société leur a interdit l’accès à l’API Gemini.

Le 19 février, la fenêtre de divulgation de bugs de 90 jours s’est fermée, Google travaillant apparemment toujours sur un correctif plus complet.

« Le tri initial a été frustrant ; le rapport a été rejeté comme étant un « comportement prévu ». Mais après avoir fourni des preuves concrètes provenant de la propre infrastructure de Google, l’équipe GCP VDP a pris le problème au sérieux », a déclaré Truffle Security. « Créer un logiciel à l’échelle de Google est extrêmement difficile, et l’API Gemini a hérité d’une architecture de gestion de clés conçue pour une autre époque. »

Atténuation

La première tâche des administrateurs de site concernés consiste à vérifier dans la console GCP les clés autorisant spécifiquement l’API Generative Language. Recherchez également les clés sans restriction, désormais identifiées par une icône d’avertissement jaune. Vérifiez si l’une de ces clés est publique.

Les clés exposées doivent toutes être pivotées ou « régénérées », avec une période de grâce qui prend en compte l’effet que cela aura sur les applications en aval qui ont mis en cache l’ancienne.

Cette vulnérabilité souligne à quel point de petits oublis dans l’évolution du cloud peuvent avoir des conséquences plus larges et imprévues. Truffle Security a noté que Google indique désormais dans sa feuille de route qu’il prend des mesures pour remédier au problème des clés API : les clés API créées via AI Studio auront par défaut un accès réservé à Gemini, et la société bloquera également les clés divulguées, avertissant les clients lorsqu’ils détectent que cela s’est produit.

« Nous serions ravis de voir Google aller plus loin et auditer rétroactivement les clés concernées existantes et informer les propriétaires de projets qui pourraient être exposés sans le savoir, mais honnêtement, c’est une tâche monumentale », a admis Truffle Security.

VulnérabilitésSécuritéApisDéveloppement de logicielsAuthentificationContrôle d’accèsGestion des identités et des accès