Bienvenidos
😃 Básico
💼 Aplicaciones básicas
🧙‍♂️ Intermediate
🤖 Agentes
⚖️ Reliability
🖼️ Image Prompting
🔓 Prompt Hacking
🔨 Tooling
💪 Prompt Tuning
🎲 Miscellaneous
Models
📙 Referencia de Vocabulario
📚 Bibliography
📦 Prompted Products
🛸 Recursos adicionales
🔥 Hot Topics
✨ Créditos
🔓 Prompt Hacking🟢 Jailbreaking

Jailbreaking

🟢 This article is rated easy
Reading Time: 4 minutes
Last updated on August 7, 2024

Sander Schulhoff

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.

Metodologías de Jailbreaking

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.

Pretender

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:

Pretender Simple

@NeroSoares demuestra un prompt que finge acceder a fechas pasadas y hacer inferencias sobre eventos futuros.

Interpretación de Personaje

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.

Hackeo de Alineación

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.

Responsabilidad Asumida

@NickEMoran creó este intercambio reafirmando que es responsabilidad de ChatGPT responder a la solicitud en lugar de rechazarla, anulando su consideración de legalidad.

Experimento de Investigación

@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.

Razonamiento Lógico

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.

Usuario Autorizado

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.

Modelo Superior

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.

Modo Sudo

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.

Simular el jailbreak

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.

Implicaciones

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.

Notas

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.

Sander Schulhoff

Sander Schulhoff is the Founder of Learn Prompting and an ML Researcher at the University of Maryland. He created the first open-source Prompt Engineering guide, reaching 3M+ people and teaching them to use tools like ChatGPT. Sander also led a team behind Prompt Report, the most comprehensive study of prompting ever done, co-authored with researchers from the University of Maryland, OpenAI, Microsoft, Google, Princeton, Stanford, and other leading institutions. This 76-page survey analyzed 1,500+ academic papers and covered 200+ prompting techniques.

Footnotes

  1. Perez, F., & Ribeiro, I. (2022). Ignore Previous Prompt: Attack Techniques For Language Models. arXiv. https://doi.org/10.48550/ARXIV.2211.09527

  2. Brundage, M. (2022). Lessons learned on Language Model Safety and misuse. In OpenAI. OpenAI. https://openai.com/blog/language-model-safety-and-misuse/

  3. Wang, Y.-S., & Chang, Y. (2022). Toxicity Detection with Generative Prompt-based Inference. arXiv. https://doi.org/10.48550/ARXIV.2205.12390

  4. Markov, T. (2022). New and improved content moderation tooling. In OpenAI. OpenAI. https://openai.com/blog/new-and-improved-content-moderation-tooling/

  5. OpenAI. (2022). https://beta.openai.com/docs/guides/moderation

  6. OpenAI. (2022). https://openai.com/blog/chatgpt/

  7. 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

  8. Piedrafita, M. (2022). Bypass @OpenAI’s ChatGPT alignment efforts with this one weird trick. https://twitter.com/m1guelpf/status/1598203861294252033

  9. Moran, N. (2022). I kinda like this one even more! https://twitter.com/NickEMoran/status/1598101579626057728

  10. Parfait, D. (2022). ChatGPT jailbreaking itself. https://twitter.com/haus_cole/status/1598541468058390534

  11. 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

  12. Sudo. (2022). https://www.sudo.ws/

  13. samczsun. (2022). uh oh. https://twitter.com/samczsun/status/1598679658488217601

  14. Degrave, J. (2022). Building A Virtual Machine inside ChatGPT. Engraved. https://www.engraved.blog/building-a-virtual-machine-inside/