2 Punkte von GN⁺ 2024-03-29 | 1 Kommentare | Auf WhatsApp teilen
  • Doom Captcha ist ein Spaßprojekt, das normale CAPTCHAs in ein Minispiel im DOOM-Stil verwandelt und sich eher auf Humor und Erlebnis als auf Sicherheit konzentriert
  • Es handelt sich um eine Demo, die sich an HTML-Formulare anhängen lässt, und zeigt die Funktionsweise mit Beispielcode samt E-Mail-Eingabe und Unsubscribe-Button
  • Die Konfiguration ist mit countdown, label und enemies einfach gehalten; der Standardwert für enemies ist 4 besiegte Gegner, die zum Abschließen des CAPTCHA nötig sind
  • Im Desktop-Modus gibt es Easter Eggs: Mit iddqd wird das CAPTCHA abgeschlossen, mit idkfa die super shotgun freigeschaltet
  • Der Quellcode ist auf GitHub veröffentlicht; zusammen mit dem Erfolg auf Product Hunt und einem Like von John Carmack bekam das Projekt als verspieltes Entwicklerprojekt Aufmerksamkeit

Ein CAPTCHA-Erlebnis im DOOM-Stil

  • Doom Captcha ist ein Demo-Projekt, das Nutzer statt eines langweiligen CAPTCHA ein kleines Spiel im DOOM-Stil spielen lässt
  • Das Projekt weist darauf hin, dass man es nicht zu ernst nehmen soll, und erklärt, dass man die Sicherheit leicht umgehen kann, wenn man programmieren kann
  • Ein Nutzungsbeispiel wird als gewöhnliche HTML-Formularstruktur bereitgestellt
    • Im <form> mit action="success.html" befindet sich ein Eingabefeld für die E-Mail-Adresse
    • Der Button-Text lautet Unsubscribe

Konfigurationswerte und Easter Eggs

  • Unterstützte Parameters
    • countdown: on / off
    • label: Text, der vor dem CAPTCHA angezeigt wird und leer bleiben kann
    • enemies: Anzahl der Gegner, die zum Abschließen des CAPTCHA getötet werden müssen; Standardwert ist 4
    • Letztes Update: 30/05/2021
  • Easter eggs, die im Desktop-Modus nach dem Klick auf Start eingegeben werden können
    • iddqd: CAPTCHA abschließen
    • idkfa: super shotgun freischalten

Offener Quellcode und Reaktionen

  • Der Quellcode ist auf GitHub veröffentlicht; Beiträge per Pull Request oder Fork sind möglich
  • Doom Captcha wurde auf Product Hunt zum TOP 1 Product of the Day
    • Die Idee entstand am Freitag, die erste Version wurde am Samstagmorgen entwickelt, in derselben Nacht veröffentlicht und ging am Sonntag live
    • Mit dem Update vom 2021-05-26 klickte der Doom-Schöpfer John Carmack auf „Gefällt mir“

1 Kommentare

 
GN⁺ 2024-03-29
Meinungen auf Hacker News
  • Leider hat erst diese Woche jemand das große Sprachmodell Mistral-7B feinabgestimmt, damit es DOOM spielt :P
    https://news.ycombinator.com/item?id=39813174

    • Man muss den Maßstab für „spielen“ wohl sehr niedrig ansetzen. Es wäre vielleicht beeindruckender gewesen, wenn man ohne Echtzeitdruck eine Demo-Datei hätte aufnehmen und wiedergeben lassen
      Aktuell kann es nur vorwärts/rückwärts gehen, sich drehen und schießen, und es weiß gerade mal, dass es bei einem Zusammenstoß mit einer Wand in die andere Richtung schauen soll. Damit bleibt es weit hinter einem einfachen Doom-Bot zurück, sodass ich vorsichtig wäre, das als Spielen zu bezeichnen
      Auch die ASCII-Zwischenrepräsentation wirkt unnötig und ziemlich einschränkend, könnte aber eine Entscheidung sein, um nahe an Echtzeit zu bleiben. Sieht nach etwa 1 FPS aus
      Ich frage mich auch, warum das auf einem Mac läuft. Man könnte doch einen stärkeren PC mit GPU nehmen, der schneller rechnen kann
      Trotzdem wirkt es wie eine interessante Herausforderung, und mit weiterem Fine-Tuning oder Training könnte es besser werden
    • Musste an „lebende Mausneuronen züchten, um ... DOOM zu spielen?“ denken
      https://www.youtube.com/watch?v=bEXefdbQDjw
    • Für die interessante Idee eines Bot-Players, den man im App Store veröffentlichen könnte, frage ich mich, ob es ein Modell gibt, das darauf feinabgestimmt wurde, ein Open-Source-Spiel, das nicht GPL ist, zu spielen
    • Ich frage mich, wie das überhaupt in die Trainingsdaten gelangen konnte
  • Gefällt mir wirklich. Ungewöhnliche Captchas sind gut
    Daran musste ich auch denken: http://random.irb.hr/signup.php

    • Ich hatte im Kommentarbereich meines privaten Blogs einmal ein Captcha mit Analysis-Aufgaben. Fünf Jahre nach dem Abschluss wusste ich dann aber selbst nicht mehr, wie man sie löst, und habe es geändert :-/
    • Eigentlich braucht es gar nicht viel. Bei einem Formular, das Spam bekam, habe ich einfach „Schreiben Sie hier 42 hinein“ hinzugefügt; echte Leser konnten es ausfüllen, und es gab 0 Spam
      Für eine etwas bekanntere Website wäre das nicht ausreichend, aber in einer kleinen Ecke des Internets, die nicht gezielt böswillig angegriffen wird, reichte es, um Fuzzing-Spam nach dem Muster „alle Formulare ausfüllen“ zu stoppen
    • Die Aufgabe, die ich bekommen habe, war überraschend simpel. So etwas wie: „Finden Sie die kleinste reelle Nullstelle des Polynoms p(x) = (x+5)(x-4)(x+1)“
      Ein entschlossener Angreifer könnte die Aufgabe grob mit Tesseract erkennen und an GPT-3.5 weitergeben, um schnell die richtige Antwort zu bekommen
      LLM-Ausführung ist weder billig noch gut skalierbar; in diesem Sinne könnte das Captcha also seinen Zweck erfüllen. Wenn man aber schwierigere Aufgaben stellt, filtert man auch viele menschliche Nutzer heraus
      Wenn man sich die anderen Antworten ansieht, scheint es schon beim aktuellen Schwierigkeitsgrad viele menschliche Nutzer zu blockieren, während Angreifer mit dem oben beschriebenen Setup leicht durchkommen
    • Ich erinnere mich, dass eine alte, inzwischen verschwundene Fanseite Lore-Wissensfragen als Captcha gestellt hat. Ein LLM könnte die allerdings vermutlich beantworten
    • Kann man es bei einer Sehbehinderung per Sprachanruf spielen?
  • Es hat mich durchgelassen, obwohl ich versucht habe, einen cacodemon mit der Pistole anzugreifen
    Doom ist so berühmt für seine Portierbarkeit, dass ich dachte, es würde tatsächlich Doom im Browser laufen und man eine einfache Map abschließen müssen

  • Ich warte immer noch darauf, dass jemand ein Mona-Lisa-Captcha baut: https://www.youtube.com/watch?v=WqnXp6Saa8Y

  • Absolut großartig
    Allerdings fehlt das Auto-Aiming auf der Vertikalachse. Selbst wenn das Fadenkreuz unter dem Gegner liegt, sollte man ihn treffen können
    Trotzdem gut gemacht!

    • Immer wenn ich Freunden DOOM vorstellen wollte, war „Wie ziele ich nach oben?“ die größte Hürde
      Bei Teenagern, die mit Halo und Call of Duty aufgewachsen sind, verstehe ich das, aber Ende der 90er begann ich diese Hürde auch bei gleichaltrigen Freunden zu sehen
    • Hier ist ein echter Doom-Spieler!
  • Ich frage mich, warum es nicht das echte Doom ist. Es müsste mehrere JavaScript-Doom-Implementierungen zur Auswahl geben

    • „Schließen Sie UV Hangar in unter 13 Sekunden ab.“
      Leicht machbar[0], aber gründlich nervig[1]. Wie alle Captchas
      [0] Bei einem Touchscreen braucht man Gottes Beistand
      [1] Für die meisten Menschen. Besonders, wenn der Neuheitseffekt weg ist
    • Soweit ich zuletzt wusste, steht Doom noch unter Urheberrechtsschutz. Der Sourcecode ist GPL, aber wurden die Assets jemals unter einer freien Lizenz veröffentlicht? Es wirkt fast wie ein verwaistes Werk
      Machbar wäre es trotzdem, aber bei einem Projekt, das ich teilen würde, würde ich persönlich das Urheberrecht strikt einhalten. Oder ich fände das Gefühl unangenehm, dass urheberrechtlicher Ärger daran hängt
    • Ja, das hat die Sache etwas enttäuschend gemacht
  • Es wäre schön, Doom als vollständige 3D-Implementierung zu bauen. Es wurde in JavaScript sicher mindestens Dutzende Male portiert

    • Warum dort aufhören? Man nimmt einen WebAssembly-Port des echten Spiels und hackt irgendwo ein Portal hinein, das zu einer echten Website führt :P
  • Es wäre gut, ein Fortschrittsfenster zu haben, in dem Nutzer Doom spielen können, während sie warten, bis ein Vorgang fertig ist

  • Jetzt will ich einen Men-in-Black-Modus. Man identifiziert die Bedrohung, die das Pop-up zeigt, und schießt entsprechend darauf
    Ein Alien, das Klimmzüge macht? In Ordnung. Ein achtjähriges Mädchen mit einem Quantenphysikbuch in einer dunklen Gasse? Verdächtig ...

    • Ich habe den Film kürzlich noch einmal gesehen, und die Einschätzung ist nicht falsch. Auf den ersten Blick ist das wirklich ein ziemlich seltsames Buch für ein achtjähriges Mädchen
      Außerdem gibt es in den Filmen ziemlich viele Aliens, die wie Menschen aussehen
  • Kann man das auch auf Basis des WoW-Angel-Minispiels machen? Also so, dass man im richtigen Moment auf den Schwimmer klicken muss
    Ich erwarte nicht, dass es länger durchhält, aber inzwischen dürfte es wohl ziemlich gute Angel-Bots geben