Doom Captcha(2021)
(vivirenremoto.github.io)- Doom Captchaは、一般的なCAPTCHAをDOOM風ミニゲームに置き換える遊び目的のプロジェクトで、セキュリティ目的というより笑いと体験に焦点を当てている
- HTMLフォームに組み込んで使うデモ形式で、メール入力とUnsubscribeボタンがあるサンプルコードで動作の仕組みを示している
- 設定は
countdown、label、enemiesとシンプルで、enemiesのデフォルト値はCAPTCHA完了に必要な敵の撃破数4 - デスクトップモードでは
iddqdでCAPTCHAを完了し、idkfaでsuper shotgunをアンロックするイースターエッグがある - ソースコードはGitHubで公開されており、Product Huntでの成果やJohn Carmackの「いいね」も相まって、遊び心のある開発プロジェクトとして注目を集めた
DOOMに置き換えたCAPTCHA体験
- Doom Captchaは、退屈なCAPTCHAの代わりにDOOM風の小さなゲームをプレイさせるデモプロジェクト
- プロジェクトには、あまり真剣に受け取らないでほしいという但し書きがあり、コーディングを知っていればセキュリティを破るのは簡単だと案内している
- 使用例は一般的なHTMLフォーム構造で提供されている
action="success.html"の<form>内にメール入力フィールドがある- ボタンのテキストは
Unsubscribe
設定値とイースターエッグ
- 対応するParameters
countdown:on/offlabel: CAPTCHAの前に表示するテキストで、空にすることもできるenemies: CAPTCHA完了のために倒す必要がある敵の数で、デフォルト値は4- 最終更新は
30/05/2021
- デスクトップモードで開始をクリックした後に入力できるEaster eggs
iddqd: CAPTCHA完了idkfa: super shotgunのアンロック
公開コードと反応
- ソースコードはGitHubで公開されており、pull requestでの貢献やforkが可能
- Doom CaptchaはProduct HuntでTOP 1 Product of the Dayになった
- アイデアは金曜日に思いつき、最初のバージョンは土曜日の朝に開発され、その日の夜に公開、日曜日にライブになった
- 2021-05-26の更新で、Doomの制作者John Carmackが「いいね」した
1件のコメント
Hacker News のコメント
残念ながら、ちょうど今週、誰かが Mistral-7B 大規模言語モデルをファインチューニングして DOOM をプレイさせていた :P
https://news.ycombinator.com/item?id=39813174
今のところ前進/後退、回転、発射しかできず、壁にぶつかったら反対側を向く、という程度しか分かっていない状態なので、基本的な Doom ボットにもかなり及ばず、プレイしていると呼ぶのは慎重になる。
ASCII の中間表現も不要で制約が大きく見えるが、リアルタイムに近く保とうとした選択なのかもしれない。見たところ 1 FPS 程度のようだ。
なぜ Mac で動かしているのかも疑問。もっと高速に計算できる GPU 搭載の強い PC を使えばいいのではと思う。
それでも面白い挑戦に見えるし、追加のファインチューニングや学習でさらに良くなるかもしれない。
https://www.youtube.com/watch?v=bEXefdbQDjw
本当に気に入った。変わったキャプチャはいい。
これも思い出した: http://random.irb.hr/signup.php
もう少し有名なサイトなら十分ではないだろうが、悪意を持って狙われていないインターネットの小さな片隅では、「すべてのフォームを埋める」式のファジングスパムを防ぐには十分だった。
やる気のある攻撃者なら、Tesseract でざっくり認識して GPT-3.5 に投げる形で、こうした問題の答えをすばやく得られる。
LLM の実行は安くもスケールしやすくもないので、その意味ではキャプチャが役割を果たしていると言えるかもしれない。だが、もっと難しい問題を出すと、かなりの人間ユーザーも弾き始める。
他の回答を見ると、現時点の難易度でもすでに多くの人間ユーザーを阻んでいる一方で、先ほど述べた構成を持つ攻撃者は簡単に通過できる状態に見える。
ピストルで cacodemon を攻撃しようとしたのに通してくれた。
Doom は移植性であまりに有名なので、実際にブラウザで Doom を実行して簡単なマップをクリアする方式なのだと思っていた。
まだ誰かが Mona Lisa Captcha を作ってくれるのを待っている: https://www.youtube.com/watch?v=WqnXp6Saa8Y
最高に素晴らしい。
ただし垂直軸の自動照準が抜けている。照準点が敵の下にあっても当てられるはず。
ともあれ、よくできている!
Halo や Call of Duty をやって育った十代に広めようとするときなら理解できるが、90年代後半には同年代の友人たちからもこうした障壁が見え始めていた。
なぜ実際の Doom ではないのか気になる。選べる JavaScript の Doom 実装はいくつもあるはずなのに。
簡単に達成可能[0]だが、徹底的に面倒[1]。すべてのキャプチャがそうであるように。
[0] タッチスクリーンなら神のご加護が必要。
[1] ほとんどの人にとって。特に目新しさが消えた後はなおさら。
それでもできはするだろうが、共有するプロジェクトなら個人的には著作権を厳格に守りたい。でなければ、著作権絡みの雑音がついて回る感じがして落ち着かない。
Doom を完全な3D 実装で作ってみるとよさそう。JavaScript で少なくとも何十回も移植されていそうだ。
作業が終わるのを待っている間、ユーザーが Doom をプレイできる進行状況ウィンドウがあるといい。
今度は Men In Black モードが欲しくなった。ポップアップが提示する脅威を識別し、それに応じて撃つ形式。
懸垂しているエイリアン? 問題なし。暗い路地で量子物理学の本を持った8歳の女の子? 怪しい……。
そのうえ映画全体を通じて、人間のように見えるエイリアンはかなり多い。
WoW の釣りミニゲームベースでも作れるかな? 適切な瞬間に浮きをクリックしなければならない方式。
より長持ちするとは期待していないが、このくらいならかなり優秀な釣りボットもありそうだ。