2 points par GN⁺ 2024-03-29 | 1 commentaires | Partager sur WhatsApp
  • 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, label et enemies, et la valeur par défaut de enemies est de 4 ennemis à éliminer pour valider le CAPTCHA
  • En mode bureau, il existe des easter eggs : iddqd permet de valider le CAPTCHA, et idkfa dé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> avec action="success.html", on trouve un champ de saisie d’e-mail
    • le texte du bouton est Unsubscribe

Paramètres et easter eggs

  • Parameters pris en charge
    • countdown : on / off
    • label : texte affiché avant le CAPTCHA, qui peut être laissé vide
    • enemies : nombre d’ennemis à tuer pour terminer le CAPTCHA, avec 4 comme 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 CAPTCHA
    • idkfa : 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

 
GN⁺ 2024-03-29
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

    • Il faut sans doute placer la barre très bas pour définir « jouer ». Cela aurait peut-être été plus impressionnant s’il lui avait fait enregistrer puis rejouer un fichier de démo, sans contrainte de temps réel.
      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.
    • Ça m’a rappelé « cultiver des neurones de souris vivants pour... jouer à DOOM ? »
      https://www.youtube.com/watch?v=bEXefdbQDjw
    • Pour une idée intéressante de bot jouable distribuable sur l’App Store, je me demande s’il existe un modèle fine-tuné pour jouer à un jeu open source non GPL.
    • Je me demande bien comment ça a pu se retrouver dans les données d’entraînement.
  • J’adore vraiment. Les captchas atypiques, c’est bien.
    Ça m’a aussi fait penser à ceci : http://random.irb.hr/signup.php

    • J’avais déjà mis un problème de calcul différentiel et intégral en guise de captcha dans les commentaires de mon blog perso. Mais cinq ans après mon diplôme, je ne me souvenais plus moi-même comment le résoudre, alors je l’ai remplacé :-/
    • En réalité, il n’en faut pas beaucoup. Sur un formulaire qui recevait du spam, j’ai simplement ajouté « écrivez 42 ici » ; les personnes qui lisaient vraiment pouvaient le remplir, et il y a eu zéro spam.
      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 ».
    • Le problème que j’ai reçu était étonnamment simple. C’était du genre : « trouvez la plus petite racine réelle du polynôme p(x) = (x+5)(x-4)(x+1) ».
      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.
    • Je me souviens qu’un ancien site de fans, aujourd’hui disparu, utilisait des questions de connaissance de l’univers comme captcha. Cela dit, un LLM saurait probablement y répondre.
    • Si l’on est malvoyant, peut-on y jouer par appel vocal ?
  • 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é !

    • Chaque fois que j’essaie de faire découvrir DOOM à des amis, « comment on vise vers le haut ? » est le plus gros obstacle.
      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.
    • Voilà un vrai joueur de Doom !
  • Je me demande pourquoi ce n’est pas le vrai Doom. Il doit bien y avoir plusieurs implémentations JavaScript de Doom au choix.

    • « Terminez UV Hangar en moins de 13 secondes. »
      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é.
    • Aux dernières nouvelles, Doom est toujours protégé par le droit d’auteur. Le code source est sous GPL, mais les assets ont-ils déjà été publiés sous licence libre ? On dirait presque une œuvre largement abandonnée.
      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.
    • Oui, c’est un peu décevant.
  • 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.

    • Pourquoi s’arrêter là ? Il suffit d’utiliser un port WebAssembly du vrai jeu, puis de hacker quelque part un portail menant au vrai site :P
  • 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...

    • J’ai revu ce film récemment, et ce jugement n’est pas faux. En apparence, c’est vraiment un livre étrange à tenir pour une fillette de 8 ans.
      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.