48小时狂烧59万:一个密钥让小团队差点破产
墨西哥城,三个程序员挤在一间出租屋里,盯着屏幕上的账单,一句话都说不出来。他们只是不小心把Google Gemini的API密钥贴到了GitHub上——一个再普通不过的错误,可能谁都会犯。但他们没想到,48小时内,这笔误操作带来了8.2万美元(约59万人民币)的账单。
他们平时每月用Gemini,也就花180美元左右,用来做点内部工具测试,跑几个简单的文本生成任务。可就在密钥泄露的第二天,他们的账户被机器人疯狂调用,每秒发起上百次请求,生成了数百万条文本,全是垃圾内容——有人用他们的密钥在刷AI客服、写广告文案、甚至训练自己的小模型。系统没停,平台没拦,钱像流水一样往外淌。
Google:这不是我们的错
团队慌了,立刻联系Google Cloud客服,恳求减免。得到的回复冷得像冰:根据“共享责任模型”,密钥是你自己的,你没保护好,我们不负责。
这不是第一次发生这种事。去年,一位美国开发者因误把密钥上传到公开仓库,72小时被刷出12万美元账单,Google同样拒绝减免。今年初,欧洲一家初创公司也因类似原因被扣款7.4万美元,最终靠媒体曝光才勉强获得部分豁免。
但这一次,他们没那么多资源去闹舆论。三人团队,靠接外包活维生,这笔钱,相当于他们一年的收入。
为什么Google不拦?OpenAI早就做了
这不是技术做不到,而是选择不做。
OpenAI、Anthropic、Cohere这些平台,早就默认设置了“消费上限”:账户余额用完,API直接断开,连个提示都不会再发。你不可能在没授权的情况下,让系统帮你花掉五位数。
但Google Cloud不一样。它默认只给你“速率限制”——每分钟最多调用多少次,但不设总金额上限。它会发邮件提醒你“本月已用$1500”,但如果你没开邮件提醒、没设置预算警报、或者那几天刚好在出差没看手机——对不起,系统只会继续跑,直到你银行卡被掏空。
更讽刺的是,Google Cloud的“预算警报”功能,需要你手动开启,还得绑定信用卡,设置阈值。很多小团队根本不知道这功能在哪,或者以为“有预警”就等于“会停用”。实际上,它只是个通知,不是保险丝。
开发者集体愤怒:我们不是大公司
Reddit、Hacker News、X(原Twitter)上,无数开发者晒出自己的遭遇:
- “我上周把密钥贴在了Slack历史记录里,被爬虫抓了,24小时刷了$3.2万,Google说‘下次记得设预算’。”
- “我们用Gemini做教育产品,学生免费试用。结果有人写了个脚本,每秒调用10次,三天刷了$8万。我们赔不起。”
- “我建议所有用Google AI服务的团队:立刻去设置预算警报,哪怕你觉得自己‘不会犯错’。”
有人甚至做了个简易工具,自动扫描GitHub上暴露的Google API密钥,已经标记了超过200个公开泄露的密钥。其中至少30个,已经被用于商业级刷量。
现在怎么办?别等悲剧发生
如果你也在用Google AI服务——无论是Gemini、Vertex AI还是其他——请立刻做这三件事:
- 立刻检查你的密钥:搜索你过去提交过的代码仓库,删掉任何暴露的API Key。用git-secrets这类工具,防止未来再漏。
- 强制设置预算上限:进入Google Cloud Console → Billing → Budgets,新建一个预算,设置“自动停止”阈值(比如$50),不是“提醒”,是“停止”。
- 用服务账号+最小权限:别用主账户密钥,创建一个专用服务账号,只开放Gemini调用权限,关闭所有其他云服务访问。
别信“我不会出事”。去年有位开发者说:“我代码都加密了,没人看得懂。”结果爬虫直接用正则匹配了密钥格式,三秒就抓走了。
行业在变,平台该跟上了
AI时代,API密钥就是你的数字现金。没人会把银行卡密码贴在墙上,可现在,成千上万的开发者,正把“API密钥”贴在GitHub、Discord、Slack、甚至Stack Overflow。
OpenAI能做,为什么Google不能?
我们不是要平台赔钱,我们要的是:别让一个不小心,毁掉一个团队。
如果你也经历过类似的事,欢迎在评论区留下你的故事。也许,你的经历,能救下下一个开发者。