精选5天前398 投票
13小时意外产生5.4万欧元账单:未设限制的Firebase浏览器密钥访问Gemini API引发天价费用
事件概述
近日,一位开发者在Google AI开发者论坛上分享了一起令人震惊的账单事件:在启用Firebase AI Logic功能后的短短13小时内,其项目意外产生了超过5.4万欧元的Gemini API费用。这一事件迅速在Hacker News上引发热议,获得316分和223条评论,凸显了云服务成本控制的普遍痛点。
事件经过
开发者描述,该项目创建于一年多前,最初仅用于Firebase身份验证。近期,他们添加了一个简单的AI功能(根据文本提示生成网页片段),并启用了Firebase AI Logic。然而,启用后不久,Gemini API使用量突然激增,流量与真实用户无关,呈现自动化特征。
关键时间线如下:
- 夜间窗口:异常活动集中在短时间内发生,开发者发现时已产生约2.8万欧元费用。
- 警报延迟:尽管设置了80欧元的预算警报和成本异常警报,但两者均延迟数小时才触发。
- 最终账单:由于成本报告延迟,最终结算金额攀升至5.4万欧元以上。
根本原因分析
根据开发者描述,问题核心在于Firebase浏览器密钥未设置API限制。这意味着密钥可被任意调用,而攻击者或恶意脚本利用此漏洞发起大量Gemini API请求。尽管开发者迅速禁用API并轮换凭证,但损失已无法挽回。
处理结果与行业反思
开发者联系Google Cloud支持并提供日志分析后,费用仍被认定为“有效使用”,因为请求源自其项目。调整账单的请求最终被拒绝。这一结果引发广泛讨论:
- 责任归属:云服务商是否应在默认配置中加强安全限制?用户教育不足是否加剧了风险?
- 成本控制机制:现有警报和配额系统在应对突发流量时存在明显滞后,如何改进?
现有防护措施与建议
事件中提到的防护措施包括App Check、配额管理和将调用移至服务器端。然而,开发者指出这些可能不足。值得关注的是,Google已推出部分改进:
- 账单账户上限:Gemini API用户可设置支出上限,例如Tier 1用户默认每月250美元后自动切断(报告延迟约10分钟)。
- 项目支出上限:新增支持项目级支出限制功能。
对AI开发者的启示
- 密钥管理至关重要:始终为API密钥设置严格限制,仅允许必要域名或IP访问。
- 多层防护策略:结合预算警报、实时监控和程序化切断机制,避免单一防线失效。
- 理解服务条款:云服务商通常将项目内产生的流量视为用户责任,意外费用可能难以追回。
这起事件不仅是技术失误,更反映了AI服务规模化部署中成本与安全的平衡挑战。随着AI API使用日益普及,开发者需更加警惕隐藏的风险,而服务商也有责任提供更完善的默认保护措施。