イギリスのマンチェスターに住む16歳の少年が、Valveの開発サイトの欠陥を悪用し、ペンキが乾くのを見るという未承認のゲームをSteamで公開した。
サルフォード大学でコンピュータサイエンスを学ぶルビー・ニーロンさんは、Steamworksのウェブサイトでの一連のプログラミングミスのおかげで、彼のロールプレイングゲーム「Watch Paint Dry」がValveの検閲をすり抜け、許可なくゲームストアSteamにこっそりと掲載できたと語った。
「日曜日にSteamストアに『Watch Paint Dry』というゲームが投稿されましたが、Valveの誰からもレビューを受けていません」とニーロン氏はEl Regに語った。「脆弱性に関する複数の報告がValveによって無視された後、私はこのゲームを公開しました。」
ニーロンはまず、Valveの開発プラットフォームであるSteamworksのアカウントを偽装し、ゲーム内トレーディングカードの基本的なデザインを作成しました。次に、Valveのサーバーに送信するHTMLフォームデータを操作し、システムがValveのエディターによって承認されたと認識するように仕向けました。つまり、フォーム要素内のユーザーIDを自分のものからValve社員のものに変更し、承認状態を「受理済み」に変更して送信したのです。なんと、見事に成功しました。
その後、承認されたカードに関連付けられたセッションIDをゲームパッケージのセッションIDとして使用しました。これにより、システムはゲームが承認されたと誤認し、日曜日にSteamストアにゲームを公開することができました。
それでもデューク・ヌケム・フォーエバーよりはいい
「この仕事を通じて確実に学んだことは、最初に承認が必要なユーザー生成コンテンツを扱う際、コンテンツの存在状態として『レビュー準備完了』と『レビュー済み』の2つを用意してはいけないということです」と、14歳で大学に入学し、フリーランスでウェブ開発者としても活動するニーロン氏は語る。
代わりに、各コンテンツに「レビューチケット」などを作成し、コンテンツのレビューチケットが作成されるまではリリース済み状態に切り替えないようにすることで、アイテムのレビューに監査証跡を残すアプローチを採用するとよいでしょう。あるいは、ユーザーがアイテムを「リリース済み」に設定できないようにするなどです。
残念ながら、『Watch Paint Dry』は短期間しかプレイできず、『Desert Bus』や『Advanced Lawnmower Simulator』など他の象徴的な退屈なゲームタイトルとともに退屈なゲームの殿堂に加わる前に、Steam から削除されました。
明るい面としては、Valve が火曜日にThe Register に対して脆弱性を修正したと語ったように、誰もがより安全にゲームを楽しめるようになったことです。®