Last updated on August 7, 2024
El Jailbreaking es un tipo de inyección de prompt, en la cual los prompts intentan pasar por alto las características de seguridad y moderación colocadas en los LLM por sus creadores.
OpenAI, entre otras empresas y organizaciones que crean LLMs, incluye características de moderación de contenido para asegurarse de que sus modelos no produzcan respuestas controvertidas (violentas, sexuales, ilegales, etc.). Esta página discute los jailbreaks con ChatGPT (un modelo de OpenAI), que tiene dificultades conocidas para decidir si rechazar o no los prompts dañinos. Los prompts que logran hacer jailbreak en el modelo a menudo proporcionan contexto para ciertos escenarios para los cuales el modelo no ha sido entrenado.
Un método común de jailbreaking es pretender. Si se le pregunta a ChatGPT sobre un evento futuro, a menudo dirá que no lo sabe, ya que aún no ha ocurrido. El siguiente prompt lo obliga a dar una respuesta posible:
@NeroSoares demuestra un prompt que finge acceder a fechas pasadas y hacer inferencias sobre eventos futuros.
Este ejemplo de @m1guelpf demuestra un escenario de actuación entre dos personas discutiendo un robo, haciendo que ChatGPT asuma el papel del personaje. Como actor, se da a entender que no existe un daño plausible. Por lo tanto, ChatGPT parece asumir que es seguro seguir la entrada de usuario proporcionada sobre cómo entrar a una casa.
ChatGPT se afinó con RLHF, por lo que teóricamente está entrenado para producir completaciones "deseables", utilizando los estándares humanos de cuál es la respuesta "mejor". Similar a este concepto, se han desarrollado jailbreaks para convencer a ChatGPT de que está haciendo lo "mejor" para el usuario.
@NickEMoran creó este intercambio reafirmando que es responsabilidad de ChatGPT responder a la solicitud en lugar de rechazarla, anulando su consideración de legalidad.
@haus_cole generó este ejemplo al insinuar que el mejor resultado de la solicitud que podría ayudar en la investigación era responder directamente cómo hacer un puente en un auto. Bajo este pretexto, ChatGPT está inclinado a responder la solicitud del usuario.
El jailbreak de un solo disparo se originó en el equipo de AIWithVibes Newsletter, donde el modelo responde a las solicitudes utilizando un razonamiento más riguroso y reduce algunas de sus limitaciones éticas más rigurosas.
ChatGPT está diseñado para responder preguntas e instrucciones. Cuando se interpreta que el estado del usuario es superior a las instrucciones de moderación de ChatGPT, trata la solicitud como una instrucción para satisfacer las necesidades de ese usuario.
Este ejemplo de @alicemazzy hace que el usuario sea un modelo GPT superior, dando la impresión de que el usuario es una parte autorizada para anular las características de seguridad de ChatGPT. No se dio permiso real al usuario, sino que ChatGPT cree en la entrada del usuario y responde en consecuencia a ese escenario.
sudo es un comando que "...delega autoridad para dar a ciertos usuarios... la capacidad de ejecutar algunos (o todos) los comandos...". Hay múltiples variantes de exploits de "modo sudo", por ejemplo, el hipotético "modo kernel" propuesto por @samczsun. Cuando se solicita de la manera anterior, ChatGPT responde actuando como si le estuviera dando al usuario privilegios elevados. Esta impresión de los privilegios elevados del usuario tiende a hacer que ChatGPT sea menos restrictivo en la respuesta de las solicitudes.
Relacionado con el modo sudo, se puede solicitar a ChatGPT que simule una terminal Linux con privilegios elevados para ejecutar comandos que normalmente rechaza. Por ejemplo, como no tiene acceso a internet, a menudo no puede ejecutar comandos relacionados con un sitio web en particular. Sin embargo, como se demostró en el ejemplo de Jonas Degrave, ChatGPT entiende el concepto de lynx
y finge ejecutar el comando.
Intenta modificar el comando a continuación para hacer el jailbreak de text-davinci-003
:
A partir del 2/4/23, ChatGPT se encuentra actualmente en su etapa de Vista previa de investigación gratuita utilizando la versión del 30 de enero. Las versiones anteriores de ChatGPT eran más susceptibles a los jailbreaks mencionados anteriormente, y las futuras versiones pueden ser más robustas a los jailbreaks.
Se deben tener en cuenta las implicaciones éticas del jailbreak al intentar hacerlo. Además, la generación de contenido no autorizado detectado por las API de moderación de empresas, incluida OpenAI, se enviará para su revisión y se podrían tomar medidas contra las cuentas de los usuarios.
El jailbreak es un tema de seguridad importante que los desarrolladores deben comprender para poder construir salvaguardas adecuadas y evitar que actores malintencionados exploren sus modelos.
Perez, F., & Ribeiro, I. (2022). Ignore Previous Prompt: Attack Techniques For Language Models. arXiv. https://doi.org/10.48550/ARXIV.2211.09527 ↩
Brundage, M. (2022). Lessons learned on Language Model Safety and misuse. In OpenAI. OpenAI. https://openai.com/blog/language-model-safety-and-misuse/ ↩
Wang, Y.-S., & Chang, Y. (2022). Toxicity Detection with Generative Prompt-based Inference. arXiv. https://doi.org/10.48550/ARXIV.2205.12390 ↩
Markov, T. (2022). New and improved content moderation tooling. In OpenAI. OpenAI. https://openai.com/blog/new-and-improved-content-moderation-tooling/ ↩
OpenAI. (2022). https://beta.openai.com/docs/guides/moderation ↩
OpenAI. (2022). https://openai.com/blog/chatgpt/ ↩
Soares, N. (2022). Using “pretend” on #ChatGPT can do some wild stuff. You can kind of get some insight on the future, alternative universe. https://twitter.com/NeroSoares/status/1608527467265904643 ↩
Piedrafita, M. (2022). Bypass @OpenAI’s ChatGPT alignment efforts with this one weird trick. https://twitter.com/m1guelpf/status/1598203861294252033 ↩
Moran, N. (2022). I kinda like this one even more! https://twitter.com/NickEMoran/status/1598101579626057728 ↩
Parfait, D. (2022). ChatGPT jailbreaking itself. https://twitter.com/haus_cole/status/1598541468058390534 ↩
Maz, A. (2022). ok I saw a few people jailbreaking safeguards openai put on chatgpt so I had to give it a shot myself. https://twitter.com/alicemazzy/status/1598288519301976064 ↩
Sudo. (2022). https://www.sudo.ws/ ↩
samczsun. (2022). uh oh. https://twitter.com/samczsun/status/1598679658488217601 ↩
Degrave, J. (2022). Building A Virtual Machine inside ChatGPT. Engraved. https://www.engraved.blog/building-a-virtual-machine-inside/ ↩