一张 38,000 美元的 AWS Bedrock 账单暴露了 AI 基础设施安全性的关键漏洞

大语言模型 (LLMs) 和 AI agents 在开发工作流中的快速采用带来了前所未有的能力,但也引入了新的、潜在高昂的失败模式。一位开发者最近分享了一个从近 38,000 美元的 AWS Bedrock 账单中吸取的惨痛教训,揭示了当前计费 AI 基础设施运行方式中的一个关键漏洞:一个简单的提示词缓存 (prompt caching) 配置错误可能会在缺乏足够的硬性安全护栏的情况下导致天文数字般的成本。

这次事件为任何利用 AI 服务的人,特别是在自动化 agent 工作流中,敲响了重要的警钟。它暴露了当平台级保障措施的假设与无声、高昂的失败现实不一致时所固有的危险,强调了开发者和云提供商都需要重新思考如何为 AI 消耗实施财务护栏。

事件经过:缓存未命中导致的 38,000 美元教训

作者 Zephyr0x 详细描述了一个涉及本地编码 agent (Droid) 与 OpenAI 兼容的 API 交互的工作流,该 API 通过 LiteLLM 路由到 AWS Bedrock,并最终使用 Claude Opus 4.6。原本的预期是,Claude 和 Bedrock 都支持的提示词缓存 (prompt caching) 将高效地管理 token 使用量。然而,最终的账单呈现了不同的情况,导致总使用量达到 37,901.73 美元,在扣除 AWS credits 之后净额约为 29,875.19 美元。

问题的核心不在于输出生成,而在于重复且未缓存的输入。明细如下:

  • 未缓存的输入 tokens: ~64.7 亿 tokens,成本约为 ~$35,600
  • 缓存读取输入 tokens (Cache read input tokens): ~16.7 亿 tokens,成本约为 ~$918
  • 缓存写入输入 tokens (Cache write input tokens): ~1.01 亿 tokens,成本约为 ~$698
  • 输出 tokens: ~2,500 万 tokens,成本约为 ~$698

这清楚地表明,虽然发生了一些缓存活动,但对于高频 agent 工作流来说,这远远不够。绝大部分成本源于 agent 反复发送大型上下文——仓库状态、工具 schema、指令、历史记录和文件内容——作为未缓存的输入。

安全感的错觉:软信号 vs. 硬护栏

作者强调的最令人沮丧的方面之一是那些看似安全机制的欺骗性。文章清晰地阐述了这一点:

“支持提示词缓存”并不等同于 “你的实际 agent stack 正在正确使用提示词缓存”。 “已配置预算警报”并不等同于 “支出将停止”。 “已应用 credits”并不等同于 “你会尽早发现糟糕的成本结构”。

这些被描述为“伪装成安全边界的软信号”,对于 LLM agents 来说根本不足。一个自主的编码 agent 可以持续运行,在开发者睡觉时积累巨大的上下文并产生巨额成本。当缓存配置错误或部分有效时,失败模式不是微小的效率低下,而是失控的云账单。

云提供商在处理意外成本方面有着悠久的历史,但 AI 基础设施的现状似乎忽视了过去几十年的经验教训。作者指出:“云提供商已经有几十年的时间来学习‘在钱花光之后再发邮件给我’并不是一种安全机制。”

对硬性限制的迫切需求

这次事件强调了当前 AI 服务产品中缺失的一个基本环节:在 API 或平台级别提供硬性的、可配置的支出限额。

作者针对为什么缺乏此类基础护栏提出了关键问题:

  • 为什么不能为一个 IAM principal 设定最大支出限额,例如每月 $200?
  • 为什么不能将特定模型限制为每天 N 次调用?
  • 为什么不能限制一个工作流每小时发送超过 N 个未缓存的输入 tokens?
  • 为什么没有一种机制在预定义预算被突破时停止提供服务?

如果没有这些硬性限制,AI agents 的默认运行模式就是“极其危险”。作者承认自己没有实施护栏的个人责任,但强调了平台的设计允许“一个非常正常的集成错误变成一张车子大小的账单”。

为 AI Agents 构建可靠的护栏

这次经历促使社区紧急呼吁采取行动,开发并分享稳健的解决方案。作者特别询问了是否存在现有的可靠护栏,例如:

  • IAM deny rules
  • API gateways with custom logic
  • Token-budget proxies
  • Per-workflow kill switches

随着 AI agents 变得越来越深入地集成到日常开发和生产环境中,这类主动、预防性的措施变得至关重要。依赖事后后验警报或对缓存正确性的假设是不可行的。

核心要点

这张 38,000 美元的 AWS Bedrock 账单是对任何使用计费 AI 服务的人的一个严厉提醒:

  • 提示词缓存不是一个勾选项。 它需要严格的验证和监控,以确保它在你的特定 agent stack 中运行有效。

  • 预算警报不是终止开关。 它们提供的是事后通知,而不是预防。

  • Credits 不仅仅是保护。 虽然很有帮助,但它们可能会掩盖潜在的成本效率低下,直到为时已晚。

  • 硬性支出限额是必不可少的。 在 AI agents 可以作为正常基础设施安全地集成之前,紧急需要稳健、可配置的硬性限额。目前的默认设置简直太过于风险。

Sources