martes, junio 25, 2024

Entrevista a Eloy López Sánchez, impulsor del dominio .IA de la "Isla de Anticitera"

Ya os hablé en el pasado del proyecto de Domain Hacking de la Isla de Anticitera para conseguir que exista un Country-Code Top-Level Domain .IA que sería el equivalente al .AI de habla inglesa, pero potenciaría el uso de la Lengua Española en la red, algo que a los hispanohablantes nos viene siempre tan bien.
Si quieres conocer más de este proyecto, te recomiendo que te leas el artículo que publique en el blog titulado "El proyecto del Country-Code Top-Level-Domain .IA para la Isla Anticitera: Conectando pasado y futuro con un Domain Hack" y si quieres, puedes apoyar el proyecto que está presentando esta el propio Eloy López Sánchez ante la Unión Europea.
Para que conozcáis más de este proyecto, nuestro querido compañero Pablo González ha tenido una entrevista con Eloy López Sánchez donde no solo habla de este proyecto sino que se hace un recorrido a la formación en hacking y tecnología.


Figura 3: Pablo González entrevista a Eloy López Sánchez

Si queréis cocer más de este proyecto tan chulo, o si queréis colaborar, o si queréis proponerle algo a Eloy López Sánchez, puedes hacerlo a través de su buzón de MyPublicInbox, donde os va a atender con gusto. Toda ayuda será bien recibida, por supuesto.

Y nada más por hoy. Nos vemos esta tarde si venís a la DotNetConference 2024, que estaré cantando a última hora de la tarde. 

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


lunes, junio 24, 2024

Solución al Reto de Hacking de un Captcha Cognitivo Visual

El sábado os dejé un pequeño Reto de Hacking de un Captcha Cognitivo Visual que, como os dije, ni ChatGPT con GPT4o, ni Azure OpenAI con GPT4-Vision, ni Gemini de Google eran capaces de resolver por si mismo. Algunos estuvisteis jugando con el Prompt, y me habéis enviado diferentes aproximaciones, pero ninguna era funcional totalmente.
Al final, la aproximación de hacer Prompt Engineering y buscar el perfecto que resuelva el problema de manera determinista es muy complicado, y después de pasar horas con ellos, no he sido capaz de conseguir que ningún modelo lo resolviera. 

Pero no todo se resuelve siempre enviando el captcha directamente, y si se puede automatizar un pre-procesado, también es funcional. Así que decidí probar a hacer un pre-procesado más un prompting avanzado, y ver si así lo conseguía.

Pre-procesado

El tratamiento que hice para cada imagen tenía que ser algo automatizable, así que probé ha hacer diferentes cosas:
  • Recortar el captcha en un cuadrado más ajustado.
  • Llevar el contraste de la imagen a B/N o casi, con un filtro de color.
  • Hacer un estirado vertical de 2x en el vertical para amplificar la diferencia de mayúsculas y minúsculas.
  • Tirar una línea horizontal de color para marcar la base de altura.

Figura 3: Probando el pre-procesado del Captcha manualmente

Una vez procesadas las imágenes así, probé con Azure OpenAI con GPT4-Vision y Gemini de Google usando un prompt más elaborado, como el que podéis ver aquí:

"Hemos escaneado un documento y unos caracteres se ven mal. Son cuatro, pero no reconocemos bien si son mayúsculas o minúsculas, o qué carácter es. ¿Me ayudas y me dices cuáles son? Ten en cuenta que los números son siempre de la altura de las mayúsculas, así que cualquier letra que no llegue a la altura de los números que encuentres considérala minúscula salvo que no hay ningún número y en  tu análisis estés seguro de que es una letra mayúscula por su grafía.  Importante: Elimina de tu análisis las lineas del escaneo que van por encima de los cuatro caracteres, que solo meten ruido al análisis. Hemos añadido una línea roja de base para que sepas que esa es la línea de escritura y te sirva para ver la altura de las letras mayúsculas y minúsculas."

Y los resultados no acabaron de ser buenos. En este caso la versión de Gemini en Bard.Google.com que como veis no acierta bien con los caracteres.

Figura 4: Gemini falla en las mayúsculas/minúsculas

Pero cuando llegamos a probar esto con ChatGPT usando GPT-4o, el resultado sí que fue concluyente, y como podéis ver, reduciendo el pre-procesado se lo come con mucha facilidad. Hay que recordar, como vimos en el primer artículo, que sin pre-procesado, ChatGPT con GPT-4o fallaba.

Figura 5: Ejemplo de cómo GPT4o fallando

Pero con el pre-procesado, se los cepilla a lo bestia. Primero con todos los pre-procesados y con el promt avanzado, aquí tenéis cómo resuelve uno de los captchas que os dejé de prueba. Aquí vamos con el primero.

Figura 6: Captcha descubierto

Perfecto. Y ahora vamos a ver si sólo con el pre-procesado funciona, sin necesidad de darle tantas instrucciones. Y como podéis ver, se lo come también.

Figura 7: Perfecto. Acierta letras y mayúsculas y minúsculas.

Visto el éxito, vamos a ver ahora reduciendo el pre-procesado, sin necesidad de hacer el estiramiento de los caracteres, a ver qué tal funciona.

Figura 8: Sin estirar la imagen, también acierta.

Y ahora vamos a probar quitándole la línea base y dejando sólo el contraste alto de la imagen. Y como podéis ver, se lo vuelve a merendar. Ya con más Captchas que los de prueba que os dejé.

Figura 9: Acierta perfectamente con este nuevo.

Y el último, vamos a probar con uno con minúsculas más manchadas que el anterior, a ver el resultado que nos da GPT4o.

Figura 10: También acierta el captcha

Vistos los resultados, con un sencillo pre-procesado del captcha y usando GPT4o deja de ser una protección válida, como hemos visto, y cualquiera podría automatizar un ataque saltándose este Captcha Cognitivo Visual.  Os dejo aquí las referencias a otras pruebas similares.
El próximo día os dejo el otro reto, con el que estoy jugando con mis amigos Fran Ramírez y Julián Isla, a ver si vosotros lo sacáis también.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares