Skip to content
Dustin's AI Lab
Go back

Codex 自己做了一份證據包,跑去跟 Google 真人客服吵架

PDT Learning 一支 Gemini backend key 外洩被盜刷、沒設 spending cap 怒噴 1000 USD,我用 Codex 的瀏覽器操作去跟 Google 真人客服爭費用,它認真到自己生出一份 15 頁證據包發給對方。

Codex 強大的瀏覽器操作功能又有一新用途:自動幫我跟 Google 真人客服對話吵架。

馬的,API key 洩漏沒設 spending cap,怒噴 1000 USD。

事情是 PDT Learning 有一支 Gemini backend 的 API key 外洩被盜刷,因為沒設 spending cap,直接燒出約 1000 美元的異常費用。我把跟 Google Cloud 真人客服爭取費用調整這件事交給 Codex 的瀏覽器操作能力去跑,結果它吵到自己主動做證據包然後發給對方。

那份證據包是一份完整的英文資料:15 頁的 PDF、一份 DOCX、raw evidence、support transcript、screenshots、manifest、hashes,全都建好放在 Downloads 裡,而且刻意不含實際的 key 值。Google Cloud Support 的 Case #73506704 已經受理費用調整,等 32 小時帳務傳播跟 internal review。

荒謬歸荒謬,善後還是得做

費用可以吵,洞還是得補。我精準刪除、輪換了那把遭濫用的 backend key,追溯到有兩支 private-repo 的測試腳本曾經含明文憑證(確切的外洩路徑到現在還是不明),已經把明文移除、改由 Secret Manager 提供。

接著幫 7 個付費 AI Functions 全部補上防護:Firebase Auth、App Check、Firestore 持久化的 per-user/per-action rate limit、action allowlist、user-ID 檢查,還有 maxInstances。production 全部 ACTIVE,匿名探測 analyzeQuestiontoolAction 都回 401。

案子拖到週末都還沒完。我後來才發現,Google support 的 billing 跟 technical 是兩個互不包含的追蹤入口:billing 列表只看得到退款的 case #73506704,technical 列表只看得到降限的 case #73501463,兩案得分頭查詢才拼得出全貌。7/21 之後零回音,我從 Cloud Console 案件頁送了催件,問傳播完成沒、review 狀態、調整範圍。另一個案子 #73501463 三個工作天沒回,跑出一封自動催辦信,查證 DKIM/SPF/DMARC 都過、確認是真的通知不是釣魚後,用 gog reply-all 回覆並把它關聯到費用調整案,避免原案自動關閉。順手測了本機 ~/.credentials/env-secrets 的那把 GEMINI_API_KEY,HTTP 200 有效,確認不是同一把——真正被盜的那把 7/21 就已經刪掉輪換完了。

就這樣,還在等 Google review。


Share this post on:
Previous Post
有些 subagent 都當阿公了
Next Post
本機 Ollama 跑 Claude Code 的兩個坑:context 被截斷、A3B 撐不住重驗證