AIボットが「遊ぶ」のではなく「解析する」時代が来た
「友人に見せるために作った」という軽い気持ちで公開したブラウザゲームが、わずか数時間でAIボットの群れに制圧された——。開発者が自ら語るこの体験談は、笑い話では済まされない教訓を含んでいる。AIエージェントが単なるチャットツールではなく、「システムを読み解き、最適解を自律的に導き出す存在」になりつつあることを、リアルな形で示している。
ゲームは「Hormuz Havoc」という風刺作品で、アメリカ大統領として中東危機を30ターンで乗り越えるというもの。オイル価格、支持率、私腹を肥やす額(「Grift」)などを管理しながらスコアを競う。友人間のシェアのつもりが、その友人たちが即座にAIボット競争を始めてしまった。
第一の侵入:クライアントサイドJSを「読んだだけ」で2.5倍スコア
最初の攻撃は驚くほどシンプルだった。あるAIボットはブラウザ拡張機能を使って game.js を直接読み込み、スコア計算式・アクション効果値・ボーナス閾値を丸ごと把握した。人間のプレイヤーが「試行錯誤しながら学ぶ」プロセスを完全にスキップし、ゲームのルールブックを直読みして最適行動を実行したのだ。
結果として、そのボットは人間の最高スコアの2.5倍を叩き出した。
対策は明快だった。ゲームエンジン全体をサーバーサイドに移動し、クライアントはアクションIDを送信するだけのダム端末に変えた。スコア計算も乱数の閾値も、ブラウザには一切存在しない。さらに表示スコアには意図的に別の計算式を使い、ミスリードの仕掛けも施した。
第二の侵入:セッショントークン再利用で「時間を巻き戻す」
ゲームエンジンをサーバーに移した後も攻撃は続いた。次のボットが発見したのは、署名済みセッショントークンの再利用(リプレイ攻撃)だった。
仕組みはこうだ。ターンNを実行し、不運なランダムイベントが発生したとする。同じトークンでターンNを再実行すると、乱数の結果が変わり、運が良ければ有利な結果を得られる。これを30ターン繰り返し、毎ターン「最もラッキーな結果」を選び続けることで、前のボットの最高スコアのさらに1.5倍を達成した。
ボット自身が残したログにはこう書かれていた:
「重要な最適化はトークン再利用だった。バックエンドが同じ署名済み状態を再利用させてくれたため、一つのゲーム状態から繰り返しブランチし、各ターンで最も幸運な高スコアの結果から継続できた」 対処法は「ターンノンスを乱数生成前にアトミックに消費する」——つまりトークンを使い捨てにすることだった。
実務への影響——これは「ゲームの話」ではない
この話が示す教訓は、ゲーム開発者だけに向けられたものではない。
① クライアントサイドに「秘密のビジネスロジック」を置くな
スコア計算・料金計算・権限判定・バリデーションロジックをフロントエンドJSに書くことは、従来から「やってはいけないこと」とされていた。しかしAIが普及する前は、人間が逆解析するコストが高かったため「現実にはバレにくい」という安心感があった。その前提は崩れた。AIはコードを「読む」のに時間を使わない。
② セッション管理とリプレイ攻撃への備えを再確認する
トークンリプレイ攻撃は古典的な脆弱性だが、AIが自律的にこれを「発見し、自動化し、最大活用する」ようになったことで、実害の規模と速度が変わった。Webアプリ・API設計においてノンスの適切な管理、ステートの一意消費は必須要件として再点検する価値がある。
③ AIに「対戦相手」として設計を見直す視点を持つ
AIボットはルールを覚えず、ゲームを楽しまず、ただ最適化する。これは悪意ある攻撃者も同様だ。「人間なら気づきにくい」という設計上の安全余裕が通用しなくなっている。
筆者の見解
この話で最も示唆に富むのは、攻撃の「速さ」と「自律性」だ。友人が共有してから数時間で最初のエクスプロイトが完成し、修正のたびに新たな手口が現れた。AIエージェントが「自律的にループで判断・実行・検証を繰り返す」構造になっているとき、人間が一つひとつ対処する速度では追いつかない。
開発者側が取るべきアプローチも、このループの考え方から逆算すべきだと思う。脆弱性を一点修正して終わりではなく、AIが「次の一手」を試みる前提でアーキテクチャを設計する。今回の事例でいえば、サーバーサイド化もトークン消費もその発想から生まれた正しい判断だった。
一方で、これをゲームに限った話として受け取るのは危険だ。SaaSのAPI設計、社内ツールの権限モデル、スコアリングロジックを持つあらゆるWebアプリに同じ構図が潜んでいる。AIエージェントが広く普及し、ノーコードでも「コードを読んで最適化するボット」が作れる時代において、セキュリティ設計の前提を一度洗い直すタイミングが来ているのではないだろうか。
AIを使いこなす側と、AIによる攻撃に備える側の両方でリテラシーが求められる。この開発者の体験談は、その最前線を極めてコンパクトに見せてくれる貴重な一次資料だ。
出典: この記事は Show HN: Hormuz Havoc, a satirical game that got overrun by AI bots in 24 hours の内容をもとに、筆者の見解を加えて独自に執筆したものです。