2 puntos por GN⁺ 2024-03-29 | 1 comentarios | Compartir por WhatsApp
  • Doom Captcha es un proyecto lúdico que convierte un CAPTCHA común en un minijuego al estilo DOOM, enfocado más en la risa y la experiencia que en la seguridad
  • Funciona como una demo para integrar en formularios HTML, y muestra su funcionamiento con código de ejemplo que incluye un campo de correo electrónico y un botón Unsubscribe
  • La configuración es simple: countdown, label y enemies; el valor predeterminado de enemies es 4, la cantidad de enemigos que hay que eliminar para completar el CAPTCHA
  • En modo de escritorio hay easter eggs: iddqd completa el CAPTCHA, e idkfa desbloquea la super shotgun
  • El código fuente está publicado en GitHub y, junto con su desempeño en Product Hunt y el “me gusta” de John Carmack, atrajo atención como un proyecto de desarrollo juguetón

Una experiencia CAPTCHA convertida en DOOM

  • Doom Captcha es un proyecto demo que, en lugar de un CAPTCHA aburrido, hace que juegues un pequeño juego al estilo DOOM
  • El proyecto incluye una advertencia de no tomárselo demasiado en serio e indica que, si sabes programar, es fácil romper la seguridad
  • El ejemplo de uso se ofrece con una estructura de formulario HTML común
    • Dentro de un <form> con action="success.html" hay un campo para ingresar el correo electrónico
    • El texto del botón es Unsubscribe

Valores de configuración y easter eggs

  • Parameters compatibles
    • countdown: on / off
    • label: texto que se muestra antes del CAPTCHA; puede quedar vacío
    • enemies: cantidad de enemigos que hay que matar para completar el CAPTCHA; el valor predeterminado es 4
    • Última actualización: 30/05/2021
  • Easter eggs que se pueden ingresar después de hacer clic en iniciar en modo de escritorio
    • iddqd: completa el CAPTCHA
    • idkfa: desbloquea la super shotgun

Código público y recepción

  • El código fuente está publicado en GitHub, y se pueden hacer contribuciones vía pull request o fork
  • Doom Captcha llegó a ser TOP 1 Product of the Day en Product Hunt
    • La idea surgió un viernes, la primera versión se desarrolló el sábado por la mañana, se publicó esa noche y salió en vivo el domingo
    • En una actualización del 2021-05-26, el creador de Doom, John Carmack, le dio “me gusta”

1 comentarios

 
GN⁺ 2024-03-29
Opiniones en Hacker News
  • Lamentablemente, justo esta semana alguien ajustó finamente el modelo de lenguaje grande Mistral-7B para que jugara DOOM :P
    https://news.ycombinator.com/item?id=39813174

    • Creo que habría que poner la vara muy baja para decir que “juega”. Podría haber sido más impresionante si hubieran hecho que grabara y reprodujera archivos demo sin la presión de hacerlo en tiempo real.
      Por ahora solo puede avanzar/retroceder, girar y disparar, y apenas sabe mirar hacia el lado contrario cuando choca contra una pared, así que está muy por debajo incluso de un bot básico de Doom; me da cautela llamarlo jugar.
      La representación intermedia en ASCII también parece innecesaria y muy restrictiva, aunque quizá sea una elección para mantenerse cerca del tiempo real. A simple vista parece ir como a 1 FPS.
      También me pregunto por qué lo corren en una Mac. Me parece que podrían usar una PC potente con GPU para hacer los cálculos más rápido.
      Aun así, parece un reto divertido, y con más ajuste fino o entrenamiento podría mejorar.
    • Me hizo pensar en “cultivar neuronas vivas de ratón para... ¿jugar DOOM?”
      https://www.youtube.com/watch?v=bEXefdbQDjw
    • Para una idea interesante de bot jugador que pueda distribuirse en la App Store, me pregunto si existe algún modelo ajustado para jugar un juego de código abierto que no sea GPL.
    • Me pregunto cómo demonios pudo esto entrar en los datos de entrenamiento.
  • Me encanta. Me gustan los captchas raros.
    También me recordó esto: http://random.irb.hr/signup.php

    • Una vez hice un captcha con problemas de cálculo para los comentarios de mi blog personal. Pero cinco años después de graduarme, ni yo recordaba cómo resolverlos, así que lo cambié :-/
    • En realidad no se necesita mucho. A un formulario al que le llegaba spam simplemente le agregué “escribe 42 aquí”, y la gente que de verdad leía podía completarlo; el spam quedó en 0.
      Para un sitio un poco más famoso no sería suficiente, pero en un rincón pequeño de Internet que no estaba siendo atacado de forma dirigida, bastó para detener el spam tipo fuzzing de “llenar todos los formularios”.
    • El problema que me tocó fue sorprendentemente simple. Era algo como “encuentra la raíz real más pequeña del polinomio p(x) = (x+5)(x-4)(x+1)”.
      Un atacante con ganas podría reconocerlo más o menos con Tesseract y pasarlo a GPT-3.5 para obtener rápido la respuesta a problemas así.
      Ejecutar un LLM no es barato ni escala bien, así que en ese sentido quizá el captcha sí esté cumpliendo su función. Pero si pones problemas más difíciles, empiezas a filtrar también a una cantidad considerable de usuarios humanos.
      Por las demás respuestas, parece que incluso con la dificultad actual ya está bloqueando a muchos usuarios humanos, mientras que un atacante con la configuración mencionada antes podría pasarlo fácilmente.
    • Recuerdo que un viejo fansite que ya no existe usaba como captcha preguntas de conocimiento del lore. Aunque creo que un LLM podría responderlas.
    • Si tienes discapacidad visual, ¿puedes jugarlo mediante una llamada de voz?
  • Intenté atacar a un cacodemon con la pistola y aun así me dejó pasar.
    Doom es tan famoso por su portabilidad que pensé que de verdad iba a ejecutar Doom en el navegador y completar un mapa sencillo.

  • Sigo esperando que alguien haga un Mona Lisa Captcha: https://www.youtube.com/watch?v=WqnXp6Saa8Y

  • Totalmente excelente.
    Pero falta el autoapuntado en el eje vertical. Deberías poder acertar aunque la mira esté por debajo del enemigo.
    En cualquier caso, ¡muy bien hecho!

    • Cada vez que intentaba presentarles DOOM a mis amigos, “¿cómo apunto hacia arriba?” era el mayor obstáculo.
      Lo entiendo cuando intentaba contagiarlo a adolescentes que crecieron con Halo y Call of Duty, pero a fines de los 90 ya empezaba a ver esa misma barrera en amigos de mi misma edad.
    • ¡Aquí hay un verdadero jugador de Doom!
  • Me pregunto por qué no usan el Doom real. Debe haber varias implementaciones de Doom en JavaScript para elegir.

    • “Completa UV Hangar en menos de 13 segundos”.
      Fácilmente alcanzable[0], pero completamente molesto[1]. Como todos los captchas.
      [0] Si estás en pantalla táctil, que Dios te ayude.
      [1] Para la mayoría de la gente. Sobre todo después de que se pasa la novedad.
    • Hasta donde sé, Doom todavía está protegido por derechos de autor. El código fuente es GPL, pero ¿alguna vez liberaron los assets con una licencia libre? Parece casi una obra abandonada.
      Aun así se podría hacer, pero si fuera un proyecto para compartir, personalmente intentaría ser estricto con los derechos de autor. O tal vez simplemente me incomoda la sensación de que traiga ruido legal encima.
    • Sí, fue un poco decepcionante.
  • Estaría bueno hacer Doom como una implementación 3D completa. Seguro lo han portado a JavaScript al menos decenas de veces.

    • ¿Por qué detenerse ahí? Usa un port a WebAssembly del juego real y hackea un portal que lleve a algún sitio real :P
  • Sería bueno tener una ventana de progreso donde el usuario pueda jugar Doom mientras espera a que termine una tarea.

  • Ahora quiero un modo Men In Black. Sería identificar la amenaza que muestra el popup y disparar en consecuencia.
    ¿Un alien haciendo dominadas? Bien. ¿Una niña de 8 años en un callejón oscuro con un libro de física cuántica? Sospechoso...

    • Volví a ver esa película hace poco, y ese juicio no estuvo mal. En apariencia, es un libro realmente extraño para que lo lleve una niña de 8 años.
      Además, a lo largo de las películas hay bastantes alienígenas con apariencia humana.
  • ¿También se podría hacer basado en el minijuego de pesca de WoW? Sería hacer clic en el corcho en el momento adecuado.
    No espero que dure más, pero a estas alturas seguro ya existen bots de pesca bastante buenos.