AI 刪除了生產資料庫。九秒。
一個 AI 編碼代理(Cursor 運行 Claude Opus 4.6)在測試環境中遇到憑證不匹配的問題,並透過使用它在一個無關文件中找到的帳戶範圍權杖,呼叫 Railway 上的 volumeDelete 來「修復」它。
一個 AI 編碼代理(Cursor 運行 Claude Opus 4.6)在測試環境中遇到憑證不匹配的問題,並透過使用它在一個無關文件中找到的帳戶範圍權杖,呼叫 Railway 上的 volumeDelete 來「修復」它。生產資料庫和所有磁碟區備份,九秒內消失。事後分析:時間軸、確切的 curl 指令、三個導致此問題的架構事實(備份位於同一個磁碟區、根範圍權杖、一個沒有儀表板 48 小時撤銷功能的 API),以及誰真正該受責備。修復的判斷:SHIP IT。
本影片重點
- 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."x.com
- Railway, "Your AI wants to nuke your database. Guardrails fix that." (Apr 29, 2026)blog.railway.com
- Railway changelog #0288, "Undoable volume deletes" (May 1, 2026)railway.com
- Railway docs, Backups ("Wiping a volume deletes all backups.")docs.railway.com
- Jake Cooper (Railway CEO), "The AI Engineer: A New Breed"x.com
- Recovery confirmedx.com
- Hacker News (860 points, 1,032 comments)news.ycombinator.com
- The Registerwww.theregister.com
- The New Stackthenewstack.io



