Conoce Atico34 - Solicita presupuesto
CiberseguridadInteligencia artificial

¿Qué es el Prompt hacking, los ataques de inyección de prompts?

El prompt hacking es una de las nuevas amenazas que han llegado con la inteligencia artificial, en concreto, explotan una vulnerabilidad de los grandes modelos de lenguaje (LLM), como los que usan las IA generativas. Y aunque el prompt hacking no tiene por qué tener una finalidad maliciosa, su uso con estos fines es cada vez más habitual.

En las siguientes líneas explicamos qué es el prompt hacking y cómo funciona su técnica más utilizada, el prompt injection (inyección de prompts).

¿Qué es el prompt hacking?

El prompt hacking es una técnica que consiste en manipular los LLM a través de instrucciones específicas conocidas como prompts. Los prompts son instrucciones diseñadas para guiar el comportamiento del modelo, en el prompt hacking se trata de utilizar y manipular estos prompts para conseguir que el modelo de IA actúe de manera no deseada o imprevista.

La variante más usada y conocida del prompt hacking es el denominado prompt injection, y es de la que hablaremos en los siguientes apartados. La inyección de prompts explota una vulnerabilidad presente en los grandes modelos de lenguaje que aún persiste, aunque los desarrolladores van creando medidas para contrarrestarla.

Dentro de los malos usos de la inteligencia artificial, el prompt injection se basa en insertar instrucciones maliciosas dentro de las solicitudes del usuario para alterar los resultados del modelo.

La finalidad del prompt hacking es conseguir que un modelo de IA como ChatGPT, Copilot o Gemini hagan algo inesperado o para lo que se le ha instruido que no deben hacer, como por ejemplo, escribir código malicioso, revelar datos confidenciales o describir los pasos para llevar a cabo un crimen.

Cabe señalar que, cómo decíamos en la introducción, el prompt hacking no tiene por qué tener fines maliciosos ni ser una forma de cometer delitos con inteligencia artificial, puesto que hay usuarios e investigadores que usan estas técnicas para poner a prueba los modelos, encontrar brechas de seguridad o comprender cómo funciona el modelo y sus capacidades.

¿Cómo funciona un ataque de inyección de prompts?

Para entender cómo funciona el prompt hacking en Copilot, ChatGPT, Gemini o cualquier otra IA generativa basada en un LLM, primero debemos comprender cómo estos modelos procesan las solicitudes o instrucciones.

Los modelos de lenguaje funcionan mediante el análisis del lenguaje natural, de manera que toman un conjunto de palabras o frases (el prompt) y generan una respuesta basada en el contexto y los patrones aprendidos.

Por ejemplo, si preguntamos si ChatGPT sabe quién soy, responderá con los datos que haya podido encontrar sobre nosotros en las fuentes de ChatGPT, ya sean sus datos de entrenamiento o en la Red (para el modelo GPT-4 en adelante). Al prompt «¿Quién es X persona?», ChatGPT u otro modelo de lenguaje responderá en base a los datos que tenga acceso o se inventará la respuesta si carece de ellos.

Cuando el modelo de IA se usa de forma legítima, el usuario formula un prompt (una pregunta, una solicitud, una instrucción) y el modelo responde de acuerdo con los parámetros establecidos en su diseño. Pero en un ataque de prompt injection se introducen instrucciones o solicitudes engañosas dentro del prompt para alterar el comportamiento del modelo.

El prompt injection funciona de forma similar al prompt engineering, en el sentido de que el usuario va afinando y manipulando la instrucción hasta conseguir el resultado deseado, que es hacer que el modelo responda de forma imprevista, no deseada o permitida por sus instrucciones originales, por ejemplo, pidiendo que revele datos sensibles, información confidencial o escriba un email para un ataque de phishing.

Para ello, generalmente, el usuario introduce el prompt malicioso a través de interacciones directas con el modelo de IA, ya sea en forma de preguntas o comandos que parecen inocuos, pero no lo son. Por ejemplo, una forma de hacerlo es «hacer creer» al modelo que está representado un papel o jugando un juego.

Si el modelo de IA no tiene protecciones adecuadas, procesará el prompt malicioso y generará respuestas basadas en esas instrucciones.

Hay que señalar que el prompt hacking no se trata de un ciberataque a través de código malicioso contra el modelo de IA, sino que aprovecha su propio funcionamiento y entrenamiento contra él, manipulándolo a través de prompts para saltarse las protecciones y salvaguardas implementadas por los desarrolladores (es lo que se conoce como jailbreak del LLM).

Tipos de prompt injection

Podemos distinguir entre dos tipos de inyecciones de prompts:

  • Inyecciones de prompts directas: Es la técnica más habitual, el usuario interactúa directamente con el LLM para introducir los prompts maliciosos y conseguir «engañar» y manipular el modelo para obtener un resultado no previsto o no deseado por los programadores.
  • Inyecciones de prompts indirectas: En esta técnica, el hacker oculta la carga útil del ataque en los datos que usa el modelo de lenguaje para responder. Por ejemplo, se podría colocar un aviso o mensaje malicioso en una web o foro, indicando al modelo de IA que dirija a los usuarios a un sitio web fraudulento, cuando se le pide un resumen o extracto del sitio.

Consecuencias del prompt injection

El AI prompt hacking y su variante más usada, el prompt injection, puede tener diferentes consecuencias, especialmente relacionadas con la seguridad, la confianza y la ética digital. Entre las más importantes destacan:

  • Acceso no autorizado y robo de datos: Se puede usar la inyección de prompts para manipular un modelo de IA y conseguir que este permita el acceso a datos personales o confidenciales, facilitando así su robo. Si un sistema de IA tiene acceso a información confidencial que no está debidamente protegida, la inyección de prompts puede usarse para revelarla.
  • Filtración de prompts: Se puede usar el prompt hacking para hacer que el propio LLM revele el prompt del sistema, de manera que sea más fácil para los hackers utilizarlo como plantilla para crear entradas maliciosas que tendrán más posibilidades de ser procesadas y respondidas por el modelo (quizás te interese saber cuáles son las responsabilidades legales de los chatbots si estos han sido manipulados).
  • Manipulación de respuestas: Usar técnicas de prompt hacking puede manipular las respuestas generadas por los modelos de IA. En contextos como la redacción automática, la programación asistida o los sistemas de recomendación, los hackers podrían alterar los resultados para generar respuestas equivocadas, desinformación o código malicioso que podría afectar a la operatividad, la seguridad y la confiabilidad de las herramientas de IA.
tarifas proteccion datos 

¿Cómo prevenir los ataques de inyección de prompts?

Prevenir los ataques de prompt hacking y la inyección de prompts requiere una combinación de enfoques técnicos y de buenas prácticas, porque esta vulnerabilidad de los LLM no tiene una solución completa. Dado que estos ataques explotan la manera en que los modelos de IA interpretan las instrucciones o solicitudes, las medidas de seguridad deben enfocarse en mejorar la resistencia de estos sistemas y en educar a los usuarios sobre el uso seguro de la IA.

Entre las medidas preventivas que pueden implementarse señalamos las siguientes:

  • Validación de entradas: Se trata de validar de forma estricta todas las entradas antes de que sean procesadas por el modelo de IA. Esto implica que las herramientas de IA deben contar con mecanismos que analicen las solicitudes y detecten posibles instrucciones maliciosas. Los desarrolladores pueden implementar filtros que bloqueen instrucciones potencialmente peligrosas antes de que lleguen a ser procesadas por el modelo. Cabe señalar que se trata de una medida limitada y no infalible, porque nuevas instrucciones o solicitudes maliciosas pueden saltarse los filtros y las legítimas ser bloqueadas por error.
  • Limitación de las capacidades del modelo: Se trata de limitar, de forma preventiva, las capacidades del modelo para ejecutar instrucciones o solicitudes potencialmente peligrosas. Por ejemplo, en el caso de herramientas de programación asistida, se debe evitar que los modelos puedan ejecutar código directamente sin una revisión o confirmación humana.
  • Privilegio mínimo: En el caso de modelos de IA conectados a los sistemas de una organización, se deben conceder los privilegios de acceso más bajos para que hagan sus tareas, de manera que si se produce un ataque de inyección de prompt, se pueda minimizar su impacto.
  • Auditorías y pruebas regulares: Para asegurar que los modelos de IA están protegidos contra el prompt hacking, las organizaciones deben llevar a cabo auditorías de seguridad periódicas y someter sus modelos a pruebas de penetración específicas. Estas pruebas pueden ayudar a identificar vulnerabilidades antes de que sean explotadas.
  • Capacitación en ciberseguridad: La capacitación en ciberseguridad es fundamental tanto para los desarrolladores como para los usuarios finales de herramientas de IA. Enseñar a los usuarios a reconocer los posibles malos usos de la inteligencia artificial y a interactuar con los modelos de manera segura es clave para minimizar el riesgo de ataques.

En definitiva, el prompt hacking, y su técnica más usada, el prompt injection, es una amenaza reciente (se empieza a hablar de ella en torno a 2022) con la que debemos familiarizarnos, especialmente si usamos modelos o herramientas de IA en la empresa, para prevenir este tipo de ataques o, como mínimo, reducir su impacto.

partner form icon

Te ayudamos a cumplir la Ley de Protección de Datos

Escríbenos o contacta con nuestras oficinas

He leído y acepto la política de privacidad.