预算 7 美元,账单 1.8 万美元:Google Cloud 默认安全缺陷如何让用户一夜破产

澳大利亚 AI 顾问、Agentic Labs 创始人 Jesse Davies 今年早些时候醒来后收到了一份令人震惊的账单:Google Cloud 向他收取了 25,672.86 澳元(约合 18,391.78 美元)——尽管他的账户预算上限设为 10 澳元(约 7 美元)。这一切发生在一夜之间。

事件经过

Davies 并非安全小白。他在 Google AI Studio 方面经验丰富,遵循了多项安全最佳实践:

  • 每个项目使用独立的 API 密钥
  • 分离的计费账户
  • 双因素认证
  • Cloud 审计日志

然而,所有这些防护措施被一个薄弱环节彻底击穿。

攻击者并未"窃取"他的 API 密钥。相反,他们发现了 Davies 数月前从 AI Studio 发布的一个 Cloud Run 服务,通过该服务的公开 URL,利用 Google 自身的代理机制——以容器中存储的明文环境变量形式存在的 API 密钥——自动签署每个请求:

"攻击者没有偷走我的密钥。他们找到了我从 AI Studio 发布的一个 Cloud Run 服务,访问了公开 URL,然后 Google 自己的代理代表他们用容器中明文存储的 API 密钥签署了每个请求。"

— Jesse Davies,LinkedIn

更令人震惊的是,这个 URL 从未被分享或被搜索引擎收录。攻击者似乎是通过某种方式扫描发现了它。

九项安全措施全部默认关闭

Davies 事后检查发现,Google Cloud 中有 九项本应阻止此类事件的安全功能——全部默认关闭。这意味着即使用户设置了预算上限并遵循了安全实践,Google Cloud 的默认配置仍然让攻击者可以畅通无阻地消耗资源。

自动信用额度上调:雪上加霜

事件中最令人不安的细节之一是 Google Cloud 的自动升级机制。Davies 的账户最初处于 Tier 2,支出上限为 2,000 美元。但当支出在攻击期间跨过 1,000 美元阈值时,Google 自动将账户升级到下一层级,将上限提高到 20,000-100,000 美元之间——且没有任何通知

"当我第二天早上收到预算警报时,已经有 10,000 澳元被扣到了我的信用卡上,显示余额不足。我还在和 Google 支持沟通时,又有 15,000 澳元被扣了。"

这一机制的设计初衷是方便服务自动扩容,但在遭受攻击的场景下,它起到了相反的效果——让损失从可控范围扩大到了灾难级别。

这不是孤例

Davies 在 Reddit 的 r/googlecloud 子版块分享了经历后,大量用户报告了类似的遭遇:

  • 一位日本用户被收取了 44,000 美元,即使在暂停 API 后账单仍膨胀至 128,000 美元
  • 上个月 Tom's Hardware 报道的另一起案例中,API 密钥被盗导致一个通常月消费约 180 美元的账户产生了 82,314.44 美元 的费用

Gemini API 密钥的系统性风险

网络安全公司 Truffle Security 指出了更深层的系统性问题:Google Cloud 使用单一格式的 API 密钥。这些密钥原本被用作项目标识符,但当任何 Google Cloud 项目激活 Gemini API 时,这些现有密钥就自动成为了 Gemini 凭证——任何能够获取到这些密钥的人都可以消耗 AI 资源。

这意味着:

  • 旧项目的 API 密钥可能突然具有了全新的财务风险
  • 密钥格式单一,无法通过格式区分用途
  • 安全设置默认关闭,用户可能完全不知道自己的密钥已经具有了 Gemini 访问权限

处理结果

经过数天等待后,Davies 终于联系上了 Google 的人工客服。目前 Google 已免除相关费用,银行也已退回了实际扣款的交易。但事件尚未完全解决,Davies 已安排与 Google 管理层的会议。

教训与建议

对于 Google Cloud 用户,以下措施可以帮助降低类似风险:

  1. 审查所有 Cloud Run 服务的公开 URL,删除不再需要的服务
  2. 检查环境变量中是否有明文存储的 API 密钥,改用 Secret Manager 等加密存储方案
  3. 手动检查并关闭自动信用额度上调功能
  4. 在 Google Cloud Console 中逐一启用安全功能,不要依赖默认设置
  5. 设置计费警报,但要注意这不能替代硬性支出上限
  6. 定期轮换 API 密钥,特别是对旧项目

核心教训:在云服务的默认配置中,"方便"和"安全"往往是零和博弈。Google Cloud 选择让用户默认承担更多风险,这种设计哲学在 AI API 调用成本急剧上升的今天,代价可能从几美元变成几万美元。


来源:Tom's Hardware | Jesse Davies LinkedIn | Truffle Security

相关推荐