La seguridad de las aplicaciones de IA generativa comienza por establecer el límite de confianza. Un límite de confianza es la línea donde un operador o conjunto de políticas diferente puede observar, modificar o bloquear una solicitud.
En este curso, aseguramos una aplicación de IA generativa que envía prompts (instrucciones), recupera datos privados, invoca herramientas y devuelve resultados. La labor de seguridad difiere de la de las aplicaciones tradicionales porque las entradas y salidas del modelo no pueden separarse de manera fiable de las instrucciones.
Asimismo, tratamos la salida del modelo como una entrada no confiable para cualquier sistema posterior que la analice o actúe sobre ella. Esta premisa por sí sola evita muchos fallos evitables relacionados con la exfiltración de datos y el uso indebido de herramientas.
Una aplicación de IA generativa presenta las mismas superficies de ataque base que cualquier carga de trabajo web. Sigue requiriendo gestión de identidades, segmentación de red, cifrado, registro de eventos y respuesta a incidentes.
Una aplicación de IA generativa añade vectores de exposición a través de prompts, contexto de recuperación, argumentos de herramientas y salidas del modelo. Estas vías pueden transportar datos sensibles, incluso si el proveedor se compromete a no utilizar las entradas para el entrenamiento.
La primera tarea en el modelado de amenazas consiste en identificar el activo y el límite que lo protege. En el ámbito de la IA generativa, los activos de alto valor más comunes son el texto propietario, las credenciales y las capacidades de las herramientas.
La responsabilidad en la nube varía según la forma en que se consume el modelo. Una modalidad de consumo es la decisión operativa que determina quién ejecuta el modelo y quién tiene acceso a su entorno de ejecución.
Podemos agrupar las modalidades comunes en: llamar a una API de un modelo alojado, personalizar un modelo gestionado, desarrollar sobre una plataforma de IA gestionada y alojar por cuenta propia los pesos del modelo. Cada paso hacia el alojamiento propio aumenta los elementos que debemos asegurar directamente.
Un proveedor puede operar el servicio del modelo y, aun así, permanecer fuera del límite de confianza de la aplicación. El equipo de la aplicación sigue siendo responsable de la gestión de prompts, el filtrado de la recuperación, la autorización de herramientas y el manejo de las salidas.
Ahora podemos analizar cómo cambia la responsabilidad entre estas modalidades.
Basamos el resto del curso en un conjunto reducido de límites. Cada límite constituye un punto donde aplicar controles y, posteriormente, verificar evidencias.
Límite de identidad: determina qué entidad (principal) puede invocar una API y con qué permisos. Este límite abarca las credenciales de la carga de trabajo, el alcance de la sesión y las verificaciones de autorización en cada llamada a una herramienta.
Límite de red: define por dónde puede fluir el tráfico a nivel de paquetes. Este límite incluye la conectividad privada, las restricciones de salida y la accesibilidad del servicio desde la internet pública.
Límite de datos: especifica qué sistemas de almacenamiento y registros (logs) pueden persistir las prompts, el contexto recuperado y las salidas generadas. Este límite contempla la retención, el control de acceso y la posible ocultación de campos sensibles antes del registro.
Límite de artefactos del modelo: determina cómo se incorporan los archivos del modelo, los adaptadores y los contenedores a los procesos de construcción y ejecución. Este límite abarca la procedencia, la integridad y la exposición de dependencias durante la carga y el despliegue.
Límite de herramientas: define qué acciones puede desencadenar el modelo mediante conectores, funciones o agentes. Este límite incluye la autorización por acción y las restricciones sobre los argumentos que pueden enviarse a una herramienta.
Límite de salida externa: determina qué datos pueden transferirse a terceros, complementos (plugins) o la internet abierta. Este límite es crítico, ya que la exfiltración requiere una vía de salida.
Ahora podemos visualizar cómo las prompts, la recuperación de información, las herramientas, los registros y el tráfico de salida atraviesan estos límites.