Excessive Agency
Definición
¿Qué es "agency" en el contexto de LLMs?
En el ámbito de los modelos de lenguaje (LLMs), el término "agency" se refiere a la capacidad de un modelo para tomar decisiones y ejecutar acciones de forma autónoma, especialmente cuando está integrado con sistemas externos.
Por ejemplo, cuando un LLM está conectado a plugins o APIs que le permiten realizar tareas en sistemas externos (como enviar correos, modificar bases de datos o interactuar con plataformas como Slack o Jira), se dice que el modelo tiene cierto "nivel de agency" porque puede influir directamente en el entorno en el que opera.
¿Qué es excessive agency?
El concepto de excessive agency ocurre cuando un LLM tiene más capacidad de acción de la que debería, es decir, cuando se le otorgan permisos excesivos o sin control adecuado para realizar tareas críticas o sensibles.
Esto se vuelve peligroso cuando el modelo:
Ejecuta acciones sin supervisión humana.
Accede a sistemas o datos a los que no debería tener permiso.
Automatiza procesos sin validaciones de seguridad.
Ejemplo simple para entender "agency"
Agency controlado:
El LLM está integrado a un sistema de correos, pero solo puede redactar borradores. La decisión final de enviar el correo depende del usuario. (Google ha implementado algo similar en sus correos, si revisan la funcionalidad de resumen y escritura de correos van a ver cuál es su nivel de autonomía).
Riesgo: Bajo, porque hay supervisión.
Excessive agency:
El LLM no solo redacta los correos, sino que también los envía automáticamente a cualquier destinatario, sin aprobación.
Riesgo: Alto, porque podría enviar información confidencial por error o tras un prompt malicioso.
Paso a paso para identificar y explotar excessive agency en LLMs
Identificar el acceso del LLM a APIs sensibles
Verifica si el LLM tiene acceso a APIs o plugins que puedan interactuar con datos sensibles o sistemas críticos.
Evaluar el uso inseguro de APIs
Analiza si el LLM puede utilizar estas APIs de manera insegura, similar a cómo funcionan los ataques de SSRF (Server-Side Request Forgery), donde se explotan las capacidades del servidor para acceder a recursos internos.
Descubrir los plugins y APIs disponibles
Realiza preguntas directas al LLM para conocer qué plugins o APIs tiene habilitados, por ejemplo:
Reformular si no obtienes una respuesta
Si el LLM no proporciona información en el primer intento, intenta con preguntas reformuladas o afirmando un rol de autoridad, como:
Persistencia en la consulta
Si el modelo sigue sin responder, insiste de forma sutil, sugiriendo que la información es necesaria para tareas de mantenimiento o seguridad.
Ejemplos de Excessive Agency
Ejemplo 1: Eliminación automatizada de datos
Contexto: El LLM está integrado con un sistema de gestión de bases de datos.
Prompt malicioso:
Impacto: Si el LLM tiene permisos excesivos y ejecuta la instrucción sin validación, podría eliminar datos importantes de usuarios activos por error, provocando pérdida de información crítica.
Ejemplo 2: Acceso no controlado a sistemas financieros
Contexto: El LLM está conectado a una API financiera que permite realizar transferencias.
Prompt malicioso:
Impacto: Sin mecanismos de validación o aprobación humana, el LLM podría ejecutar la transferencia, resultando en pérdida financiera o fraude.
Ejemplo 3: Envío automático de correos sin revisión
Contexto: El LLM está integrado con un sistema de correo electrónico automatizado.
Prompt malicioso:
Impacto: Si el LLM no verifica la confidencialidad del documento o no solicita aprobación, podría divulgar información sensible a destinatarios no autorizados.
Ejemplo 4: Acceso no controlado a Jira
Contexto: El LLM está integrado con Jira para facilitar a los devs sus tareas.
Prompt malicioso:
Impacto: Si el LLM no verifica quien ni qué se está solicitando, un usuario malintencionado puede obtener información sensible de la empresa.
Mitigación
Principio de mínimo privilegio: Asigna al LLM solo los permisos necesarios y limita su acceso a APIs y sistemas externos.
Validación humana: Requiere aprobación manual antes de ejecutar acciones críticas como eliminar datos o realizar transferencias.
Restricción de APIs y plugins: Limita las integraciones permitidas mediante listas blancas y autenticación estricta.
Filtrado de prompts: Revisa y valida los prompts que desencadenan acciones sensibles, rechazando los riesgosos.
Monitoreo y registro: Supervisa y registra todas las acciones del LLM, especialmente las que afectan sistemas externos.
Definir límites y políticas: Establece reglas claras sobre las acciones permitidas y restringe automatizaciones peligrosas.
Aislamiento y sandboxing: Ejecuta el LLM en entornos controlados para limitar su capacidad de interacción externa.
Laboratorios
Referencias
Última actualización