“睡前设 10 美元预算预警,结果一觉醒来收到 Google Cloud 的天价欠费账单。”
近日,开发者 venturaxi 陷入了一场令人崩溃的 Google Cloud 天价账单风波,根源直指 Gemini API 密钥被恶意滥用。
不过与过往诸多遭遇类似困境却求偿无门的开发者不同,这一次,venturaxi 在多轮沟通与拉锯之后,最终获得了全额赔偿。但这场损失高达 25672.86 美元(约 17.5 万元)的经历,让他痛定思痛,也让他决定把整个过程公开出来。
在 Reddit、LinkedIn 等平台,他不仅复盘了事情经过,还系统梳理了平台默认设置中的隐患,并整理出一套可执行的防护清单。一方面是给开发者避坑,另一方面,也是对 Google 当前计费与安全机制的一次直接质疑。
venturaxi 并非新手开发者。
他提到,自己已经在 Google AI Studio 中构建了超过 120 个应用程序,平日里对 Google 平台的技术更新也保持着高度关注:他会在 Google 新的更新日志发布时仔细研读,也会熬夜观看相关直播。
此外,他在项目开发时,会为每个项目设置独立的 API 密钥和计费账户。同时,在可用的地方都开启双重验证(2FA),还启用了云审计日志。
从他自己的标准来看,这些已经算是“该做的都做了”。
让他万万没有想到,自己的谨慎依然没能躲过一劫——一周前的一个夜晚,有人利用他几个月前从 AI Studio 发布的 Cloud Run 服务,攻击了其公开 URL。
更关键的是,服务容器中以明文环境变量形式存储的 API Key,被直接拿来调用 Gemini 接口——等于由 Google 自己的系统代为签署了攻击请求。值得一提的是,这个公开 URL 从未在任何地方分享或被索引,却依然被攻击者精准找到。
据 venturaxi 描述,那天半夜,攻击者“攻破”了他的 Google Cloud API 密钥,并以每分钟约 1000 次的频率,疯狂调用他的 Gemini Pro Image 及其他相关 API,一夜之间发起了多达 60000 次图像生成请求。
直到第二天早上 9:30,原本设置了 10 美元预算提醒的 venturaxi 才收到谷歌的邮件提醒——“已达到您 10 美元预算的 150%”。而此时控制台显示的消费,已经达到 3010 美元,并且还在持续上涨。
意识到情况不对的 venturaxi,立即联系谷歌客服。而此时,攻击者的攻击仍在持续。
如果说 10 美元预算提醒形同虚设,那么与客服沟通的过程则彻底放大了损失。venturaxi 表示:“我带着 3000 美元的债务加入与谷歌客服的沟通,在被指示删除日志后背负了 26000 美元的债务离开。”
他完整地记录了与谷歌客服整整 53 分钟的对话过程,从时间线来看:
第 0 分钟,他明确告知客服自己收到 10 美元的预算提醒,但实际账单已经高达 3000 美元;
第 3 分钟,客服回应:“请别担心,我会检查您的账户……需要 9 到 10 分钟。”
第 20 分钟,客服解释,谷歌的账单存在 32 小时的延迟;
第 25 分钟,venturaxi 要求与客服通电话沟通时,被客服告知“我们的聊天支持没有电话选项”;
第 30 分钟,venturaxi 明确跟客服说,“被黑了(hacked)”三个字,才收到客服发来的禁用计费的链接;
第 35 分钟,venturaxi 尝试关闭计费账户时,却被谷歌拒绝,直到余额付清;
第 36 分钟,venturaxi 询问如何升级投诉,客服却反问他“您能在账户里看到您被黑了吗?”
第 40 分钟,客服让 venturaxi 用日志浏览器(Logs Explorer)查找黑客痕迹,但此前他已经按照客服指示禁用了计费账号,导致所有日志被删除,根本无法操作;
第 42 分钟,venturaxi 反复重申自己被黑,而此时账单已经涨到 17000 美元,客服却告诉他,预算提醒本来就不会停止服务;
第 47 分钟,venturaxi 发送了实时攻击的截图后,客服回复“因为您使用了服务,这显示了服务的使用情况。”
第 49 分钟:venturaxi 质问客服,是否真的认为,有人会在明知运行大量图像生成任务的同时,还去联系客服询问账户问题。
第 52 分钟:客服称,“在这种情况下,正如您所述,您的账户已被黑,我会将你的案件转交处理。”
第 53 分钟:账单的金额已经高达 21,000 美元。
在几乎绝望的情况下,venturaxi 又去 X 上发了一条帖子。其表示,尽管只有 4 个粉丝,却在 15 分钟内收到了 Google 的私信。
这件事本身,就已经足够讽刺。
事情并没有就此结束。
几天后,一位 Google 社交媒体经理通过私信联系 venturaxi,,要求提供近三个月的交易截图、一份账单报告,以及最初客服记录的一个支付被拒的错误代码。
接着又问:“你能提供一张账户被封的通知截图吗?”
venturaxi 回答:“我没有被封号。”
这位经理又问,“你有没有收到任何关于疑似滥用的邮件?”
venturaxi 称,“哈,我倒是希望有。”
紧接着,venturaxi 如实向对方提供了事情发生的完整时间线,结果却在五分钟后收到了谷歌的违规通知,称他的项目因涉嫌资源劫持类滥用活动已被暂停,要求他提交申诉并解释触发原因。
当他试图查看日志准备申诉时,却发现所有日志都已被抹除,没有任何证据可以证明自己的清白,而这一切,都是因为他按照谷歌客服的指示禁用了项目、关闭了计费。
后续沟通中,谷歌方面又发来消息,询问他是否使用商业级账户,并要求他提供组织名称以核实支持权限,这让 venturaxi 失去耐心,其直接回怼道:“在你们暂停了我的账户后,我的信任已经没了。我不想让你们费心去研究把我分到哪个类别或者给我升级。我想要的是你们给我一些答案,并修复这个我无端陷入的烂摊子。”
这条消息发出后,LinkedIn 上的沟通便再无回应。
好在后续,处理此时的谷歌经理确认了事件确实是核实后的滥用活动,并表示正在处理全额费用调整,事情终于有了转机。
在后续复盘时,venturaxi 直言:“这不是一个‘你应该开启 2FA’的故事。我设置的一切都是正确的。失败的是谷歌默认设置。一共有九处。”
他一共总结出了 9 个关键问题。这些设置要么是默认关闭的,要么是默认放到最宽,而且几乎没有主动提示机制:
API 密钥限制:关闭。默认是不受限制的。任何 IP、任何来源、任何服务。你必须手动为每个密钥开启限制。
每月支出上限:空白。默认没有上限。2026 年 3 月之前不存在此功能,所以该日期之前创建的任何密钥仍然没有任何设置,除非你之后动过它。
Gemini API 日志:关闭。日志记录在 AI Studio 中是一个单独的开关,但默认不开启。还需要一个活动的计费账户,所以如果你在事件中禁用了计费,你会立即失去日志访问权限。
计费层级升级:自动且静默。消费达到 $1,000,你就进入了第 3 层级,拥有 $20,000 到 $100,000 的计费上限和最大化的速率限制。没有通知,不需要批准。攻击者的消费触发了我的升级。
后付费计费:默认设置。后付费意味着在账单生成之前,你向计费账户提供了无限的信用敞口。预付费在 2026 年 3 月才成为一个选项。
AI Studio 发布应用的 Cloud Run 身份验证:禁用。“发布”按钮部署你的应用时,调用者 IAM 是禁用的,你的 API 密钥作为明文环境变量存储。默认公开。
“你的 AI 支出”诊断:未激活。谷歌拥有的最好的单屏归因工具是一个预览功能,你必须手动激活。没有人会把它推给你。
预算异常检测:不智能。你自己定义阈值。它不会代表你自动检测异常消费模式。
Gemini 错误响应:包含你的 API 密钥。 当请求失败或账户被暂停时,Gemini 的默认错误消息会返回 API 密钥值。如果你的应用暴露原始错误,你正在通过自己的日志泄露密钥。
venturaxi 表示,这些设置,对于现在正在使用 AI Studio、Vertex、Gemini 的开发者来说,大多数依然处于失败状态。
他感慨,这是他希望在一切发生之前就能运行一遍的清单,而所有操作路径,他都在本周通过实时账户进行了验证,确保每一步都真实可行。
在这场天价账单风波中,venturaxi 所使用的澳新银行没帮上忙,也让他十分费解。
当晚,谷歌对 venturaxi 的银行卡发起了密集的扣费请求,结果有的扣费成功,有的扣费失败,整体时间线如下:
晚上 10:00:批准 100 美元
晚上 10:35:批准 200 美元
晚上 10:51:批准 500 美元
晚上 11:02:批准 1,000 美元
晚上 11:33:拒绝 2,000 美元
凌晨 12:24:拒绝 4,000 美元
凌晨 1:26:拒绝 6,000 美元
凌晨 2:32:批准 8,000(拦截了三笔较小的,然后放行了最大的一笔)
最后这笔 8000 美元的付款,直接清空了 venturaxi 账户里的全部余额,导致随后又有一笔 10000 美元的扣费因资金不足被拒绝。
经过持续的沟通,截至目前,venturaxi 已经确认,25672.86 美元的费用已被全部免除,而此前 Google 分 5 次逐步尝试扣除的 9800 美元,也已经退回到账。
不过,venturaxi 仍然不得不注销了自己的信用卡,期间也因为这次事件导致多笔账单被直接扣款失败。
他表示,真正关键的问题,依然没有得到任何解释,比如:
Google 的账单默认阈值可以一路升到 10,000 美元,而自己从未手动设置过这个上限。
预算提醒不会停止扣费,只会发一封邮件。如果“使用量暴涨 411,000%”都不算异常提醒,那什么才算?
API Key 滥用没有任何自动风控机制。从一个从未接近过该使用量的账户,突然出现每分钟 1,000 次请求,系统没有任何标记,也没有暂停服务。
在他仍在被持续扣费的同时,客服机器人却基于过时数据给出“自信判断”。当我提供真实数据后,它只是建议问题可能出在别的地方。
ANZ 银行在同一笔商户、同一会话中先后拦截了 2000、4000、6000 美元的交易,但最后却放行了 8000 美元。这到底是什么风控逻辑?反复尝试就放行最大一笔吗?
在调查期间不会自动冻结账户。等到自己终于被告知如何停止扣费时,他再问“能不能追踪来源”,却已经无法做到——因为按照他们的指示操作后,相关能力已经被关闭。
对于以上问题,venturaxi 并没有答案。
但是基于这次经历,他总结了一套至少对自己而言行之有效的应急方法,也借此分享给更多有同样遭遇的开发者:
首先,立即撤销 API 密钥,将每月支出上限设为 0,最后再禁用计费——切记,在提取 IAM 和日志浏览器的相关证据之前,绝对不要禁用计费,否则会立即失去取证权限;
其次,第一时间给银行打电话,要求立即对银行卡进行欺诈冻结,并撤销所有待处理的授权,不要依赖银行应用的推送通知,它们可能会静默失败,要手动检查账户动态;
然后,在社交平台公开发帖,哪怕粉丝很少,也可能比官方支持渠道更快获得升级处理;
最后,务必记下每一位客服的名字、每个案例 ID 和每一个时间戳,这些信息在后续的申诉、求偿过程中至关重要。
至此,venturaxi 的经历,给所有使用谷歌相关开发平台的开发者敲响了警钟。venturaxi 表示,他之所以公开自己的经历,就是希望能有更多开发者看到这些教训,避免再有人像他一样,因为谷歌的默认设置漏洞和自身的疏忽,遭受如此巨大的损失。他甚至半开玩笑地说:“Thomas Kurian(谷歌云 CEO)雇我吧,我会无偿帮你设置一些真正的规则。”
参考:
https://www.linkedin.com/posts/jessevent_cloudsecurity-aibuilders-googlecloud-activity-7451145461870092288-cpmO/?utm_source=share&utm_medium=member_desktop&rcm=ACoAABZKOB4BTWEDk8nsZfr2_xjCLwPYUTsDCFg#
https://www.linkedin.com/posts/jessevent_googlecloud-aistudio-gemini-activity-7451606392756547584-QdVd/?utm_source=share&utm_medium=member_desktop&rcm=ACoAABZKOB4BTWEDk8nsZfr2_xjCLwPYUTsDCFg
https://old.reddit.com/r/googlecloud/comments/1ssagtw/went_to_bed_with_a_10_budget_alert_woke_up_to/
本文来自微信公众号“CSDN”,整理:屠敏 ,36氪经授权发布。
发布时间:2026-04-27 18:10