2 ポイント 投稿者 GN⁺ 2024-03-29 | 1件のコメント | WhatsAppで共有
  • Doom Captchaは、一般的なCAPTCHAをDOOM風ミニゲームに置き換える遊び目的のプロジェクトで、セキュリティ目的というより笑いと体験に焦点を当てている
  • HTMLフォームに組み込んで使うデモ形式で、メール入力とUnsubscribeボタンがあるサンプルコードで動作の仕組みを示している
  • 設定はcountdownlabelenemiesとシンプルで、enemiesのデフォルト値はCAPTCHA完了に必要な敵の撃破数4
  • デスクトップモードではiddqdでCAPTCHAを完了し、idkfasuper shotgunをアンロックするイースターエッグがある
  • ソースコードはGitHubで公開されており、Product Huntでの成果やJohn Carmackの「いいね」も相まって、遊び心のある開発プロジェクトとして注目を集めた

DOOMに置き換えたCAPTCHA体験

  • Doom Captchaは、退屈なCAPTCHAの代わりにDOOM風の小さなゲームをプレイさせるデモプロジェクト
  • プロジェクトには、あまり真剣に受け取らないでほしいという但し書きがあり、コーディングを知っていればセキュリティを破るのは簡単だと案内している
  • 使用例は一般的なHTMLフォーム構造で提供されている
    • action="success.html"<form>内にメール入力フィールドがある
    • ボタンのテキストはUnsubscribe

設定値とイースターエッグ

  • 対応するParameters
    • countdown: on / off
    • label: 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件のコメント

 
GN⁺ 2024-03-29
Hacker News のコメント
  • 残念ながら、ちょうど今週、誰かが Mistral-7B 大規模言語モデルをファインチューニングして DOOM をプレイさせていた :P
    https://news.ycombinator.com/item?id=39813174

    • 「プレイ」の基準はかなり低く見積もる必要がありそう。リアルタイムの負荷なしにデモファイルを録画して再生させていたら、もっと印象的だったかもしれない。
      今のところ前進/後退、回転、発射しかできず、壁にぶつかったら反対側を向く、という程度しか分かっていない状態なので、基本的な Doom ボットにもかなり及ばず、プレイしていると呼ぶのは慎重になる。
      ASCII の中間表現も不要で制約が大きく見えるが、リアルタイムに近く保とうとした選択なのかもしれない。見たところ 1 FPS 程度のようだ。
      なぜ Mac で動かしているのかも疑問。もっと高速に計算できる GPU 搭載の強い PC を使えばいいのではと思う。
      それでも面白い挑戦に見えるし、追加のファインチューニングや学習でさらに良くなるかもしれない。
    • 「生きたマウスのニューロンを培養して……DOOM をプレイ?」を思い出した。
      https://www.youtube.com/watch?v=bEXefdbQDjw
    • App Store に配布できる面白いボットプレイのアイデアとして、GPL ではないオープンソースゲームをプレイするようファインチューニングされたモデルがあるのか気になる。
    • これがいったいどうやって学習データに入ったのか気になる。
  • 本当に気に入った。変わったキャプチャはいい。
    これも思い出した: http://random.irb.hr/signup.php

    • 個人ブログのコメント欄に、微積分の問題でキャプチャを作ったことがある。ところが卒業から5年後には自分でも解き方を思い出せなくなって、変更した :-/
    • 実際、多くは必要ない。スパムが来ていたフォームに、ただ「ここに 42 と書いてください」を追加したら、実際に読んでいる人は入力でき、スパムは 0 になった。
      もう少し有名なサイトなら十分ではないだろうが、悪意を持って狙われていないインターネットの小さな片隅では、「すべてのフォームを埋める」式のファジングスパムを防ぐには十分だった。
    • 出された問題は驚くほど単純だった。「多項式 p(x) = (x+5)(x-4)(x+1) の最小の実根を求めよ」というようなものだった。
      やる気のある攻撃者なら、Tesseract でざっくり認識して GPT-3.5 に投げる形で、こうした問題の答えをすばやく得られる。
      LLM の実行は安くもスケールしやすくもないので、その意味ではキャプチャが役割を果たしていると言えるかもしれない。だが、もっと難しい問題を出すと、かなりの人間ユーザーも弾き始める。
      他の回答を見ると、現時点の難易度でもすでに多くの人間ユーザーを阻んでいる一方で、先ほど述べた構成を持つ攻撃者は簡単に通過できる状態に見える。
    • 昔の、今は消えたファンサイトでは、世界観の知識問題をキャプチャにしていた記憶がある。ただ、LLM なら答えられそうだ。
    • 視覚障害がある場合、音声通話でプレイできるのかな?
  • ピストルで cacodemon を攻撃しようとしたのに通してくれた。
    Doom は移植性であまりに有名なので、実際にブラウザで Doom を実行して簡単なマップをクリアする方式なのだと思っていた。

  • まだ誰かが Mona Lisa Captcha を作ってくれるのを待っている: https://www.youtube.com/watch?v=WqnXp6Saa8Y

  • 最高に素晴らしい。
    ただし垂直軸の自動照準が抜けている。照準点が敵の下にあっても当てられるはず。
    ともあれ、よくできている!

    • 友人たちに DOOM を紹介しようとするたびに、「上にはどうやって狙うの?」が最大の障壁だった。
      Halo や Call of Duty をやって育った十代に広めようとするときなら理解できるが、90年代後半には同年代の友人たちからもこうした障壁が見え始めていた。
    • 本物の Doom プレイヤーがここにいる!
  • なぜ実際の Doom ではないのか気になる。選べる JavaScript の Doom 実装はいくつもあるはずなのに。

    • 「UV Hangar を13秒以内にクリアしてください。」
      簡単に達成可能[0]だが、徹底的に面倒[1]。すべてのキャプチャがそうであるように。
      [0] タッチスクリーンなら神のご加護が必要。
      [1] ほとんどの人にとって。特に目新しさが消えた後はなおさら。
    • 最後に知っている限り、Doom はまだ著作権保護下にある。ソースは GPL だが、アセットが自由ライセンスで公開されたことはあっただろうか? ほとんど放置された著作物に近いように思う。
      それでもできはするだろうが、共有するプロジェクトなら個人的には著作権を厳格に守りたい。でなければ、著作権絡みの雑音がついて回る感じがして落ち着かない。
    • そうだね、ちょっと拍子抜けした。
  • Doom を完全な3D 実装で作ってみるとよさそう。JavaScript で少なくとも何十回も移植されていそうだ。

    • そこで止まる理由がある? 実際のゲームの WebAssembly ポートを使って、どこかに実サイトへつながるポータルをハックして入れればいい :P
  • 作業が終わるのを待っている間、ユーザーが Doom をプレイできる進行状況ウィンドウがあるといい。

  • 今度は Men In Black モードが欲しくなった。ポップアップが提示する脅威を識別し、それに応じて撃つ形式。
    懸垂しているエイリアン? 問題なし。暗い路地で量子物理学の本を持った8歳の女の子? 怪しい……。

    • 最近その映画を見直したが、その判断は間違っていない。見た目には8歳の女の子が持っているには本当に奇妙な本だ。
      そのうえ映画全体を通じて、人間のように見えるエイリアンはかなり多い。
  • WoW の釣りミニゲームベースでも作れるかな? 適切な瞬間に浮きをクリックしなければならない方式。
    より長持ちするとは期待していないが、このくらいならかなり優秀な釣りボットもありそうだ。