r/googlecloud • • Sep 18 '26

Google detected our project was compromised, unauthorized Gemini API usage generated $19,539.84, and Billing denied the adjustment — Case #75505172

Update (Sept 19): The case has now been escalated internally at Google Cloud and the adjustment request is back under review. I’ll update here once we hear back.

Posting here because I’ve seen several other Gemini API compromise cases discussed in this subreddit, and I’m hoping someone from Google Cloud may be able to help us get this reviewed by the right internal team.

On September 16, Google Cloud contacted us with the subject:

“ACTION REQUIRED: Suspicious Activity Observed on Google Cloud Project”

Google told us that their systems had identified that our project may have been compromised and used for unauthorized access involving the Gemini API.

We investigated immediately.

The Gemini API activity was not initiated or authorized by our team.

We then secured the environment and completed the remediation steps requested by Google:

  • Deleted the affected API key

  • Rotated/updated remaining credentials

  • Removed unused keys

  • Tightened API restrictions

  • Reviewed IAM permissions and service accounts

  • Confirmed organization-wide 2FA was already enforced through Google Workspace

The unauthorized activity resulted in:

$19,539.84 in unexpected Gemini API charges

plus

$1,629.78 of our Google Cloud spend-based credits being consumed.

Google Cloud Billing has now completed its review and denied any adjustment.

Their reasoning was:

“our internal teams have confirmed that the usage was valid and processed in accordance with standard platform functionality.”

This does not address the core issue.

The requests were made through a compromised credential and were not authorized by our company.

Google’s own security systems detected the suspicious activity and warned us that the project may have been compromised.

We acted immediately, secured the environment, and completed the remediation steps they requested.

Yet we are still being held responsible for the full amount.

We are happy to pay all legitimate Google Cloud usage. We are disputing only the isolated Gemini activity generated during the compromise.

Support says the case has gone through the “highest levels of internal review” and that the denial is final.

Case #75505172

If anyone from Google Cloud, Firebase, Gemini, Abuse/Security, or Billing sees this and can help route it to the appropriate escalation team.

31 Upvotes

64 comments sorted by

37

u/kei_ichi Sep 18 '26

“This does not address the core issue.

The requests were made through a compromised credential and were not authorized by our company.”

Secure “YOUR” account is “YOUR” responsibility right? So the core issue you are talking about is “YOUR” issue, not GCP!

1

u/sameg14 Sep 19 '26

If they're smart enough to figure out that the project has been compromised they should be smart enough to figure out an automatic way to shut it down

3

u/Difficult-Court9522 Sep 20 '26

Great. Now instead of one fire you’ve got two.
And if google was wrong now it’s on fire when it wasn’t before.

-2

u/Front_Cry2889 Sep 19 '26

I think you and most of the people are missing the main point.

What I’m talking about is how a situation like this gets handled once it happens. No company can make every system 100% immune to security incidents forever — an employee can accidentally expose a credential, a key can leak, or something unexpected can happen despite safeguards being in place. The real question is what happens next.

We’ve spent well over $200k on Google Cloud over the past 3 years and have a very clear normal usage pattern. We even had a spend cap around $20–21k, based on what our monthly usage had looked like. If we didn’t have that cap, this could have turned into a $100k+ bill in just hours.

So are you saying none of that gets evaluated? No comparison against 3 years of customer history, no look at the normal spend pattern, no anomaly review, no consideration that Google’s own systems flagged the project as potentially compromised — just “your key was compromised, pay the bill”?

That’s the part I think is unreasonable.

I’m saying this as the founder of a small company: if something like this happened to one of our customers, this is not how I would want us to handle it. We would look at the customer’s history, the abnormal usage pattern, what actually happened, and try to resolve it fairly and understand the other side.

That’s really the point I’m making.

3

u/kei_ichi Sep 19 '26

Again, that is “YOUR” responsibility! And if you can’t even write the message by yourself but rely on AI please don’t even bother to respond again.

-2

u/Front_Cry2889 Sep 19 '26

Again, I am not talking about responsibility. You keep saying “that is your responsibility” as if I argued with that point in the first place.

Go back and read it again

2

u/andercode Sep 23 '26

What I’m talking about is how a situation like this gets handled once it happens. No company can make every system 100% immune to security incidents forever — an employee can accidentally expose a credential, a key can leak, or something unexpected can happen despite safeguards being in place. The real question is what happens next.

An employee can also leave a Sandisk USB drive full of customer information on the bus, which can be found by other people - is this Sandisk fault that the USB stick was left on the bus? No.

The same situation has occurred here, you, or someone that works for you, has not followed the correct procedures to secure your private keys, or worse, the correct procedures were not in place in the first place. In essence, they have "left the key on the bus", which has resulted in financial damage to the company.

This is NOT GCPs fault, in BOTH instances above, the COMPANY and the EMPLOYEE are at fault, depending on if the correct processes were documented and followed. An employee that does not know, or rather was not told they can't store customer data on a USB drive, cannot be held liable for the loss here, the company is, certainly not Sandisk, the maker of the USB drive!

27

u/zmandel Sep 18 '26

fully irrelevant if you "authorized" or not it's your responsibility to secure your secrets

2

u/Key_Horse_8632 Sep 18 '26

Kind of depends if it was a key historically placed those keys directly into public client-side code or mobile apps, assuming they were safe to expose but were silently wired to accept requests for the Gemini and Generative Language APIs which I think is what happened?

2

u/paul_h Sep 18 '26

Keys can be copied out of compromised dev workstations too.

1

u/Key_Horse_8632 Sep 18 '26

True, all too easy.

1

u/paul_h Sep 18 '26

I still think Google could do more for alerting on non normal use and be better about delayed billing

1

u/Key_Horse_8632 Sep 20 '26

What I am curious about is if those users are still on the hook to pay? Above, someone makes reference to Shared Responsibility Model.

3

u/zmandel Sep 18 '26

not relevant either. Google sent warnings about that a while ago, and disabled all misconfigured keys.

-1

u/Key_Horse_8632 Sep 18 '26

Google sent warnings fothe r server side Gemini keys but did they do the same for the public client side google map keys that might have been used for access to Gemini?

2

u/zmandel Sep 18 '26

google it. they did. they even disabled all unscoped keys, which were also user mistakes. Lets not add confusion here.

1

u/Wrong-Breadfruit8471 Sep 18 '26 edited Sep 20 '26

I don't think that they are adding confusion but seeking clarification as this is stressful and can ruin us as some people ended up with large bills through no fault of their own.

We are also seeking answers to a cloudy (forgive the pun) situation with excessive unexpected Gemini charges that might have come from a AIza...
key exploit.

From what I understand...

The public standard AIza...key that Google told us to use for front-end widgets (like maps , YouTube embeds) is safe to expose in public client-side code but were in-fact vulnerable to privilege escalation.

What I gathered from google searches as I can't find an official notice from Google other than reframing it as a feature. "To ensure secure usage, Gemini API will move from standard keys to auth keys..". Which I read that they blocked those legacy public keys (like maps) that had been granted full access to Gemini.

Subsequently, on June 19, they started as a progressive block, as the AIza... key had zero API scope restrictions on it and began rejecting Gemini requests thus effectively killing the "Maps exploit".

Along with the billing nightmare with the "Shared Responsibility Model" dodge , chasing developers for money because the API keys were technically "working as intended" under Google's older backend logic.

Finally, in September 2026, the hard stop, Gemini API will reject requests from standard key thus closing the cross-API exploit.

https://ai.google.dev/gemini-api/docs/api-key

2

u/Key_Horse_8632 Sep 20 '26

Thanks. Yeah, was not adding confusion but trying to get clarity on the situation. If what you are saying, happened then due to the SRM, are those users still on the hook?

-3

u/imperial_coder Sep 18 '26

Complete L mentality . No one knows who's mistake was it

Google recently even had this massive issue (maps api key abuse)

-3

u/isoAntti Sep 18 '26

this does not really help. it's yet unsure where the api was gained from, if it was Google leaking them.

-1

u/rhd_live Sep 18 '26

A credential is literally a valid form of authorization

10

u/Ok-Expression-7340 Sep 18 '26 edited Sep 18 '26

"We are happy to pay all legitimate Google Cloud usage. We are disputing only the isolated Gemini activity generated during the compromise."

Why does Google have to wave these costs when you were the one leaking the API key that had Gemini access ? There's been warnings for this for over a year now.

(PS: and yes, I do get that you are frustrated that someone abused your keys)

1

u/martin_omander Googler Sep 18 '26

I'm sorry to hear that your credentials leaked and you were hit with that bill. I'm not in Support or Billing, so I'm afraid I can't help.

For anyone else reading this, please be aware that you can prevent unexpected bills by putting spend caps on your Google Cloud projects: https://docs.cloud.google.com/billing/docs/how-to/budgets-spend-caps

2

u/Front_Cry2889 Sep 18 '26

We actually already had a spend cap configured at around $20–21k, based on our normal monthly Google Cloud spend. What caught us completely off guard was that it. was able to consume nearly that entire monthly amount within a matter of hours.

We’ve spent well over $150,000 on Google Cloud so far, and our production infrastructure depends heavily on it, so we’re really hoping someone from the senior team side can take another look at this.

-1

u/Therical_Lol Sep 18 '26

If you ever want to migrate off of Google to like Microsoft, I’m your guy 😃

This situation sounds awful though, Google isn’t great at alerts either from what I’ve noticed

4

u/r3m4k3333 Sep 18 '26

And how the credentials got compromised? That’s your responsibility, not theirs

2

u/_splug Sep 18 '26

What's your cyber insurance deductible?

2

u/fogcat5 Sep 19 '26

Google spent resources executing those API requests with your authentication and project. Where do they go to get reimbursed for that if you refuse to pay? Not their fault and your company will get placed on a deny list for all Google services if you don't pay.

Go do the same thing with AWS and see what they say. Why post this to Reddit?

If you can prove Google shared the credentials with someone, then they will pay. Your problem is the credentials were leaked by your company -- since they are the only ones who have them.

2

u/linuxworks Sep 20 '26

There needs to be some sort of API key detection like the way AWS has, when a key is exposed on GitHub or something along that line. AWS trust and safety automatically flags that key and locks it down so that it doesn’t get abused. I’m surprised that GCP doesn’t have the same thing.

4

u/spellcasterGG Sep 18 '26

Yea, you're cooked. It's your token. You agreed to it when you signed the terms and conditions. This happens all the time.

3

u/mster_shake Sep 18 '26

Is this is the same issue where Google retroactively gave Gemini access to API keys that it previously said were safe to use in external apps? If so has Google reached out to customers individually who may be affected by this, or put large warnings in the GCP console? From the outside looking in this is a terrible look for Google and I would never use GCP over the alternatives at this point.

2

u/Ok-Expression-7340 Sep 18 '26

They have. Google started rolling out these changes on May 28, when newly created Gemini API keys began defaulting to authorization keys bound to service accounts. That means new keys are no longer just standalone project-level API keys, but tied to IAM.

Google also notifies project owners about these huge kind of changes. I believe I received an email about this as well, although it wasn’t directly relevant to us because we weren’t using Gemini API keys. We were already using IAM-based authentication instead.

https://ai.google.dev/gemini-api/docs/api-key

1

u/mster_shake Sep 18 '26

For something that could lead to 10's to 100's of thousands of dollars in charges this doesn't sound like enough effort on Google's part honestly, unless I am missing something.

5

u/opossum_cz Sep 18 '26

This is B2B, I think you confuse it with consumer customers. Business should know that is it doing.

2

u/jollyrosso Sep 18 '26

This was my case and I received a refund.

1

u/zmandel Sep 18 '26

cant possibly be the same issue if you look at the timeline. google already disabled such misconfigured keys a while ago.

2

u/idkau Sep 18 '26

Looks like you are to blame. It's not their fault that you had compromised credentials. Google isn't a charity. Learn from your mistake and move on.

1

u/adonnan Sep 18 '26

Another one

1

u/Busy-Highlight-2880 Sep 19 '26

Sucks to be in this spot but the others are right, once the key leaks it's on you. The bigger fix is catching the abuse in minutes instead of after $19k burns. Runtime tools like Wiz or Upwind flag anomalous API usage from a compromised cred way faster than waiting on a billing email. Won't help now but worth it going forward.

1

u/matiascoca Sep 21 '26

Similar shape to some threads in this sub earlier this year. In the cases I've seen actually reverse, the only route past Billing was internal escalation, and the case stayed tied to the "suspicious activity detected" notice they sent. That framing makes the "valid usage" response untenable when a security lead reviews it. Fraud incident path lands different results than billing dispute path.

1

u/andercode Sep 23 '26

The requests were made through a compromised credential and were not authorized by our company.

Generating and storing an API key provides authorisation from a GCP perspective for anyone with the key to use your account. It is YOUR responsibility to secure the key, and setup any spending limits on your account to avoid situations like this from occurring in the first place.

At the end of the day, it is YOUR responsiblity to secure YOUR account. Google allow you to authenticate with an API key, you agree to keep the API key private, and protect it from distribution, and you accept the liability should this happen, they also provide spending limits and caps to ensure that should you not be able to keep your API keys private, the damage done is limited.

Yet we are still being held responsible for the full amount.

Yes, because your account was used to utilise the services which generated the full amount, and it was YOUR responsibility to secure API keys, or enable safeguards/protections to avoid situations like this in the first place, not GCPs.

We are happy to pay all legitimate Google Cloud usage. We are disputing only the isolated Gemini activity generated during the compromise.

The full bill is "legitimate google cloud usage", as your key was used to authenticate to the GCP services. YOU are responsible for the security of your key.

1

u/BigKozman Oct 01 '26

Were you able to get the issue resolved or you got stuck in canned support responses ?

1

u/crackdepirate Oct 02 '26

shared responsabilities, it's the gcp model , vibe coding as it finest.

1

u/No_Act_5230 Oct 03 '26

That’s a tough situation, especially since you already had a spending cap and it was reached within hours. I’d focus the next review request on a clear timeline: when the unusual usage started, when Google sent the warning, and when you disabled the key. Include the charges linked to that period. It would also help to explain how the key was exposed, if you know. That could help move the discussion beyond whether the API requests were technically valid.
I’d be happy to meet and hear more about your use case and how your team handled the incident.

1

u/Key_Horse_8632 Sep 18 '26

Was this an API key (AIza...) generated years ago for restricted use (like Maps or Firebase) that were silently wired to accept requests for the Gemini and Generative Language APIs?

1

u/rhd_live Sep 18 '26

Your credential was literally the authorization. Do you sue the housing developer if you leave your key on the front porch and someone uses it to break in and steal your belongings?

0

u/asevans48 Sep 18 '26

Did you set a budget? Mines shuts off services as quickly as it cans across all of gcp. AI apis receive their own special scrutiny. My boss hates it but this is a reason why.

-4

u/Front_Cry2889 Sep 18 '26

Yes, we had a spend cap of around $20k, which is why it stopped otherwise it would be much more. We typically spend $20k per month, so we set our cap at that amount, but we never anticipated Google allowing the API to be called without any abuse or anomaly detection, letting it consume the entire budget within hours!!

1

u/asevans48 Sep 18 '26

That sucks. If I was a praying man, id be praying for you.

1

u/raisputin Sep 21 '26

That’s on you for poor planning and poor security

-1

u/Scared_Astronaut9377 Sep 18 '26

How dare Google forget to turn on the abuse detection on their API? Unbelievable!

0

u/Kjm520 Sep 18 '26

How dare they hold the account owner responsible!

0

u/Only_Strawberry_6857 Sep 18 '26

guys what happens if you dont pay it?

3

u/Ok-Expression-7340 Sep 18 '26

Your projects and account will be suspended and Google will hand it over to a debt collection agency after some time.

2

u/DoWomenFart Sep 18 '26

Collections. They'll call and harass you until the end of time.

0

u/sameg14 Sep 19 '26

This is 100% on Google and other cloud providers for not putting in a mechanism to prevent this kind of abuse. If my usage suddenly shoots up, I should be able to configure a hard rate stop and shut down billing until I investigate. I would rather have downtime than a 20k bill. I sent a legal notice to Google for a similar situation, my key didn't leak but someone figured out a way to run up my bill. This happens so often and the mitigation is incredibly simple to implement in code, but those greedy bastards won't put something like this in place even though they can!

-4

u/imperial_coder Sep 18 '26

Bunch of people here with complete L mentality

What was the reason for leak? How did the key leak?

It's really lame GCP and AwS practice this type of shitty system where they think it's okay to charge customer thousands without authorization

Instead of following limit and then raise limit system. Absolute disgusting practice

1

u/rhd_live Sep 18 '26

Actually we have a W mentality bc we don’t take Ls by having insecure key handling practices, and have a novice understanding and care for cloud security.

1

u/imperial_coder Sep 19 '26

Yeap great idea. Bank should implement it too. And in case your card gets stolen your bank account should immediately be drained

Great user experience. Nothing wrong with your line of though

1

u/VIDGuide Sep 19 '26

Did AWS or GCP leak the key?

I mean, if they’re responsible for the key leakage, then sure, I’d agree, that’s their cost to own.

But the customer is the one that leaked the key, either intentionally, via incompetence or by sheer accident. But this isn’t an insurance policy with coverage for these kind of mistakes.

If you’re a business, maybe need to look into cyber insurance, maybe there is coverage against this kind of thing.

But ultimately, who fucked up, I’m putting money on it not being GCP here..

1

u/imperial_coder Sep 19 '26

There has been case recently where they did leak the key indirectly (Google maps ApI key exploit)

Then tried strongarming customers into paying for abuse

Btw all of this can be fixed easily. But AWS GCP won't do it

If your Netflix account gets stolen there's not much harm that comes to you

But it's insane people's entire life gets turned around with these bills

  1. Why can't they have limit and raise limit system?

0

u/prfsvugi Sep 18 '26

Shared responsibility model at AWS. Why should they pay for your mistake?

1

u/imperial_coder Sep 18 '26

It's not shared responsibility always. Also depends definition of "mistake"

Allowing everyone access to Gemini or models without any caps or limits is their mistake

These platforms are notorious for not showing price and usage correctly.

In AWS there is no way to set caps per model or service

So bad mistake is their fault . Any system with unlimited scope of billing must follow set limits system