Skip to content
RiverCore
Back to articles→TRAFFIC
Leaked Google API Keys Are Burning $128K Holes in Gemini Bills
leaked API keysGemini billingAPI key securityunauthorized Google API key chargesGoogle API key exposure risk

Leaked Google API Keys Are Burning $128K Holes in Gemini Bills

1 Jun 20267 min readSarah Chen

An $82,314 bill in 48 hours, representing a 455-times jump over baseline spending, is the cleanest data point in this story. That is not a misconfigured cron job or a runaway test harness. That is a small team in Mexico watching their cloud invoice multiply by roughly three orders of magnitude because a key they were told was safe to embed became a live credential for Gemini inference. The pattern repeats across three documented incidents and 22 applications, and the architectural root cause sits with Google, not with the developers.

The Numbers

The headline figure is $128,000 in unauthorized Gemini API usage at a single Japanese company, as TechRadar reported, and that company had firewall-level IP restrictions in place. The IP allow-list did not stop the abuse. That detail matters more than the dollar amount, because it tells us the attack surface is not a network-layer problem.

The other two incidents calibrate the range. A solo developer in the first case revoked the offending key within minutes of the first billing alert, and the meter still landed at $15,400 thanks to Google Cloud's billing reporting lag. The Mexican team hit $82,314 in 48 hours, a 455x spike against their normal run rate. Three data points, three different response postures, and all three resulted in four to six figure losses.

The exposure surface is wider than the case studies suggest. CloudSEK's research identified 32 exposed Google API keys across 22 Android applications, and those 22 apps carry a combined install base exceeding 500 million users. The list of affected apps includes OYO Hotel Booking, Google Pay for Business, Taobao, and ELSA Speak. On ELSA Speak specifically, researchers confirmed they could pull user-submitted audio files through the Gemini Files API, so the blast radius is not only billing, it is user data.

For context on the install base: 500 million installs is roughly the population of the European Union plus the United Kingdom combined. Even if only a fraction of those installs sit in regions where the keys can be successfully extracted and proxied, the addressable pool of free-AI-compute opportunities for attackers is enormous. What the source does not disclose is how many of the 32 keys are actively being abused versus simply discoverable, and that bound matters: if abuse rates are 5%, this is a contained incident; if they are 50%, we should expect a wave of Q3 billing surprises that have not yet surfaced in disclosure filings.

If this exposure pattern holds, I would predict at least two more public disclosures of five-figure or larger unauthorized Gemini bills from named companies before the end of Q3 2026.

What's Actually New

The novel element here is the silent privilege elevation. Tuhin Bose, the CloudSEK researcher who led the work, put it plainly: "This issue does not stem from developer negligence; the implementations were compliant with Google's prescribed guidelines." Bose described the architecture as having effectively converted non-sensitive identifiers into authentication tokens, creating a systemic vulnerability across numerous applications. That framing is the part worth reading twice.

Embedding API keys for Maps or Firebase in client-side Android code has been standard practice for a decade. Google's own documentation has historically treated those keys as low-sensitivity identifiers because they were scoped to specific, mostly read-only or rate-limited services. Map tiles get loaded, Firebase configs get read, life goes on. The implicit contract was: these are public identifiers with restrictions, not bearer tokens.

That contract broke when the same project-level keys started carrying live access to Gemini. Developers who shipped apps in 2022 or 2023 did not opt into AI billing exposure, and there is no evidence in the source that Google sent notification or opt-in prompts when the elevation occurred. The credentials in 22 production apps quietly became something more powerful than what their authors signed up for, and the apps continue to ship those keys through update cycles. The vulnerability can persist through app updates, which means a developer who patched the key in version 4.2 still has 4.1 installs in the wild minting Gemini calls.

Contrast this with the standard credential-leak narrative: developer commits an AWS access key to GitHub, GitGuardian flags it within minutes, AWS auto-revokes, total damage is bounded. That workflow assumes the leaked credential was always sensitive. Here, the credential was not sensitive at issue time. It became sensitive retroactively, and no detection system was watching for that transition. The source does not disclose whether Google has any internal telemetry that flags abnormal Gemini call patterns originating from keys that historically only hit Maps or Firebase endpoints, which is the obvious control to ask for.

Testable prediction: if Google ships a fix in the next 90 days, expect it to take the form of mandatory project-level segregation between legacy service keys and Gemini access, with an explicit opt-in flow. If they do not, expect class-action filings from affected developers by Q4.

What's Priced In for Performance Marketing

For teams running paid acquisition, the relevant question is what this does to mobile app traffic economics. App install campaigns through the Google Ads API rely on conversion data flowing back from SDKs that often share project space with the same API key surface CloudSEK examined. The market has already priced in SDK-level credential risk for ad measurement, that is why server-side conversion APIs and aggregated reporting have been the direction of travel since 2022. What is not priced in is the idea that the SDK keys themselves can be weaponized for cost attacks against the publisher, not just data exfiltration.

The performance marketing implication is concrete. If you operate a mobile app monetized through ads and you embed Firebase or Maps keys following Google's guidance, your unit economics now carry a tail risk that is uncorrelated with your traffic. A single attacker draining your Gemini quota can dwarf your monthly ad spend, as the Japanese case demonstrates: $128,000 is a meaningful chunk of a mid-sized app's annual user acquisition budget. CFOs modeling LTV against CAC have not been pricing this in because, until last week, the threat vector did not exist in its current form.

What is already priced in: the general fragility of client-side credentials, the need for server-side proxying of expensive API calls, and the assumption that any key shipped in an APK is enumerable. Mature teams have moved sensitive operations behind their own backends for years. What is genuinely surprising is that following Google's documented best practice is what created the exposure, which means the usual security-team answer of "read the docs more carefully" does not apply.

Contrarian View

The consensus interpretation will be that Google has to fix this and developers are blameless. I would push back on half of that. Yes, the architecture decision to elevate legacy keys without opt-in is on Google, and Bose is correct that the implementations were compliant. But the deeper lesson, which the industry keeps refusing to internalize, is that any credential shipped in a client binary is a credential you have given to the public. The vendor's classification of "sensitive" versus "non-sensitive" is a courtesy, not a guarantee, because the vendor can reclassify at any time without your involvement.

Treating client-embedded keys as bearer tokens, regardless of what the documentation calls them, is the only defensible posture. The teams that put expensive operations behind their own authenticated backends did not get hit by this, and they will not get hit by the next variant either. The contrarian read is that this incident is less about Gemini and more about a recurring failure to architect for vendor-side policy changes. Expect at least one more cloud provider to repeat this pattern within 18 months, probably with a different AI service riding on top of a previously low-risk key class.

Key Takeaways

  • Three documented incidents produced losses of $15,400, $82,314, and $128,000, with the Mexico case representing a 455x spike over baseline in 48 hours. Firewall-level IP restrictions did not prevent the Japanese loss.
  • 32 exposed keys across 22 Android apps with 500M+ combined installs, including OYO, Google Pay for Business, Taobao, and ELSA Speak, where user audio files were accessible through the Gemini Files API.
  • The root cause is architectural: keys issued for Maps or Firebase silently gained Gemini access without notification or opt-in, converting public identifiers into authentication tokens.
  • Google Cloud's billing reporting lag means even immediate revocation does not bound the loss. The solo developer revoked within minutes and still owed $15,400.
  • Unanswered question with a testable bound: the source does not disclose how many of the 32 keys are actively being abused. If the rate is above 25%, expect a wave of public five-figure-plus billing disclosures from named companies before end of Q3 2026.

Frequently Asked Questions

Q: How did publicly embedded Google API keys gain access to Gemini AI?

According to CloudSEK's research, Google's architecture effectively elevated identifiers that developers had embedded for services like Maps or Firebase into live credentials for Gemini AI, without notification or opt-in prompts. Developers who followed Google's official guidance ended up holding active authentication tokens for paid AI inference. The elevation was systemic, not the result of any single misconfiguration.

Q: Why didn't firewall-level IP restrictions stop the $128,000 unauthorized usage at the Japanese company?

The source confirms the Japanese company had IP restrictions in place yet still incurred approximately $128,000 in unauthorized Gemini calls. This suggests the abuse vector operates at a layer where network-level allow-lists are not sufficient, likely through the key itself being valid against Google's endpoints regardless of the calling network. The specific bypass mechanism is not detailed in the source.

Q: What can mobile app developers do right now to bound their exposure?

CloudSEK notes that revoking exposed keys and restricting project permissions can mitigate exposure, though the billing reporting lag means revocation alone does not cap losses, as the $15,400 solo-developer case showed. The structural fix is to treat any key shipped in an APK as public and proxy expensive operations like Gemini calls through your own authenticated backend. Audit which legacy keys may have silently gained AI access since 2024.

SC
Sarah Chen
RiverCore Analyst · Dublin, Ireland
SHARE
// RELATED ARTICLES
HomeSolutionsWorkAboutContact
News06
Dublin, Ireland · EUGMT+1
LinkedIn
🇬🇧EN▾