domingo, febrero 25, 2024

Usando ChatGPT (GPT4) y Gemini para saltarse el Captcha Cognitivo de Twitter (X)

Esta semana, configurando las opciones de un cuenta de Twitter (X), tuve un incidente y me vi obligado a enviar un formulario al equipo de soporte para pedir ayuda para corregirlo. Todo fue bien, y el equipo de Twitter (X) me ayudó. Pero a la hora de enviar el formulario tuve que enfrentarme a un reto para evitar a los robots en forma de Captcha Cognitivo bastante curioso. Se trataba de Resolver un Puzzle.

Figura 1: Usando ChatGPT (GPT4) y Gemini para
saltarse el Captcha Cognitivo de Twitter (X)

El puzzle que me salió en Twitter (X) es el que veis a continuación, donde dada una imagen de un tren y una vía con posiciones marcadas hay que utilizar las flechas para la izquierda o para la derecha para decidir cuántas veces hay que mover el tren y en qué dirección para llegar al destino marcado en la imagen de la izquierda.


Figura 2: El Captcha Cognitivo del Puzzle del Tren en Twitter

Me resultó muy interesante, y pensé que esta era una de las tareas que se podrían automatizar para realizar un ataque - o un pentesting - utilizando un LLM. De esto había hablado en el artículo titulado: "Cómo usar LLMs en Ciberataques: Cibercrimen, Ciberespionaje, Ciberguerra o Red Team" donde hacía referencia a un ejemplo que había puesto tiempo atrás en el que usaba ChatGPT (GPT 3.5) para saltarme un Captcha Cognitivo de la Administración Pública, que publiqué en el artículo "Yo no soy un robot, que lo dice ChatGPT": El captcha cognitivo de los conjuntos semánticos.

Este Captcha Cognitivo del Puzzle de Twitter (X) es un ejercicio bueno para medir la capacidad de los LLMs que tenemos hoy en día en resolver un problema que necesita Visión Artificial y razonamiento para resolver un reto, así que pensé que tenía que probar esto con ChatGPT (GPT4) y Gemini, que ambos procesan imágenes. Al final, resolver cualquier Captcha Cognitivo en un ejercicio de Red Team va a ser una tarea a realizar por un LLM. Esto fue lo que pasó.

Resolviendo el Captcha Cognitivo con GPT4 (ChatGPT) y Azure GPT4- Vision

Como podéis ver en la conversación, tras subirle la imagen y pedirle a ChatGPT que me resolviera el puzzle, GPT4 se confunde, y hay que ayudarle.

Figura 4: Explicación del puzzle enviada a ChatGPT (GPT-4)

Como veis dice que hay que mover dos (2) veces a la izquierda, porque ha asumido que la locomotora del tren se encuentra en la posición F en lugar de la posición G, y da una respuesta errónea de mover os veces hacia la izquierda, cuando deberían ser tres.

Figura 5: ChatGPT (GPT4) se confunde a la primera

Le vamos a ayudar diciéndole que no está en F, que está en G, y que lo intente otra vez, para ver si ChatGPT (GPT4) es capaz de resolver, ahora sí, el problema cognitivo. Y aquí está el resultado.

aaa
Figura 5: Le corregimos la posición de inicio y resuelve bien.

Sorprendentemente, lo único que ha fallado ha sido localizar correctamente al tren en los railes, porque no lo ha puesto en la posición G, que debería haber reconocido. Pero una vez superado eso, podría ser capaz de resolverlo. Ahora con GPT-4 Vision, el resultado es similar, de nuevo se confunde en el punto en el que se encuentra la locomotora y nos dice que hay que moverse dos a la izquierda.

Figura 6: GPT-4 Visión dice que hay que mover 2 a la izquierda.

Ahora le hacemos dudar de la posición en la que se encuentra la locomotora del tren, y él mismo corrige aprendiendo que está en G y sigue correctamente las vías para llegar a la estación correcta en D.

Figura 7: GPT-4 Visión dice que hay que mover 2 a la izquierda.

Curiosamente, todos los modelos, como vamos a ver también en los siguientes, fallan en la ubicación correcta de la locomotora a la primera, y luego resuelven bien el problema.

Gemini ( Bard y Gemini Ultra 1.0)

Vamos a probar primero con Gemini, utilizando dos motores, primero Bard LLM que es el que tenemos en la versión gratuita de Gemini en español, donde después de varios intentos, le mando la fotografía con una explicación del Captcha Cognitivo que queremos resolver.

Figura 8: Le explico el reto a ver si lo resuelve

Lo que obtenemos es una interpretación perfecta de mi mensaje, entendiendo el reto, pero pidiéndome que le diga en qué posición está la locomotora del tren y a qué posición lo tiene que llevar, lo que quiere decir que la parte de Visión Artificial e interpretación de conocimiento de esa imagen no lo ha pillado bien.

Figura 9: "Una vez me des esos datos te lo resuelvo"

Como no tengo la versión de pago de Gemini Ultra, le pedí a mi amigo Julian Isla que me ayudara a probar con ella el mismo reto, y le mandamos exactamente el mismo prompt, tal y como podéis ver en la imagen siguiente.

Figura 10: Se confunde porque asume que el tren está en B

Tal y como podéis ver en la charla, lo reconoce todo perfectamente pero le falla - igual que a ChatGPT (GPT-4 ) - el reconocer que la locomotora está en G, y en este caso la sitúa en B, y por eso dice que hay que ir cuatro a la derecha. Vamos a ayudarle.

Figura 11: Corrigiéndole la posición inicial acierta

Igual que en el caso de ChatGPT (GPT-4) una vez que le corregimos la posición inicial de la locomotora, el motor de Gemini Ultra es capaz de resolver el puzzle.

Conclusiones

Al final, estos Captchas Cognitivos están destinados a morir. En este caso aún no es "tan fácil", pero estoy seguro de que si le damos un poco más de entrenamiento y otras imágenes de Captchas Cognitivos similares, ya se salta un gran porcentaje, así que la demostración de que no soy un robot se va a parecer cada día más a la película de Blade Runner, donde vamos a tener que demostrar emociones humanas, en lugar de capacidades cognitivas. Captchas Emocionales. Veremos.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


No hay comentarios:

Publicar un comentario