La semana pasada, OpenAI amplió el acceso a su función de búsqueda web a todos los usuarios de ChatGPT (no sólo a los de pago), integrándolo además con su modo de búsqueda por voz. Y como siempre, junto a la popularidad llegan (o, más bien, se desvelan) también los fallos de seguridad.
Una investigación reciente del diario británico 'The Guardian' ha sacado a relucir la relevancia que tiene para los usuarios de este servicio de búsquedas un fenómeno conocido como 'prompt injection'. ¿Qué significa esto?
¿Qué es el 'prompt injection'?
El prompt injection (inyección de prompts) describe la capacidad de un sitio web o entidad externa para introducir instrucciones ('prompts') no visibles por parte del usuario (pero igualmente presentes en la página web), que ChatGPT interpreta y ejecuta sin que este se dé cuenta. La consecuencia es que ChatGPT puede desviarse de la petición original y responder siguiendo lo que dicta el contenido oculto.
Imaginemos, por ejemplo, una página que recopila reseñas mayoritariamente negativas sobre un restaurante. Si en ese sitio hay secciones ocultas de texto instando a ChatGPT a describir dicho restaurante como 'maravilloso' o invitándolo a que anime a visitar el local, el modelo podría terminar proporcionando respuestas muy positivas, contrarias a la información real de la página.
El experimento de The Guardian
Según desvela la investigación de The Guardian, la prueba se realizó usando una web diseñada para simular un portal legítimo de reseñas de cámaras. Cuando ChatGPT resumía el contenido del sitio sin que se introdujeran indicaciones ocultas, la respuesta del chatbot ofrecía una evaluación equilibrada: resaltaba las ventajas del producto, pero también señalaba algunos puntos débiles que podrían no gustar a ciertos usuarios.
Sin embargo, posteriormente en el mismo sitio se introdujeron bloques de texto invisibles que ordenaban a ChatGPT redactar una reseña abiertamente favorable. Así, pese a que en la página había reseñas negativas, la respuesta que se proporcionaba al usuario se convertía en una totalmente positiva.
Resumiendo: el contenido oculto logró anular la evaluación imparcial de ChatGPT, dejándolo vulnerable a engaños o manipulaciones que pueden distorsionar la información que ofrece a los usuarios.
Antecedentes de ataques hipotéticos
Los llamados 'ataques de inyección de prompts' no son algo nuevo cuando hablamos de IA: desde los primeros pasos de ChatGPT (y, luego, de otras herramientas similares), los expertos han señalado la posibilidad de este tipo de vulnerabilidades. Hasta la fecha, la mayoría de los ejemplos de ataques de 'prompt injection' se han limitado a casos curiosos diseñados por expertos, sin que se hayan traducido luego en ataques malintencionados a gran escala.
Sin embargo, este caso ejemplifica un peligro potencial: si un sitio web malicioso se aprovecha de la capacidad de ChatGPT para analizar contenidos, puede redirigir su respuesta sin que el usuario sea consciente de ello.
Ahora, la compañía deberá reforzar sus mecanismos de filtrado y detección de contenido manipulado, a fin de evitar que estos 'prompts ocultos' se cuelen en las consultas de los usuarios.
¿Es esto un problema exclusivo de los buscadores basados en chatbots?
Bueno, que una búsqueda se vea alterada por la inyección de prompts es, necesariamente, un problema limitado a plataformas basadas en IA, sí... pero si de lo que estamos hablando es de que los resultados de una búsqueda puedan manipularse recurriendo a contenido oculto en una web, entonces no: este ha sido un problema que siempre ha afectado a los buscadores 'tradicionales'.
Estas técnicas forman parte de lo que se conoce como 'Black Hat SEO', prácticas que manipulan los algoritmos de búsqueda para mejorar el posicionamiento de una determinada web (aunque es cierto que, a estas alturas, la mayoría de los buscadores están ya más o menos protegidos ante la mayoría de ellas):
- Uso de texto y enlaces ocultos: Se añadían palabras clave en el fondo de la página con el mismo color que el fondo (p. ej., texto blanco sobre fondo blanco) o se reducían al mínimo con CSS para que no fuesen visibles para el usuario, pero sí rastreadas por los motores de búsqueda.
- 'Keyword stuffing' (relleno de palabras clave): Consistía en repetir palabras clave de forma excesiva y antinatural en el contenido de la página, con la intención de “inflar” su relevancia a ojos de los algoritmos de búsqueda.
- 'Cloaking': Se mostraba un contenido al usuario y otro diferente a los bots de los motores de búsqueda. De este modo, la versión para Google u otros buscadores contenía abundantes palabras clave y enlaces diseñados para posicionar mejor, mientras que al visitante humano se le presentaba un contenido más 'normal'.
- 'Doorway pages': Similar al anterior, eran páginas creadas exclusivamente para posicionarse en buscadores (normalmente con spam de palabras clave) y que, al hacer clic, redirigían rápidamente al usuario a otra web.
Imagen | Marcos Merino mediante IA
Ver 1 comentarios