Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Zahlt Ihr Google API Key gerade die KI von jemand anderem?

By John D'EliaMay 11, 20265 min read

Diese Seite ist auch in English, Español, Français, Italiano, 日本語 und Português verfügbar.

TL;DR

  • Inhalte über die Gemini API mit falsch konfigurierten API Keys zu generieren, liegt gerade voll im Trend. Lesen Sie weiter, bevor es Sie trifft.
  • Wir veröffentlichen ein kostenloses Open-Source-Scan-Tool, mit dem Sie problematische API Keys aufspüren: https://github.com/doitintl/gcp-apikey-check

Was gerade passiert

Bei DoiT bekommen wir in Sachen Cloud einiges zu sehen. In letzter Zeit häufen sich Berichte aus der Community über böse Abrechnungsüberraschungen mit Gemini. Die Betroffenen nutzen Gemini in ihren Anwendungen vielleicht selbst – vielleicht aber auch nicht – und wachen morgens mit einer horrenden Rechnung für generierte Inhalte auf, oft Bilder oder Videos, deren Kosten schneller in die Höhe schießen, als Billing-Alerts überhaupt bei Ihnen ankommen können. Wenn Sie irgendwo Google API Keys einsetzen, lesen Sie weiter – Ihre Keys könnten gefährdet sein.


Wie es dazu kommt

Wie alle Cloud-Anbieter setzt auch Google Cloud auf ein Modell der geteilten Verantwortung: Google verantwortet die zugrunde liegende Infrastruktur, die Nutzer die sichere Verwendung dieser Infrastruktur. Google verwendet ein einziges API-Key-Format (AIza...) für zwei sehr unterschiedliche Zwecke: öffentliche Projekt-Identifier und sensible Authentifizierungs-Credentials.

Probleme mit Google Maps- und Firebase-API-Keys gibt es schon länger. Beim Erzeugen von API Keys waren standardmäßig keinerlei Einschränkungen gesetzt – es lag in der Verantwortung der Entwickler, APIs einzugrenzen und Keys auf bestimmte Websites, IP-Adressen oder SDKs zu beschränken. Das ist nicht immer passiert. Maps- und Firebase-API-Keys liegen ohnehin meist im Frontend-Code, sind also nicht besonders privat und dienen eher als Billing-Identifier.

Kritisch wurde es, sobald in einem Projekt mit einem unbeschränkten Maps- oder Firebase-Key zusätzlich die Gemini API aktiviert wurde. Als Angreifer solche Keys entdeckten, lernten sie schnell, sie auszunutzen.

Wird die Gemini API in einem Google Cloud-Projekt aktiviert, kann jeder bestehende API Key, der nicht auf bestimmte APIs eingeschränkt ist, klammheimlich Zugriff auf die Gemini-Endpunkte erhalten. Keine Warnung. Keine E-Mail. Keine Bestätigung. Ein Maps-Key, den Sie vor Jahren in Ihre Website eingebettet haben, ist plötzlich ein aktives Gemini-Credential, das im Quelltext für jeden sichtbar ist.

Ein weiterer Leak-Vektor: API Keys oder statische Service-Account-Keys, die versehentlich in öffentliche GitHub-Repos committet werden. Früher wurden solche Keys von Angreifern blitzschnell aufgegriffen und für Crypto-Mining missbraucht; mittlerweile erkennt Google diese Art von Missbrauch deutlich besser.


Was Angreifer damit anstellen

Der Angriff ist trivial. Ein Angreifer schaut in den Quelltext Ihrer Seite, kopiert den AIza...-Key und ruft die Gemini-Bildgenerierungs-API auf. Das war's. Kein Zugriff auf Ihre Infrastruktur, keine Credentials zum Stehlen, kein ausgeklügelter Exploit. Nur Ihr Key und ein HTTP-Request – vielfach wiederholt in kurzer Folge, alles auf Ihre Rechnung.


Sind Sie betroffen?

Können Sie diese Fragen beantworten?

  1. Sind die Generative Language API oder die Gemini Agent Platform APIs (ehemals Vertex AI) in einem Ihrer GCP-Projekte aktiviert?
  2. Gibt es API Keys ganz ohne API-Beschränkung oder ohne Application Restriction?
  3. Liegen Maps- oder Firebase-Keys auf demselben Key wie AI-APIs?
  4. Haben Sie Service-Account-Keys, die alt, ungenutzt oder mit Owner- oder Editor-Rollen ausgestattet sind?

Wer mehr als eine Handvoll Projekte betreibt, kann das organisationsweit nicht realistisch von Hand prüfen.


Scannen Sie Ihre Organisation in wenigen Minuten

Bei DoiT arbeiten wir täglich mit Google Cloud-Kunden. gcp-apikey-check haben wir entwickelt, damit auch die breitere Community dieselbe Transparenz bekommt wie unsere Kunden – kostenlos und Open Source.

Terminal window
git clone https://github.com/doitintl/gcp-apikey-check
cd gcp-apikey-check
uv sync
# Scan an entire organization
uv run gcpkeyscan.py --org-id YOUR_ORG_ID
# Or scan a single project
uv run gcpkeyscan.py --project-id YOUR_PROJECT_ID

Das Tool prüft API Keys auf genau die Fehlkonfigurationen, die solche Kostenexplosionen auslösen: unbeschränkte Keys, Maps- und AI-APIs auf demselben Key, Firebase-Keys ohne Application Restrictions und zu weit gefasste Wildcard-Referrer-Regeln. Es deckt zudem Service-Account-Keys auf, die alt, ungenutzt oder mit zu weitreichenden Berechtigungen ausgestattet sind, und prüft, ob Ihre Organisationsrichtlinien das Erstellen von SA-Keys überhaupt erlauben. Funde werden nach Schweregrad gekennzeichnet (CRITICAL / HIGH / MED) und als JSON und CSV ausgegeben, damit Sie sofort handeln können.


Beheben – und hinterfragen, ob Sie überhaupt Keys brauchen

Das Wichtigste vorweg: Der beste API Key ist gar kein API Key.

Googles eigene Best Practices sind eindeutig: API Keys und Service-Account-Keys, wo immer möglich, vermeiden. API Keys haben keine Identität, standardmäßig kein Ablaufdatum und keinen feingranularen Audit-Trail. Für Backend-Services und GCP-Workloads gibt es fast immer eine bessere Option:

  • Setzen Sie Workload Identity Federation statt Service-Account-Keys für die Server-zu-Server-Authentifizierung ein
  • Verwenden Sie Application Default Credentials mit IAM-Rollen für Workloads, die auf GCP laufen
  • Rufen Sie Gemini serverseitig mit sauberer IAM-Konfiguration auf – legen Sie niemals einen Key im Client-Code offen

Wenn API Keys unverzichtbar sind – etwa für Maps-Einbettungen, Firebase-Client-SDKs oder andere legitime Client-Use-Cases –, dann schränken Sie sie konsequent ein:

  • Beschränken Sie jeden Key auf die APIs, die er tatsächlich benötigt
  • Setzen Sie Application Restrictions: HTTP-Referrer für Web, Bundle ID für Mobile, IP-Range für Server
  • Legen Sie Maps- oder Firebase-Keys niemals auf denselben Key wie Gemini oder eine andere AI-API
  • Deaktivieren Sie APIs, die Sie nicht aktiv nutzen
  • Richten Sie Billing-Alerts ein, damit ein Ausschlag nicht tagelang unbemerkt bleibt

Für Service-Account-Keys, die Sie noch nicht abschaffen können: alles, was älter als 90 Tage ist, rotieren, Owner- und Editor-Rollen entfernen und Keys löschen, die zuletzt nicht genutzt wurden.

Immerhin: Google hat die Standardeinstellungen für neue API Keys verschärft – einen komplett unbeschränkten Key können Sie nicht mehr anlegen. Google AI Studio erstellt neue API Keys zudem standardmäßig auf die Gemini API beschränkt. Das löst nicht alle Probleme, aber vernünftigere Defaults helfen.


Warten Sie nicht auf die Rechnung

Google arbeitet an strengeren Defaults. Wie schnell das geht und ob die Änderungen auch Keys schützen, die bereits in Ihren Projekten im Einsatz sind, bleibt offen. Die Entwickler, die online von überraschenden Kosten berichten, wussten nichts von ihrer Exposition – bis es zu spät war.

Starten Sie den Scan noch heute. Verschaffen Sie sich einen Überblick. Beseitigen Sie zuerst die schlimmsten Schwachstellen und arbeiten Sie dann darauf hin, Keys dort, wo es geht, ganz abzuschaffen.

https://github.com/doitintl/gcp-apikey-check