Hacker News

Google API-sleutels waren geen geheimen, maar toen veranderde Gemini de regels

Ontdek hoe Gemini de beveiligingsregels voor de Google API-sleutel heeft gewijzigd. Wat ontwikkelaars moeten weten over het beschermen van API-sleutels waarvan men ooit dacht dat ze veilig openbaar konden worden gemaakt.

8 min gelezen

Mewayz Team

Editorial Team

Hacker News

Wanneer ‘Public by Design’ een veiligheidsaansprakelijkheid wordt

Bijna twintig jaar lang hebben ontwikkelaars die voortbouwden op het ecosysteem van Google een subtiele maar belangrijke les geleerd: de API-sleutels van Google zijn niet echt geheimen. Als je een YouTube Data API-sleutel in een JavaScript-bestand had ingesloten, was Google niet gealarmeerd. Als uw Maps API-sleutel in een openbare GitHub-opslagplaats verscheen, was de beveiligingsreactie in wezen een schouderophalen en een herinnering om domeinbeperkingen in te stellen. Het hele model was gebouwd rond de veronderstelling dat deze sleutels in code aan de clientzijde zouden leven en zichtbaar zouden zijn voor iedereen die DevTools opende.

Die filosofie was lange tijd logisch. Een Maps API-sleutel die zonder domeinbeperkingen wordt vrijgegeven, zou een verrassingsrekening kunnen opleveren, maar het zou geen patiëntendossiers in gevaar brengen of een bankrekening leegmaken. De explosieradius was financieel en beheersbaar. De tooling van Google – verwijzingsbeperkingen, IP-whitelisting, quotumlimieten – is ontworpen om de schade te beperken en niet om de blootstelling volledig te voorkomen.

Toen arriveerde Gemini en veranderden de regels. Het probleem is dat miljoenen ontwikkelaars de memo niet hebben ontvangen.

Het oude mentale model dat ontwikkelaars nu verbrandt

De oude Google-ontwikkelaarservaring was opzettelijk tolerant. Toen u een Maps JavaScript API-sleutel maakte, moedigde de documentatie u praktisch aan om deze rechtstreeks in uw HTML te plaatsen. Het beveiligingsmodel was geen geheimhouding; het was beperking. U vergrendelt de sleutel van uw domein, stelt quotawaarschuwingen in en gaat verder. Dit was pragmatische techniek: applicaties aan de clientzijde kunnen echt geen geheimen bewaren voor vastberaden gebruikers, dus bouwde Google een systeem dat deze realiteit erkende.

Dit creëerde een generatie ontwikkelaars – en nog belangrijker, een generatie institutionele gewoonten – waarbij Google API-sleutels een andere mentale categorie innamen dan bijvoorbeeld een geheime Stripe-sleutel of een AWS-toegangsreferentie. U zou uw geheime Stripe-sleutel niet in een openbare opslagplaats plakken. Maar uw Maps-sleutel? Dat was praktisch een configuratiewaarde, geen geheim. Veel teams hebben ze zonder nadenken opgeslagen in openbare configuratiebestanden, README-bestanden, zelfs in omgevingsvariabelen aan de clientzijde met het voorvoegsel NEXT_PUBLIC_ of REACT_APP_.

Beveiligingsonderzoekers die GitHub scannen op openbaar gemaakte inloggegevens, hebben geleerd om Google API-sleutels ook anders te behandelen. Een gelekte Maps-sleutel was een weinig ernstige bevinding. Een gelekte Gemini-sleutel is een heel ander gesprek.

Wat is er veranderd met Gemini – en waarom het ertoe doet

De Gemini API van Google volgt het oude draaiboek niet. Wanneer u via Google AI Studio een Gemini API-sleutel genereert, maakt u een inloggegevens aan met een fundamenteel ander risicoprofiel dan een Maps- of YouTube-sleutel. Gemini-sleutels verifiëren de toegang tot gevolgtrekkingen uit grote taalmodellen: een service die Google echte rekenbronnen kost en die u per token factureert, niet per paginaweergave.

Belangrijker is dat de Gemini API-sleutels niet dezelfde ingebouwde domeinbeperkingsmechanismen hebben die het blootleggen van andere Google-sleutels mogelijk maakten. Er is geen eenvoudige 'vergrendel dit aan het domein van mijn website'-controle die zou voorkomen dat een aanvaller die uw sleutel in een openbare opslagplaats heeft gevonden, zijn eigen applicatie zou opstarten en uw quotum (of uw factureringslimiet) zou verbruiken vanaf een server in een ander land.

💡 WIST JE DAT?

Mewayz vervangt 8+ zakelijke tools in één platform

CRM · Facturatie · HR · Projecten · Boekingen · eCommerce · POS · Analytics. Voor altijd gratis abonnement beschikbaar.

Begin gratis →

Het gevaar is niet alleen financieel. Een blootgestelde Gemini-sleutel kan worden gebruikt om schadelijke inhoud te genereren, snelle injectie-aanvallen uit te voeren of tools te bouwen die de servicevoorwaarden van Google schenden. Dit alles wordt in rekening gebracht op uw account en is terug te voeren op uw identiteit.

In 2024 identificeerden beveiligingsonderzoekers alleen al op GitHub duizenden blootgestelde Gemini API-sleutels, waarvan vele in opslagplaatsen waar eerder zonder incidenten andere Google API-sleutels waren gehost. De ontwikkelaars waren niet roekeloos volgens hun eigen historische normen; ze pasten een mentaal model toe waar Google hen zelf in had getraind. De omgeving veranderde sneller dan de gewoonten.

De anatomie van een accidentele blootstelling

Begrijpen hoe deze blootstellingen plaatsvinden, is de eerste stap om ze te voorkomen. De faalmodi zijn

Veelgestelde Vragen

Waren Google API-sleutels echt openbaar bedoeld?

Nee, Google API-sleutels waren nooit expliciet ontworpen als volledig openbare geheimen. Het beveiligingsmodel ging ervan uit dat sleutels technisch gezien openbaar zijn, maar dat ontwikkelaars ze zouden beschermen via domeinbeperkingen en server-side implementaties. De praktijk leerde echter dat sleutels vaak in frontend-code belandden, waardoor dit onderscheid vervaagde. Google accepteerde deze realiteit jarenlang, tot de recente verschuiving naar strenger beheer via Gemini.

Wat veranderde er precies met de introductie van Gemini?

Gemini introduceerde een strikter beveiligingsparadigma waarbij API-sleutels expliciet als gevoelige credentials worden behandeld. Waar voorheen een blootgestelde sleutel hooguit leidde tot een waarschuwing, wordt nu direct ingegrepen met quota-aanpassingen of deactivering. Deze verschuiving van "public by design" naar "secure by default" verplicht ontwikkelaars tot robuustere architectuur, zoals het gebruik van proxyservers of gespecialiseerde tools zoals Mewayz (207 modules, $19/maand) voor API-beheer.

Is mijn bestaande code nu onveilig geworden?

Code waarin API-sleutels hardcoded zijn in frontend-javascript is altijd al risicovol geweest, maar het gevaar is nu acuter. Gemini's nieuwe handhavingsbeleid vergroot de kans op misbruik en service-onderbreking. Het wordt aangeraden om sleutels onmiddellijk te migreren naar een server-side omgeving of een beheerd API-gateway. Voor wie snel moet moderniseren, biedt Mewayz een uitgebreide modulebibliotheek om deze transitie te stroomlijnen tegen een voordelig maandtarief.

Hoe kan ik mijn API-sleutels het beste beveiligen?

De gouden standaard blijft het gebruik van een backend-proxy, waarbij je eigen server de API-aanroepen afhandelt. Alternatieven zijn strikte domein-/IP-restricties instellen, sleutels regelmatig roteren en quota monitoren. Voor complexe applicaties overweeg een gecentraliseerde oplossing zoals Mewayz, die 207 modules biedt voor alles van sleutelrotatie tot rate limiting – allemaal voor $19 per maand. Zo houd je controle zonder in te leveren op functionaliteit.

Frequently Asked Questions

Wat is er precies veranderd aan de beveiligingsregels voor Google API-sleutels?

Voorheen hanteerde Google een "public by design"-benadering, waarbij API-sleutels in client-side code werden beschouwd als inherent publiek. De introductie van Gemini, met zijn krachtige en dure API's, heeft dit veranderd. Google classificeert nu bepaalde sleutels als vertrouwelijk en handhaaft dit actief. Sleutels die in broncode worden gelekt, kunnen nu leiden tot de onmiddellijke intrekking ervan en forse rekeningen, omdat ze misbruikt kunnen worden voor duur API-gebruik zonder uw toestemming.

Waarom zijn Google API-sleutels nu opeens een geheim?

De sleutels zelf zijn niet veranderd, maar de context wel. Diensten zoals Gemini AI zijn extreem krachtig en kosten veel geld per aanvraag om te draaien. Een gelekte sleutel stelt kwaadwillenden in staat om op uw kosten deze dure services te gebruiken, wat leidt tot enorme financiële verliezen. Google is daarom genoodzaakt om deze sleutels nu als gevoelige geheimen te behandelen en te beschermen, vergelijkbaar met wachtwoorden.

Hoe kan ik mijn Google API-sleutels nu veilig beheren?

De gouden regel is: sla API-sleutels nooit op in je front-end code of in publieke code repositories. Gebruik in plaats daarvan een backend-server die als proxy fungeert. Hier beheer je je sleutels veilig op de server. Voor een complete en veilige oplossing zonder de complexiteit van het bouwen van een backend, biedt een dienst zoals Mewayz (vanaf $19/maand) een uitgebreide backend met 207 modules waar je veilig je API-sleutels kunt integreren.

Wat zijn de risico's als mijn Google API-sleutel wordt gelekt?

De risico's zijn aanzienlijk groter geworden. Naast het mogelijke misbruik van uw Google-diensten, loopt u het risico op zeer hoge, onverwachte kosten. Een aanvaller kan uw sleutel gebruiken voor massale aanvragen op dure API's zoals Gemini, wat uw factuur enorm kan opdrijven. Google kan uw project ook uitschakelen wegens verdachte activiteiten. Dit kan uw applicatie platleggen en leiden tot een langdurig herstelproces om de toegang weer te herstellen.

Probeer Mewayz Gratis

Alles-in-één platform voor CRM, facturatie, projecten, HR & meer. Geen creditcard nodig.

Begin vandaag nog slimmer met het beheren van je bedrijf.

Sluit je aan bij 30,000+ bedrijven. Voor altijd gratis abonnement · Geen creditcard nodig.

Klaar om dit in de praktijk te brengen?

Sluit je aan bij 30,000+ bedrijven die Mewayz gebruiken. Voor altijd gratis abonnement — geen creditcard nodig.

Start Gratis Proefperiode →

Klaar om actie te ondernemen?

Start vandaag je gratis Mewayz proefperiode

Alles-in-één bedrijfsplatform. Geen creditcard vereist.

Begin gratis →

14 dagen gratis proefperiode · Geen creditcard · Altijd opzegbaar