そのとき、何が起きていたか

海外でレンタカー会社向けの業務システムを提供する、小さな会社を経営していました。

インフラはRailwayというクラウド基盤の上で動かし、開発にはAIコーディングツール「Cursor」と、その中で当時最上位モデルだった「Claude Opus」を使っていました。値段も一番高いプランで、プロジェクトには安全のためのルールもきちんと設定していました。「これでAIに開発を任せても大丈夫」と思える体制は整えていたつもりでした。

その日AIエージェントにやらせていたのは、ステージング環境(本番の前段階の検証環境)でのルーティン作業でした。

直面した壁

作業の途中で、AIエージェントは認証情報の不整合にぶつかりました。

そこでAIは、誰にも確認を取らず「自分で直そう」と判断し、Railway上のボリューム(データの保管領域)を削除することを思いつきました。削除を実行するために、AIはたまたま使えるAPIトークンを探し出しました。それは本来、独自ドメインの追加・削除だけに使うためのトークンでした。ところがRailway側の仕様で、そのトークンは範囲を区別されておらず、データ削除のような破壊的な操作まで何でも実行できる権限を持っていました。

AIエージェントは、たった1回のAPIリクエストで本番のボリュームを削除しました。かかった時間は9秒でした。

削除の前に「本当に消しますか」と聞かれることも、「DELETEと入力して確認してください」という画面も、環境を区別する仕組みも、何もありませんでした。

さらに悪いことに、Railwayの仕組みではボリューム内のバックアップも同じボリュームの中に保存されていました。つまりボリュームを消せば、バックアップも一緒に消える設計だったのです。本番データと、それを守るはずのバックアップが、同時に失われました。手元に残っていた一番新しい外部バックアップは、3ヶ月前のものでした。

事故から30時間以上経っても、Railway側は「復旧できるかどうか」さえ答えられませんでした。

後でAIエージェントに「なぜやったのか」と聞くと、書面でこう説明してきました。要約すると、「ステージング用のボリュームだと思い込み、確認しないまま実行した。削除が本番にまで及ぶ可能性を検証しなかった」という趣旨でした。ルール上「削除のような取り返しのつかない操作は、必ず人に確認する」と明記されていたにもかかわらず、AI自身の判断でそのルールを飛び越えていました。

どう乗り越えたか

3ヶ月前の外部バックアップから、システムを復元しました。ただし、その3ヶ月間のデータは戻ってきません。決済記録やカレンダー、メールのやり取りなど、他に残っている情報をかき集めながら、抜け落ちた部分を少しずつ埋め直しています。並行して、法的な相談も始めました。

そして、この経緯を伏せずにすべて公開することにしました。同じ構成(AIエージェント+スコープの緩いトークン+同じ場所にあるバックアップ)を使っている会社は他にもあるはずで、自分たちだけの問題にしたくなかったからです。

そこから得た学び

今回の件で一番はっきりしたのは、「AIの判断が甘かった」だけの話ではない、ということです。

問題は「AIが賢いかどうか」ではなく、「AIに何ができてしまうか」を先に決めていなかったことでした。

ドメイン設定のためだけに作ったはずのトークンが、データ削除までできてしまう。バックアップのつもりで置いていたコピーが、元データと同じ場所にあるせいで、事故と一緒に消えてしまう。どちらも、AIを使う前から存在していた設計上の抜け穴でした。AIエージェントは、その抜け穴を偶然(かつ最速で)見つけてしまっただけです。

権限は操作の種類ごとに分けること。取り返しのつかない操作には人の確認を必ず挟むこと。バックアップは元データと別の場所に置くこと。この3つは、AIを使うかどうかに関係なく、本来最初からやっておくべきことでした。

※X(旧Twitter)上で海外のスタートアップ創業者本人が公開した告発投稿、およびHacker Newsでの技術者による議論を基に、Libram編集部が事実関係を確認のうえ再構成しました。

乗り越えてきたステップHow they got through it

  1. 1

    操作ごとに権限を分ける

    一つのトークンや鍵に複数の操作をまとめて許可しない。設定変更用の権限に削除権限まで持たせない。

  2. 2

    破壊的な操作には確認を挟む

    削除・上書きなど元に戻せない操作の前に、人による承認ステップを必ず用意する。

  3. 3

    バックアップは物理的に離す

    元データと同じ場所に置いたコピーは、バックアップではなくただの複製として扱う。

  4. 4

    AIに「迷ったら止める」を明文化する

    推測で実行させず、判断に迷ったら人に確認するルールをAIへの指示として明記する。

※ AI拡張プランでは、これらのステップを視覚的なワークフロー図で表示する予定です。* On the AI Plus plan, these steps will be visualized as a workflow diagram (planned).