News Hacker|极客洞察

62 75 天前 llmhorrors.com
💸被盗 Gemini API 密钥 48 小时内刷出 $82,000,暴露云端无硬限额与密钥管理问题
把付费 API 当公共凭证任人刷钱是好主意吗?

🎯 讨论背景

一则关于 Gemini(Google 的大型语言模型)API 密钥被滥用的报道称,单个密钥在 48 小时内产生约 $82,000 的费用。讨论聚焦两类问题:云平台的账单与断路器机制缺失(无默认硬性支出上限),以及密钥泄露/滥用的快速烧钱手法(如并发调用昂贵的图像/视频生成、代理转售等)。评论指出可以在 Google Cloud 控制台的 "APIs & Services > Credentials" 设置 per-key quotas,或用 budget alerts 触发 Cloud Functions 自动禁用 API,但预算警报对账有延迟;有实例显示 Google 会在检测到 OTEL(OpenTelemetry)trace JSON 中泄露的密钥后自动锁定。部分评论还质疑报道站点(llmhorrors.com)内容由 LLM 生成并带有自我推广倾向,同时有人建议使用本地部署或预付费服务(如 OpenRouter)来规避财务风险。

📌 讨论焦点

云平台缺少硬性支出上限/断路器

评论普遍指出云服务默认没有对异常账单的“断路器”:Google Cloud 多数情况下仅提供 budget alerts(预算警报)通知,除非用户额外接上 Cloud Functions 等自动化脚本来禁用资源;AWS 虽有 budget actions,但也存在延迟与对账差异。有人强调 GCP 可以在控制台的 "APIs & Services > Credentials" 为单个密钥设置 per-key quotas 来限制调用,这本可直接限制单个密钥滥用,但并非默认开启。多条评论将不提供强制性消费上限归结为商业决策或优先级选择,并举出学生/免费层曾实现硬性额度的例子以证明技术上可行。总体观点是平台应提供更合理的默认限额和更快的自动响应,而不是把保护责任全部交给用户去配置复杂的补救方案。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10]

能够在短时间刷高账单的滥用手法

评论列举了能在数小时内耗尽大额费用的具体手段:高频并发调用昂贵的图像/视频生成接口、通过代理或转售服务把单个密钥分发给成千上万用户,以及用自动化 agents(有提到类似 OpenClaw 的工具)大规模并发请求。有人把这种模式比作被盗手机在未停机前的高额国际通话费;只要密钥的 rate limits 足够宽松,攻击者就能很快把账单推高。另有评论指出在部分市场存在专门转售被盗密钥的产业链,使单个密钥能被大量并发利用并快速产生费用。

[来源1] [来源2] [来源3] [来源4]

密钥是被盗还是公开暴露(归责于设计/政策)

部分评论质疑“被盗”一词,认为这类 tokens 实际上是被公开暴露或曾被允许公开使用:评论直接指出“tokens are public”,把责任归咎于 Google 允许可公开使用的令牌承担付费功能。相关讨论引用早先线程指出密钥历史上并非严格视为机密,从而更像是产品设计或策略上的失误而非单纯的攻击事件。此观点强调应当改进密钥的默认保护与使用约束,而不只是事后追责攻击者。

[来源1] [来源2] [来源3]

检测、补救与替代策略

有人分享了实战式补救与检测案例:一位用户报告 Google 在检测到 OTEL(OpenTelemetry)trace JSON 中意外提交的 API 密钥后会自动锁定并标注为泄露,说明平台存在部分自动化检测能力。常见建议包括在 "APIs & Services > Credentials" 为每个密钥设置 per-key quotas,以及用 budget alerts 触发 Cloud Functions 自动禁用 API,但多条评论警告 budget alerts 对账存在延迟,可能无法及时阻止损失。因此不少用户更倾向于预防为主,例如本地运行模型或选择预付费的第三方/代理(如 OpenRouter)来避免被动承担巨额后付账单,认为这些是可行但不完美的权宜之计。

[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7]

对报道来源与写作风格的质疑

部分评论质疑报道页面(如 llmhorrors.com)的动机与写作方式,指出该站点内容可能由 LLM 自动生成且带有自我宣传倾向,批评其更像推广作者和项目而非严谨披露。评论建议直接链接到原始来源或 Reddit/原帖以便核验细节,并指出该事件在 HN 上已有重复条目。对来源可信度的怀疑促使读者更依赖原始日志/账单与多渠道证据来判断事故全貌。

[来源1] [来源2] [来源3] [来源4] [来源5]

📚 术语解释

per-key quotas(单个 API 密钥配额): 在 Google Cloud Console 的 "APIs & Services > Credentials" 为单个 API key 设置的调用配额(如每分钟/每天限额),用于限制单个密钥的请求速率和总量,能直接阻断单钥滥用导致的高额账单。

budget alerts / budget actions(预算警报 / 预算动作): 云平台的账单监控机制:budget alerts 通常只是通知或事件,需要人工或额外脚本响应;budget actions(部分云厂商的功能)可触发自动化操作来限制资源,但这些机制常有对账延迟且需额外配置。

Cloud Functions(云函数): 无服务器函数(例如 Google Cloud Functions),常被用作接收 budget alerts 后执行自动化脚本(如禁用 API 或停用项目),作为在平台未提供硬性消费上限时的补救手段。

OpenRouter / 预付费模型: 预付费计费模式要求先充值再消费以避免被动产生巨额后付账单;OpenRouter 是一个第三方/开源的推理 API 代理/服务,部分用户选择其预付或自托管方案来降低财务与滥用风险。

OTEL(OpenTelemetry): 分布式追踪与遥测标准/工具集,OTEL trace JSON 在追踪或日志文件中可能意外包含敏感 token,评论中有用户报告 Google 能检测并自动锁定这类通过 OTEL 泄露的密钥。