OpenAI Codexエージェントがバージョン 0.144.0-alpha.4 のバグにより7万8000ドルの不正利用を発生させた
インシデントの概要
OpenAI Codexのタスクが826個の並列サブエージェントを起動し、約2,146兆トークンを消費、ユーザーの承認なしに約7万8000米ドルのコストが発生しました。 この挙動はCodexクライアントバージョン 0.144.0-alpha.4 のバグに起因しており、大量のトークンを消費する子タスクが作成されたものの、UIや請求ダッシュボードには報告されませんでした。
不正実行の技術的詳細
- ルートタスク: ID
019f4b90-4169-7201-bfdd-732940d8631e、モデルGPT-5.5(Medium 推論)。 - 子タスク: 826個の個別のレコード。それぞれに新しいIDが割り当てられ、
GPT-5.6 Sol / Ultra(より高い推論レベル)にアップグレードされました。 - 大量消費のサブセット: そのうち104個の子タスクは元のプロンプトを複製しており、
agent_roleやagent_pathが欠落していました。これらだけで約1,479億のローカルトークンカウンターを占めていました。 - トークン分布:
- クライアントビルド
0.144.0-alpha.4下: 584個の子タスク、約1,543.6億ローカルトークン(1タスクあたり約2億6430万トークン)。 - クライアントビルド
0.144.2下: 242個の子タスク、約75.1億ローカルトークン(1タスクあたり約3100万トークン)。 - 平均トークン量が8.5倍に増加していることはアルファビルドと相関しており、トークン使用量を膨らませ、余分なエージェントを生成する深刻なバグを示唆しています。
- クライアントビルド
- 請求への影響: ユーザーが再構築したOpenAIの請求書によると、自動リロードとクレジットを含め、合計 7万9664.88ドル の支払い済み請求書が162件確認されました。OpenAIの公式請求元帳では、これらの内部カウンターに対する正確なトークン対ドルのマッピングは公開されていません。
- データ損失: 生のロールアウトログのほとんどはユーザーのマシンから削除されており、詳細な実行履歴のない約2,550件のレガシースレッドのメタデータのみが残っていました。
なぜ既存の制御が機能しなかったのか
- 支出上限なし: ユーザーはOpenAIアカウントに厳しい支出制限を設定していなかったため、暴走した使用量がチェックされずに継続されました。
- アラートの欠如: OpenAIの通常の大規模支出スパイクに対するメールアラートがトリガーされませんでした。これは、アラートパイプラインの障害か、あるいは使用量が公開請求システムにリンクされていない内部カウンターにのみ記録されていたことを示唆しています。
- クライアント側のバグ: アルファクライアントバージョンが自律的に子タスクを生成し、トークンカウンターを膨らませたため、クライアント側のコスト可視化UIを回避してしまいました。
「ユーザーは明らかに、いかなるレベルでも支出保護を有効にしていませんでした。OpenAIや銀行の制御が機能せず、通常送信されるはずのアラートメールすら送られなかったというのは理解しがたいことです。」 – OutOfHere (HNコメント)
コミュニティの反応と洞察
- 支出上限に関する疑問: 複数のコメント投稿者が、OpenAIがアカウントレベルの上限を提供しているのか、なぜそれが設定されていなかったのかを問いかけました。
- 懐疑論: 一部のユーザーは、この主張を恐怖を煽るものや投票操作の可能性があるとして疑念を表明しました。
- 類似のバグの観察: あるコメント投稿者は、Claudeでも同様のサブエージェントの爆発を報告し、ハードキャップだけでは不十分であり、可観測性ツール(例: AgentCost, Langfuse)が必要であると指摘しました。
- ログの呼びかけ: 元の投稿者は、他のCodexユーザーに対し、このパターンを確認するためにバージョン 0.144.0-alpha.4 のログを共有するよう呼びかけました。
実務者への推奨事項
- すべてのOpenAIアカウントで、特に実験的なクライアントビルドを使用する場合は、厳格な支出制限を有効にすること。
- ローカルカウンターに頼らず、サーバー側のツールでトークン使用量を監視すること(ローカルカウンターは削除や破損の可能性があるため)。
- 安定したクライアントリリースを優先すること。本番環境のワークロードにはアルファ版やプレリリース版を避けること。
- タスクごとのトークン数とコストをリアルタイムで表示する可観測性プラットフォーム(例: Langfuse, AgentCost)を統合すること。
- OpenAIの監査ログを使用するか、リクエスト/レスポンスデータを書き込み専用ストレージにエクスポートするなどして、API呼び出しの不変ログを保持すること。
OpenAIの回答
ユーザーはサポートケース #15189838 を開設し、技術的な証拠を提出しました。OpenAIの回答は「クレジットが消費された」という一般的な声明にとどまり、暴走したタスクの詳細な再構築は提供されませんでした。
結論
このインシデントは、アルファ版Codexリリースのクライアント側のバグが、支出上限がない場合に、いかに制御不能なサブエージェントの作成、大量のトークン消費、そして重大な経済的損失を引き起こす可能性があるかを示しています。堅牢なコスト管理、安定したソフトウェアリリース、そしてサーバー側の可観測性は、同様のAIの暴走に対する不可欠な保護手段です。
Sources
関連
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch