13小时烧掉54万欧元:一把没上锁的 Firebase 钥匙,给 Gemini API 上了堂昂贵的安全课

一夜醒来,账单已经像火箭一样飞出去
Google AI 开发者论坛上,最近出现了一则很难让人轻松看完的求助帖。发帖者称,他们在一个已经运行了一年多的 Firebase 项目中,原本只使用 Firebase Authentication。后来,他们给产品加了一个很简单的 AI 功能:用户输入一段文本,系统生成一个网页片段。于是,他们启用了 Firebase AI Logic,也接入了 Gemini API。
接下来发生的事情,像极了很多开发者最害怕的梦境:短短 13 小时内,Gemini API 费用飙升到 5.4 万欧元以上。更糟的是,这不是业务暴涨带来的“甜蜜烦恼”,而是明显异常、自动化的调用。它发生在夜间,和真实用户规模完全对不上;等团队看到预算告警、成本异常提醒时,账单已经冲到约 2.8 万欧元,而最终结算之所以继续涨到 5.4 万欧元以上,是因为计费统计本身还有延迟。
开发者后续与 Google Cloud 支持沟通,提交日志与分析,得到的结论却相当冷冰冰:这些调用来自他们自己的项目,因此被认定为“有效使用”,调账申请也被拒绝。技术上,这话并不难理解;情感上,它几乎像一句“门是你自己没锁,丢东西也算你的”。问题是,到了生成式 AI 这一步,这扇门后面放着的已经不是几百块广告费,而是足以让一个小团队原地窒息的账单炸弹。
旧世界的 API Key 观念,撞上了 AI 时代的高单价现实
这件事之所以引发共鸣,不只是因为数字吓人,更因为它揭开了一个行业里长期存在、如今却越来越危险的错位认知:很多开发者过去习惯把某些 Google API Key 当作“标识符”,而不是“秘密”。在 Maps、Firebase 等老场景里,浏览器端放一个 Key,再配上域名限制、配额限制,很多时候是行业默认操作。甚至不少官方文档和开发者经验也长期传递出一种信号:Key 不一定非得藏得像保险箱密码一样。
但 Gemini 这类生成式 AI 服务改变了游戏规则。原因很简单,单次调用的价值和成本结构都变了。一个暴露的地图 Key 可能只是让别人蹭点流量;一个可被滥用的 AI Key,可能在几个小时里烧掉团队几个月甚至一年的预算。过去“Key 可以暴露,只要做限制就行”的经验,在 AI 服务面前并没有彻底失效,但它的容错空间被压缩得极小。
发帖者还引用了安全公司 Truffle Security 的一篇文章,标题很犀利:《Google API keys were not secrets. But then Gemini changed the rules》。这句话某种程度上点中了关键:不是开发者突然变笨了,而是计费风险和滥用价值在 AI 时代陡然上升,过去的安全常识已经部分过期。行业里最危险的,往往不是完全错误的认知,而是“曾经大体没错、现在却不够用了”的认知。
真正让人不安的,不只是泄露,而是“告警追不上扣费”
如果只是一个典型的密钥泄露案例,它还不至于在今天格外刺眼。更让人不安的是,发帖者已经配置了 80 欧元的预算提醒和成本异常告警,但这些机制都晚了几个小时才触发。对传统云服务来说,几小时延迟有时还可以接受;对高频、可自动化滥用的 AI API 来说,这几小时足够把事故从“小额异常”推成“财务灾难”。
说得直白一点,很多云平台的告警系统仍然活在“人类消费速度”里,而不是“脚本攻击速度”里。机器不会等你起床,不会等财务审批,也不会等周一例会。只要密钥可用、额度没卡死,自动化请求就能一路踩到底。预算告警在这种场景下更像事故回放,而不是真正的刹车系统。
这也让一个老问题重新变得尖锐:云平台到底该不该给高风险 AI 服务提供更激进的默认保护?比如新启用模型时默认极低额度、短时间突增自动熔断、跨区域或异常指纹访问直接冻结、浏览器端调用默认强制启用更严格限制。这些机制可能会牺牲一点“开箱即用”的顺滑体验,但和一夜蒸发 5 万多欧元相比,代价似乎并不难权衡。
Firebase AI Logic 的便利,和它背后的责任转移
Firebase 的魅力一直在于“省事”。它帮开发者跳过很多基础设施搭建,把身份认证、数据库、托管、消息推送一路打包;现在再加上 AI Logic,自然很容易让前端团队、独立开发者、创业公司迅速把 AI 功能嵌进产品。问题也恰恰出在这里:越是“几行代码就能跑起来”的能力,越容易让人低估背后的安全与成本责任。
在很多团队里,AI 功能往往是由前端、全栈或产品导向的工程师快速试验出来的。他们非常擅长把体验做顺,但不一定会从云安全、配额策略、滥用检测、计费隔离这些角度构建防线。尤其是当一个项目本来只是用 Firebase Auth,后来“顺手”再开个 AI 能力时,旧项目里的密钥策略、权限配置和预算模型很可能根本没有为高成本 API 做重新设计。
这里其实折射出一个更大的趋势:AI 正在把“安全事故”和“财务事故”合并成同一件事。以前服务器被刷流量,主要是性能问题;现在模型接口被刷,直接就是利润表问题。创业团队和独立开发者最怕的,已经不只是宕机,而是还没来得及验证 PMF,先被 API 账单教育做人。
从这个意义上说,发帖者问“除了 App Check、配额、把调用移到服务端,还有没有别的 safeguard”并不是一个小白问题,而是在追问整个生态:当平台把 AI 能力变得像调用前端 SDK 一样简单时,它是否也该同步提供同等级别的风险护栏?
这不是 Google 一家的问题,但 Google 尤其该给出更清晰答案
公平地说,类似的账单惊魂并非 Google 独有。OpenAI、AWS、Anthropic、各类图像和语音 API,过去几年都出现过密钥泄露后被疯狂调用的案例。几乎所有按量计费的 AI 平台,都会面对同一种矛盾:越开放、越易集成,增长越快;越严格限制、越频繁拦截,开发者抱怨越多。
但 Google 在这个问题上有一个更特殊的位置。因为它同时拥有 Firebase、Google Cloud 和 Gemini,理论上比很多单点 API 厂商更有条件把“开发便利”和“计费安全”做成一个完整闭环。也正因为如此,开发者会天然期待:你既然在前端开发生态中有这么强的基础设施能力,就不该把 AI 接口风险几乎原样甩回给用户自己消化。
更现实一点说,行业接下来大概率会出现两种分化。一种是成熟团队全面转向服务端代理、细粒度签名、分层额度和实时风控,把浏览器端直接碰高价值 AI API 视为高危操作。另一种是中小团队继续图快,在“先上线再说”的冲动下踩坑。每一次类似事故,都会把后一类团队推向前一类做法,只不过学费有时贵得离谱。
这件事最值得追问的争议点也在这里:平台是否应该在“账单属于用户责任”之外,承担更多默认安全设计义务?如果一个产品路径天然容易让开发者误把高成本能力暴露在浏览器端,那么“文档里写过注意事项”恐怕还不够。至少在 AI 时代,默认安全值应当更保守,而不是继续沿用过去 Web API 的宽松习惯。
对普通开发者来说,这则帖子也像一张带着焦味的便签:不要再把 AI API Key 当成普通前端配置项了。它更像一张没有密码的公司信用卡,而且额度高、结算快、骗子不睡觉。你今天省掉的一层服务端转发、一个 IP 限制、一次配额切分,明天都有可能以四位数、五位数甚至更高的欧元数字回来找你。
从报道视角看,这不是一桩单纯的“用户失误”新闻,而是一场正在 AI 工具链里扩散的系统性摩擦。人人都想让 AI 接入更简单,但真正成熟的行业,从来不是让能力无门槛,而是让风险有护栏。现在看来,这道护栏还远远不够高。
延伸来看,接下来所有面向开发者的 AI 平台,都需要回答同一个问题:当调用成本足够高、滥用收益足够大时,什么才算“默认安全”?如果这个问题没有新的行业共识,类似的天价账单帖恐怕还会不断出现。