Doom Captcha (2021)
(vivirenremoto.github.io)- Doom Captcha est un projet ludique qui transforme un CAPTCHA classique en mini-jeu de style DOOM, avec un objectif davantage axé sur l’humour et l’expérience que sur la sécurité
- Il se présente sous forme de démo à intégrer à un formulaire HTML, avec un exemple comprenant un champ e-mail et un bouton Unsubscribe pour montrer son fonctionnement
- La configuration est simple, avec
countdown,labeletenemies, et la valeur par défaut deenemiesest de 4 ennemis à éliminer pour valider le CAPTCHA - En mode bureau, il existe des easter eggs :
iddqdpermet de valider le CAPTCHA, etidkfadébloque le super shotgun - Le code source est publié sur GitHub, et le projet a attiré l’attention comme réalisation de développement décalée, avec ses performances sur Product Hunt et même un like de John Carmack
Une expérience CAPTCHA transformée en DOOM
- Doom Captcha est un projet de démonstration qui remplace les CAPTCHA ennuyeux par un petit jeu dans le style de DOOM
- Le projet précise qu’il ne faut pas le prendre trop au sérieux et indique que, si l’on sait coder, il est facile d’en contourner la sécurité
- Un exemple d’utilisation est fourni sous la forme d’un formulaire HTML classique
- dans un
<form>avecaction="success.html", on trouve un champ de saisie d’e-mail - le texte du bouton est
Unsubscribe
- dans un
Paramètres et easter eggs
- Parameters pris en charge
countdown:on/offlabel: texte affiché avant le CAPTCHA, qui peut être laissé videenemies: nombre d’ennemis à tuer pour terminer le CAPTCHA, avec4comme valeur par défaut- dernière mise à jour :
30/05/2021
- Easter eggs pouvant être saisis après avoir cliqué sur démarrer en mode bureau
iddqd: valide le CAPTCHAidkfa: débloque le super shotgun
Code public et réactions
- Le code source est disponible sur GitHub, avec possibilité de contribuer via pull request ou de le fork
- Doom Captcha est devenu le TOP 1 Product of the Day sur Product Hunt
- l’idée est venue un vendredi, la première version a été développée le samedi matin, publiée le soir même, puis mise en ligne le dimanche
- mise à jour du 2021-05-26 : le créateur de Doom, John Carmack, a mis un like
1 commentaires
Commentaires sur Hacker News
Dommage, justement cette semaine quelqu’un a fine-tuné le grand modèle de langage Mistral-7B pour lui faire jouer à DOOM :P
https://news.ycombinator.com/item?id=39813174
Pour l’instant, il ne peut qu’avancer/reculer, tourner et tirer, et sait seulement se retourner quand il heurte un mur ; il est donc très loin même d’un bot Doom basique, ce qui rend délicat de dire qu’il joue.
La représentation intermédiaire en ASCII semble aussi inutile et très contraignante, mais c’est peut-être un choix pour rester proche du temps réel. À vue d’œil, on dirait environ 1 FPS.
Je me demande aussi pourquoi ça tourne sur Mac. On pourrait simplement utiliser un gros PC avec GPU pour calculer plus vite.
Cela dit, ça ressemble à un défi amusant, et ça pourrait s’améliorer avec davantage de fine-tuning ou d’entraînement.
https://www.youtube.com/watch?v=bEXefdbQDjw
J’adore vraiment. Les captchas atypiques, c’est bien.
Ça m’a aussi fait penser à ceci : http://random.irb.hr/signup.php
Pour un site un peu plus connu, ça ne suffirait pas, mais dans un petit coin d’Internet qui n’est pas ciblé malicieusement, c’était suffisant pour bloquer le spam par fuzzing du type « remplir tous les formulaires ».
Un attaquant motivé pourrait rapidement obtenir la bonne réponse à ce genre de problème en faisant une reconnaissance approximative avec Tesseract puis en l’envoyant à GPT-3.5.
Faire tourner un LLM n’est ni bon marché ni très scalable ; dans ce sens, le captcha pourrait remplir son rôle. Mais si l’on pose des questions plus difficiles, on commence aussi à filtrer un nombre important d’utilisateurs humains.
À lire les autres réponses, même au niveau de difficulté actuel, il semble déjà bloquer beaucoup d’utilisateurs humains, tout en restant facile à passer pour un attaquant équipé comme décrit plus haut.
J’ai essayé d’attaquer un cacodemon au pistolet, et il m’a quand même laissé passer.
Doom est tellement célèbre pour sa portabilité que je pensais que ça allait vraiment lancer Doom dans le navigateur et demander de terminer une petite carte.
J’attends toujours que quelqu’un crée un Mona Lisa Captcha : https://www.youtube.com/watch?v=WqnXp6Saa8Y
Absolument excellent.
Il manque toutefois la visée automatique sur l’axe vertical. Même si le réticule est sous l’ennemi, on devrait pouvoir le toucher.
Quoi qu’il en soit, c’est bien réalisé !
Je comprends quand j’essaie de le faire adopter à des ados qui ont grandi avec Halo et Call of Duty, mais j’ai commencé à voir ce blocage aussi chez des amis du même âge à la fin des années 90.
Je me demande pourquoi ce n’est pas le vrai Doom. Il doit bien y avoir plusieurs implémentations JavaScript de Doom au choix.
Facilement faisable[0], mais profondément agaçant[1]. Comme tous les captchas.
[0] Sur écran tactile, il vous faudra la grâce divine.
[1] Pour la plupart des gens. Surtout une fois l’effet de nouveauté passé.
On pourrait quand même le faire, mais pour un projet destiné à être partagé, j’essaie personnellement de respecter strictement le droit d’auteur. Sinon, je n’aime pas l’impression d’avoir des problèmes de copyright qui traînent autour.
Ce serait bien de faire Doom sous forme d’implémentation 3D complète. Il a sûrement été porté au moins des dizaines de fois en JavaScript.
Ce serait bien d’avoir une fenêtre de progression où l’utilisateur peut jouer à Doom en attendant la fin de l’opération.
Maintenant, j’ai envie d’un mode Men In Black. Il faudrait identifier la menace affichée par la popup et tirer dessus en conséquence.
Un alien qui fait des tractions ? Pas de problème. Une fillette de 8 ans avec un livre de physique quantique dans une ruelle sombre ? Suspect...
En plus, dans l’ensemble des films, il y a pas mal d’extraterrestres qui ressemblent à des humains.
Peut-on aussi en faire un basé sur le mini-jeu de pêche de WoW ? Le principe serait de cliquer sur le bouchon au bon moment.
Je ne m’attends pas à ce que ça tienne plus longtemps, mais à ce stade il doit bien déjà exister de très bons bots de pêche.