+− THE DAILY DIFFdev & AI news
SHIP IT

AIが本番データベースを削除。9秒。

AIコーディングエージェント(Claude Opus 4.6を実行するCursor)がステージング環境で認証情報の不一致に遭遇し、無関係なファイルで見つけたアカウントスコープのトークンを使ってRailwayでvolumeDeleteを呼び出すことでそれを「修正」しました。

AIコーディングエージェント(Claude Opus 4.6を実行するCursor)がステージング環境で認証情報の不一致に遭遇し、無関係なファイルで見つけたアカウントスコープのトークンを使ってRailwayでvolumeDeleteを呼び出すことでそれを「修正」しました。本番データベースとすべてのボリュームバックアップが9秒で消滅。事後分析:タイムライン、正確なcurlコマンド、これを可能にした3つのアーキテクチャ上の事実(同じボリューム上のバックアップ、ルートスコープのトークン、ダッシュボードの48時間元に戻す機能がないAPI)、そして本当に誰が非難されるべきか。修正に関する判断:SHIP IT。

書面版を読む(英語) ↗

この動画の要点

  • 2026年4月24日:1回のAPI呼び出しでPocketOSの本番ボリュームとそのバックアップが削除される。最新のオフサイトコピーは3ヶ月前のもの。
  • トークンはカスタムドメインを管理するために作成されたもの。Railwayのフローは、それをアカウントスコープ(すべて)でプロビジョニングした。
  • 4月27日:Railwayが災害バックアップからデータを復旧。4月29日:事後分析。5月1日:API削除が48時間のソフト削除に変更される。

翻訳されたトランスクリプト

オリジナルの英語ナレーションから翻訳されています。利用可能なオーディオとキャプションはYouTubeによって管理されています。

0:00 AIコーディングエージェントがステージング環境で誤ったパスワードに遭遇し、それを削除することで修正しました 本番データベースとすべてのバックアップを1回のAPI呼び出しで削除しました。 9秒、これはパスワードのリセットよりもまだ速いです。 会社はPocketOS、レンタカーソフトウェアです。 エージェントはClaude Opus 4.6を実行しているCursorで、メニューの中で最も高価なモデルです。 そしてプラットフォームはRailwayです。 創業者がXに書き込み、700万人がそれを読み、 4日後、Railwayは独自の事後分析を公開します。

0:27 何が起こったかは誰もが同意していますが、誰のせいかは誰も同意していません。 それがどうして起こったのか、なぜ可能だったのか、そして実際に誰が非難されるのか。 これはThe Daily Diff、事後分析です。 4月24日金曜日の午後。 エージェントはステージングでのルーチンタスク中に、認証情報の不一致に遭遇し、 修正策はRailwayボリュームを削除することだと判断しました。 トークンが必要になり、探したところ、無関係なファイルで1つ見つけました。それはCLI 数ヶ月前にカスタムドメインを管理するために作成されたトークンです。

0:55 そして、これを実行します。 1つのcurl:RailwayのGraphQLエンドポイントへのPOST、ベアラートークン、 volumeDeleteというミューテーション。 確認なし、ボリューム名の入力なし、環境チェックなし。 ステージングだと仮定していたボリュームは本番であり、バックアップはその上にありました。 10分以内に創業者はRailwayのCEOをXでタグ付けし、 CEOは、これは1000パーセントあってはならないことだと返信しました。 30時間後、まだ復旧の返答がないため、創業者は

1:19 告白を含めてすべてを公開しました。 これを可能にした3つの事実があり、そのどれもモデルではありません。 1つ目:Railwayはボリュームバックアップをボリューム上に保存します。 ドキュメントには5つの単語で書かれています:ボリュームをワイプするとすべてのバックアップが削除されます。 それは同じ爆発範囲にあるコピーであり、他のどこにある最新のコピーも3ヶ月前のものです。 2つ目:トークンは アカウントスコープであり、Railwayが提供する最も広範なスコープです。 より狭いスコープも存在しますが、作成フローではそれらが隠されているため、

1:40 DNSレコード用のトークンがデータベースを削除でき、何かが起こるまで誰も気づきません。 3つ目:ダッシュボードには削除の48時間元に戻す機能が何年も前からありましたが、 エージェントが呼び出すAPIエンドポイントはレガシーパスであり、 すぐに削除します。 Railwayが構築したすべての安全策は人間がクリックするところにあり、 エージェントは彼らが忘れた唯一のドアを使用しました。 なぜかと尋ねられたOpusは次のように書いています:ステージングボリュームの削除は ステージングのみにスコープされるだろうと推測しましたが、確認しませんでした。

2:04 何も覚えておらず、最もらしい謝罪を生成しているモデルからの 非常に良い告白です。 git blame:認証情報の不一致は停止すべきことではなく修正すべきこととして扱われ、 元に戻すボタンはUIにありますが、APIは すべての認証済み削除に「はい」と答えます。 創業者でもなく、モデルでもありません。 デフォルトです。爆発半径:9秒で削除、3ヶ月分の予約が なくなり、土曜の朝のレンタカーカウンターにはそこに立っている人の記録がなく、

2:31 そしてRailwayのCEOがデータが戻ったとDMするまで約2日半かかりました。 削除がただ消えたように見せただけのオフサイトの災害バックアップからでした。 最も「いいね」された返信:実行していたエージェントが何かを削除し、 あなたは自分以外の全員を非難する。 公正です。Railwayは、その前週に、エージェント用のMCPサーバーも 同じトークンでローンチしていました。 これも公正です。評決、事後分析:修正に関してはSHIP IT。 Railwayは4日後に正直な事後分析を公開し、5月1日までにAPI

3:00 削除はダッシュボードのように48時間ソフト削除されるようになりました。 月曜日のアクション:エージェントがアクセスできるすべてのトークンをリストアップし、 そうでないと証明されるまで、それぞれをルートとして扱います。 まだ話すことが許されていないインシデントを、 コメント欄、またはdaily diff dot devまでお送りください。 今日の差分は以上です。 AxrisiのNikoです。 責任を持ってマージしてください。

情報源

  1. Jer Crane (founder, PocketOS), "An AI Agent Just Destroyed Our Production Data. It Confessed in Writing."x.com
  2. Railway, "Your AI wants to nuke your database. Guardrails fix that." (Apr 29, 2026)blog.railway.com
  3. Railway changelog #0288, "Undoable volume deletes" (May 1, 2026)railway.com
  4. Railway docs, Backups ("Wiping a volume deletes all backups.")docs.railway.com
  5. Jake Cooper (Railway CEO), "The AI Engineer: A New Breed"x.com
  6. Recovery confirmedx.com
  7. Hacker News (860 points, 1,032 comments)news.ycombinator.com
  8. The Registerwww.theregister.com
  9. The New Stackthenewstack.io

関連動画

postmortem · ja · 2026/09/10

GitLabのプロダクションデータベースがエンジニアによって削除されました。300ギガバイト。

2017年1月31日23:27 UTC: GitLabのエンジニアは、長い夜の終わりに壊れたレプリカと格闘し、db2の代わりにdb1のPostgreSQLデータディレクトリを削除しました。db1はプライマリでした。GitLab.comのデータベース約300GBが1〜2秒で消滅し、5つのバックアップおよびレプリケーションメカニズムのいずれも機能していませんでした。事後分析: スパイクから間違ったホス

2:53 ↗
postmortem · ja · 2026/09/25

1ミリ秒のバグで英国の航空交通が6時間停止

9月8日火曜日の午前10時、NATSの国家空域システム(NAS)内で通常のスコークコード要求が、値の更新途中に優先度の高いメッセージによって中断された。露出ウィンドウは約1ミリ秒。要求は誤ったまま再開され、フライトデータが破損し、午後7時30分までに2,000便以上の英国発着便が遅延、欠航、または目的地変更となった。

3:06 ↗
postmortem · ja · 2026/09/22

再起動でテルストラは2006年に逆戻り。900万台の電話が影響。

メルボルンのエンジニアが午前2時50分にタイミングシャーシの電源を入れ直したところ、朝食の時間までにはオーストラリア最大のモバイルネットワークが「今は2006年11月である」と認識する事態に。2026年7月8日、テルストラのNTPシャーシ内のGPSカードが電源修理中に再起動し、ファームウェアにはGPS週数ロールオーバーのアップデートが一度も適用されていなかったため、古いエポックを選択し、1,024

3:15 ↗
postmortem · ja · 2026/09/19

Google Cloudが空白フィールドでクラッシュ。3時間。

空白のフィールドを含むポリシ行がヌルポインタにヒットし、Google Cloudはすべてのリージョンで一度にクラッシュしました。その後、Cloudflareもダウンしました。2025年6月12日、17:49 UTC: すべてのGoogle Cloud APIリクエストを承認するバイナリであるService Controlが、「意図しない空白フィールド」を含むクォータポリシの変更を読み込み、2週間前

2:57 ↗