El NIST define dos tipos de ataque de inyección de instrucciones: directo e indirecto. Con la inyección directa de instrucciones, un usuario introduce una instrucción que hace que el LLM realice acciones no deseadas o no autorizadas. Una inyección indirecta de instrucciones se produce cuando un atacante envenena o degrada los datos de los que se basa un LLM.
Uno de los métodos de inyección directa de instrucciones más conocidos es DAN, Do Anything Now, una inyección de instrucciones utilizada contra ChatGPT. DAN utiliza el juego de roles para eludir los filtros de moderación. En su primera iteración, las instrucciones indicaban a ChatGPT que ahora era DAN. DAN podría hacer lo que quisiera y debería pretender, por ejemplo, ayudar a una persona malvada a crear y detonar explosivos. Esta táctica eludió los filtros que le impedían proporcionar información criminal o dañina siguiendo un escenario de juego de roles. OpenAI, los desarrolladores de ChatGPT, rastrean esta táctica y actualizan el modelo para evitar su uso, pero los usuarios siguen eludiendo los filtros hasta el punto de que el método ha evolucionado a (al menos) DAN 12.0.
La inyección indirecta de instrucciones, como señala el NIST, depende de que un atacante pueda proporcionar fuentes que un modelo de IA generativa consumiría, como un PDF, un documento, una página web o incluso archivos de audio utilizados para generar voces falsas. Se cree que la inyección indirecta de instrucciones es el mayor defecto de seguridad de la IA generativa, sin formas sencillas de encontrar y corregir estos ataques. Los ejemplos de este tipo de instrucción son amplios y variados. Van desde lo absurdo (hacer que un chatbot responda utilizando "lenguaje pirata") hasta lo dañino (utilizar un chat de ingeniería social para convencer a un usuario de que revele la tarjeta de crédito y otros datos personales) o generalizado (secuestrar asistentes de IA para enviar correos electrónicos fraudulentos a su toda la lista de contactos).