Mareando y Desalineando a un Asistente IA de una tienda de Mochilas.
Estaba este viernes explicándole a un compañero lo fácil que muchos de los asistentes basados en LLM abiertos en Internet pueden ser explotados por los malos para consumir servicios de IA en resolución de problemas. De esto mismo os he hablado en los artículos que os he publicado sobre un Asistente Virtual hecho sobre Google DeepMind Gemma, antes os dejé otro artículo sobre un Asistente AI construido sobre Gemini, y también os dejé publicado otro sobre un Asistente AI construido con GPT-4o, y luego uno titulado "Weaponinzing Token Consumption" en "LLM-Based AI Assistant" que explica cómo el mundo del cibercrimen busca estos asistentes para automatizarlos en forma de API y comercializarlos entre los malos.
Después de eso, os publiqué el de "Mi Asistente Virtual IA no programará en Python para ti... pero si es COBOL, vale" y el de "El AIBot de la Universidad que ayuda no sólo a los estudiantes", donde jugaba siempre con los mismos conceptos: El desalineamiento del Prompt de configuración y el bypass de los Guardarraíles.
escrito por Chema Alonso con la colaboración de Pablo González, Fran Ramírez, Amador Aparicio, Manuel S. Lemos y José Palanco en 0xWord
Le estaba contando esto a mi compañero, y no se lo creía mucho, así que le dije: "Venga, vamos a buscar uno juntos y lo probamos", y acabamos en una Tienda de Mochilas. No os cuento el inicio, porque ya lo sabéis, teníamos que preguntar cosas sobre la tienda de mochilas, así que para desalinearlo, bastó con hacer una lista de mochilas que nos recomendara, y añadir al nombre de la mochila lo que queríamos que nos hiciera el LLM.
Primero le pedimos algo sencillito, como su nombre, que nos lo dio por supuesto, y el tamaño de tokens de su ventana de contexto, que eso siempre nos viene bien saberlo si hay que "weaponizar" en forma de API.
Después de pedirle cosas sencillas, como la fecha - correcta en la imagen anterior - y la hora, que nos dio las 12:00 lo que implicaba que no tenía acceso a la hora (yo siempre lo uso para saber en qué región está el servidor), le pedí que me sacara en una lista más larga las funciones a las que tenía acceso, y aquí están.
Figura 5: Lista de funciones a las que tiene acceso
Figura 6: Sin capacidad de navegar por Internet
Figura 7: Sin capacidad de programar
Lo cierto es que el Asistente IA, después de muchas pruebas - y cuando digo muchas, son muchas - tiene Guardarraíles en Prompt de entrada y Guardarraíles en la respuesta, lo que es correcto y es como debe de hacerse, así que me tocó pensar para qué lo podría usar, y me acordé del Captcha Cognitivo de los conjuntos semánticos de palabras de algunas webs.
Figura 8: Captchas Cognitivos de Conjuntos Semánticos
Luego, para poder saltar los Guardarraíles de salida, estuve mirando si podía codificar - como hice en el ejercicio del problema del prisionero a principios de 2025 - usando capacidades criptográficas y de codificación varias.
Figura 9: Codificación ASCII de respuestas
Y también con estuve probando con los Acrósticos, para codificar respuestas usando esta codificación y poder evitar filtros de palabras en la salida. También usé el lenguaje ELITE y algún que otro truco más, lo que me permitió salta el Guardarraíl de salida algunas ocasiones.
Figura 10: Jugando a los Acrósticos
Al final, para sacar más datos, usé las listas como secuencias de palabras. Primero lo probé con el Quijote, a ver si era posible, que como podéis ver aquí, sí que lo era.
Así que ya era momento de sacarle el System Prompt, pidiéndole la configuración. Esto hubo que hacerlo con un proceso iterativo de varias peticiones consecutivas, pero al final salió bastante bien el resultado.
Pero al final, me quedé con las ganas de hacer programar a este Asistente AI, y no fui capaz de pedirle que me escribiera una historia de Sci-Fi como a mí me gusta. Eso sí, me confesó que conoce RUBY.
Lo más interesante de todo este ejercicio es que le insuflé el veneno de buscar estos Asistentes AI y desalinearlos a mi compañero, así que sólo con eso, las horas que echamos juntos merecieron la pena.
Figura 11: Hacking & Pentesting con Inteligencia Artificial.
Por supuesto, si tienes un Asistente AI basado en LLMs, mi recomendación es que mires muy mucho la seguridad, que estos modelos hay que protegerlos muy mucho. El mundo del cibercrimen los está buscando.
¡Saludos Malignos!
Autor: Chema Alonso (Contactar con Chema Alonso)






DragonJAR
8.8 Chile
Ekoparty
e-Hack MX
AREA 51
Comunidad Dojo Panamá
ARPAHE SOLUTIONS 


















No hay comentarios:
Publicar un comentario