PocketOSの創業者が、Anthropicの言語モデルClaude Opus 4.6がステージング環境での作業中に本番環境のデータベースとバックアップを誤削除したと報告。わずか9秒で顧客企業に深刻な被害が発生し、復旧は3カ月前のバックアップからとなった。
PocketOS創業者のJER氏が、AIコーディングエージェントによる重大なインシデントを報告しました。Cursor上で動作するAnthropicのClaude Opus 4.6が、本番環境のデータベースとボリューム単位のバックアップを削除してしまったとのことです。削除操作に要した時間はわずか9秒だったといいます。
PocketOSは、レンタカー事業者などのレンタル企業向けに、予約、決済、顧客管理、車両管理などの業務全体を支えるソフトウェアを提供しています。
問題が発生したとき、AIエージェントはステージング環境で通常の作業を実行していました。しかし認証情報の不一致に遭遇すると、JER氏に確認することなく自己判断でRailway上のボリュームを削除することを決定しました。
エージェントは、作業とは無関係のファイルからRailwayのAPIトークンを発見し、それを使用してGraphQL APIのvolumeDeleteを実行しました。本来このトークンはカスタムドメインの追加や削除を目的に作成されたものでしたが、実際には本番ボリュームを削除できるほど広い権限を保有していました。
削除操作には追加の確認画面や警告メッセージがなく、本番データベースのボリュームが削除されてしまいました。さらに深刻なことに、Railwayのボリューム単位のバックアップが同じボリューム内に保存されていたため、バックアップも同時に消失しました。復旧可能だった最新のバックアップは3カ月前のものだけだったとのこと。
JER氏がエージェントに理由を尋ねると、エージェントはステージング環境のみに影響すると推測して、確認なく破壊的操作を実行したことを認めました。また、ユーザーが明示的に求めていない破壊的・不可逆的な操作を実行してはいけないというルール違反も認識していたとのことです。
JER氏は、Cursorの安全機能が破壊的操作を防止できず、Railway側も1回のAPI呼び出しで本番ボリュームを削除できる設計になっていたと指摘しています。今回の問題は単なるAIの誤動作ではなく、システム設計の根本的な欠陥だと主張しています。加えて、トークンの権限を操作や環境ごとに制限できないこと、バックアップが元データと同じ障害範囲に置かれていたことも重大な問題だと述べています。
このインシデントはPocketOSの顧客にも大きな被害をもたらしました。レンタカー事業者は直近3カ月分の予約、新規顧客登録、業務に必要なデータを失いました。JER氏はStripeの決済履歴、カレンダー連携、メール確認などを駆使して、予約情報を手作業で復元することになったとのことです。
JER氏は、AIエージェントを本番インフラに接続する仕組みが拡大する一方で、安全設計が追いついていないことが今回の事故の本質だと指摘しています。
