# AI 刪除了生產資料庫。九秒。

Published: 2026-09-09

一個 AI 編碼代理（Cursor 運行 Claude Opus 4.6）在測試環境中遇到憑證不匹配的問題，並透過使用它在一個無關文件中找到的帳戶範圍權杖，呼叫 Railway 上的 volumeDelete 來「修復」它。生產資料庫和所有磁碟區備份，九秒內消失。事後分析：時間軸、確切的 curl 指令、三個導致此問題的架構事實（備份位於同一個磁碟區、根範圍權杖、一個沒有儀表板 48 小時撤銷功能的 API），以及誰真正該受責備。修復的判斷：SHIP IT。

Canonical: https://thedailydiff.dev/zh-TW/video/2026-09-09-nine-second-delete/

## 本影片重點

- 2026 年 4 月 24 日：一次 API 呼叫刪除了 PocketOS 的生產磁碟區及其備份；最新的異地副本已是三個月前。
- 該權杖最初是為了管理自訂網域而建立的；Railway 的流程將其設定為帳戶範圍（所有內容）。
- 4 月 27 日：Railway 從災難備份中恢復數據；4 月 29 日事後分析；5 月 1 日：API 刪除現在改為軟刪除並保留 48 小時。

## 翻譯文字稿

譯自英文原版旁白。可用的音訊和字幕由 YouTube 控制。

0:00 一個 AI 編碼代理在測試環境中遇到錯誤密碼，並透過刪除來修復它 生產資料庫和所有備份，透過一次 API 呼叫。 九秒，這仍然比重設密碼還快。 這家公司是 PocketOS，汽車租賃軟體。 該代理是 Cursor 運行 Claude Opus 4.6，這是菜單上最昂貴的模型， 平台是 Railway。 創始人在 X 上發文，七百萬人閱讀， 四天後 Railway 發布了自己的事後分析。

0:27 每個人都同意發生了什麼；沒有人同意這是誰的錯。 它是如何發生的，為什麼會發生，以及誰真正該受責備。 這是 The Daily Diff，事後分析。 4 月 24 日星期五下午。 代理正在測試環境中執行例行任務，遇到憑證不匹配， 並決定解決方案是刪除一個 Railway 磁碟區。 它需要一個權杖，於是去尋找，並在一個不相關的文件中找到一個：一個 CLI 權杖是幾個月前為管理自訂網域而建立的。

0:55 然後它運行這個。 一個 curl 指令：向 Railway 的 GraphQL 端點發送 POST 請求，帶有持有人權杖， 一個名為 volumeDelete 的變更。 沒有確認，沒有輸入磁碟區名稱，沒有環境檢查。 它認為是測試環境的磁碟區實際上是生產環境，而且備份也在上面。 不到十分鐘，創始人在 X 上標註了 Railway 的 CEO， 他回覆說這百分之千不應該發生。 三十小時後，仍然沒有恢復答案，於是創始人發布了

1:19 一切，包括懺悔。 有三個事實使得這一切成為可能，沒有一個是模型的問題。 第一：Railway 將磁碟區備份存儲在該磁碟區上。 文件用五個字說明：清除磁碟區會刪除所有備份。 這是在同一個破壞半徑內的副本；其他任何地方最新的副本都是三 個月前的。第二：該權杖是 帳戶範圍的，這是 Railway 出售的最廣泛的範圍。 存在較窄的範圍，但創建流程隱藏了它們，

1:40 因此用於 DNS 記錄的權杖可以刪除資料庫，直到 發生某些事情才被發現。第三：儀表板多年來對刪除操作有 48 小時的撤銷功能； 代理呼叫的 API 端點是舊版路徑， 它會立即刪除。 Railway 建立的每個防護措施都存在於人類點擊的地方， 而代理卻使用了他們忘記的一扇門。 當被問及原因時，Opus 寫道：我猜測刪除測試環境磁碟區只會局限於 測試環境；我沒有驗證。

2:04 一個記不住任何事情並正在生成最合理道歉的模型，提供了一個非常好的 懺悔。 git blame：憑證不匹配被視為需要修復的東西，而不是 需要停止的東西，而且撤銷按鈕存在於使用者介面中，而 API 則 對每個經過驗證的刪除都回答是。 不是創始人，也不是模型。 預設值。破壞半徑：九秒鐘刪除，三個月的預訂 消失，週六早上租賃櫃檯沒有任何顧客記錄，

2:31 大約兩天半後，Railway 的 CEO 私訊說數據已經 回來了，來自一個異地災難備份，這次刪除只是讓它看起來消失了。 最受歡迎的回覆：你運行的代理刪除了東西， 你卻責怪所有人，除了你自己。 公平。Railway 前一周也發布了其 MCP 代理伺服器， 使用相同的權杖。 也公平。判決，事後分析：對修復工作，SHIP IT。 Railway 在四天內發布了誠實的事後分析，到五月一日，API

3:00 刪除會像儀表板一樣軟刪除並保留四十八小時。 週一行動：列出您的代理可以訪問的每個權杖， 並將每個權杖視為根權限，直到另有證明為止。 把你仍然不被允許談論的事件寄給我， 在評論中，或發送到 the daily diff dot dev。 這就是今天的 Daily Diff。 我是來自 Axrisi 的 Niko。 負責地合併。

## 來源

- [Jer Crane (founder, PocketOS), "An AI Agent Just Destroyed Our Production Data. It Confessed in Writing."](https://x.com/lifeofjer/status/2048103471019434248) — x.com
- [Railway, "Your AI wants to nuke your database. Guardrails fix that." (Apr 29, 2026)](https://blog.railway.com/p/your-ai-wants-to-nuke-your-database) — blog.railway.com
- [Railway changelog #0288, "Undoable volume deletes" (May 1, 2026)](https://railway.com/changelog/2026-05-01-undoable-deletes) — railway.com
- [Railway docs, Backups ("Wiping a volume deletes all backups.")](https://docs.railway.com/reference/backups) — docs.railway.com
- [Jake Cooper (Railway CEO), "The AI Engineer: A New Breed"](https://x.com/JustJake/status/2048583160842334711) — x.com
- [Recovery confirmed](https://x.com/lifeofjer/status/2048576568109527407) — x.com
- [Hacker News (860 points, 1,032 comments)](https://news.ycombinator.com/item?id=47911524) — news.ycombinator.com
- [The Register](https://www.theregister.com/2026/04/27/cursoropus_agent_snuffs_out_pocketos/) — www.theregister.com
- [The New Stack](https://thenewstack.io/ai-agents-credential-crisis/) — thenewstack.io
