Agent Sandboxing
Descubre cómo el aislamiento de agentes limita el acceso a archivos y redes, y reduce los riesgos de inyección de prompts, uso indebido de herramientas y extracción de datos.
El aislamiento de agentes consiste en ejecutar un agente de IA, sus herramientas o el código que genera en un entorno de ejecución restringido. El entorno aislado limita los archivos, las redes, las credenciales, los procesos y los recursos informáticos a los que puede acceder el agente. Si el agente toma una decisión insegura o procesa instrucciones maliciosas, esos límites reducen el posible impacto en los sistemas de producción y los datos confidenciales.
Cómo funciona el aislamiento de agentes#
Un agente suele operar mediante un entorno de ejecución del agente que conecta un modelo con herramientas, memoria, API y bucles de ejecución. El aislamiento añade una capa de aplicación de políticas en torno a estas capacidades. En lugar de confiar en que el modelo siga una instrucción como «no accedas a archivos privados», el entorno operativo impide técnicamente ese acceso.
Un entorno aislado práctico puede combinar:
- Un contenedor efímero o una máquina virtual que se destruye al terminar la tarea.
- Un sistema de archivos base de solo lectura con un pequeño espacio de trabajo con permisos de escritura.
- Reglas de tráfico de salida de red que permitan únicamente dominios aprobados o servicios internos.
- Credenciales de corta duración, limitadas al usuario y la tarea actuales.
- Límites de CPU, memoria, almacenamiento, procesos y tiempo de ejecución.
- Registros de auditoría que cubran las llamadas a herramientas, los cambios en archivos, las solicitudes de red y las infracciones de políticas.
Los controles de Linux, como el perfil predeterminado de seccomp de Docker, pueden restringir las llamadas al sistema, mientras que las restricciones de recursos de Docker limitan el consumo de recursos. A escala de clúster, las políticas de red de Kubernetes pueden controlar con qué servicios se comunica una carga de trabajo del agente.
Por qué es importante el aislamiento de agentes#
Los agentes pueden realizar acciones mediante la llamada a funciones y el uso de herramientas, por lo que sus fallos pueden tener más consecuencias que una respuesta incorrecta de un chatbot. Un agente de programación podría ejecutar comandos de shell, mientras que un agente de operaciones podría actualizar registros o iniciar despliegues.
La guía de seguridad de agentes de IA de OWASP identifica riesgos como el uso indebido de herramientas, la escalada de privilegios, el envenenamiento de la memoria y la exfiltración de datos. El aislamiento ayuda a contener estos riesgos, especialmente cuando un agente se encuentra con una inyección de prompts oculta en una página web, un documento, los metadatos de una imagen o la respuesta de una herramienta. La guía de OWASP para prevenir la inyección de prompts recomienda aplicar defensas por capas, ya que el filtrado de entradas por sí solo no puede identificar de forma fiable todas las instrucciones maliciosas.
El aislamiento también aborda la autonomía excesiva. Un agente con herramientas innecesarias, credenciales amplias y autonomía sin restricciones puede realizar acciones perjudiciales tras un error del modelo o una entrada manipulada. La guía de OWASP sobre autonomía excesiva recomienda reducir al mínimo las funciones de las herramientas, los permisos y la autonomía, en lugar de confiar únicamente en el comportamiento del modelo.
Aislamiento frente a controles relacionados#
El aislamiento de agentes complementa otros mecanismos de seguridad, pero no los sustituye:
- Barreras de seguridad de IA: Las barreras de seguridad inspeccionan las entradas, las salidas o las acciones propuestas. Un entorno aislado impone límites al entorno incluso cuando las barreras no detectan una amenaza.
- Control de acceso: La autorización determina si una acción está permitida. El aislamiento limita los recursos disponibles si se eluden los mecanismos de autorización. Las prácticas recomendadas de gestión de identidades y accesos de AWS destacan el uso de credenciales temporales y permisos de mínimo privilegio.
- Contenedorización: Los contenedores empaquetan y aíslan procesos, pero la configuración predeterminada de un contenedor no constituye necesariamente una barrera de seguridad sólida. La Guía de inicio rápido de Docker de Ultralytics ofrece entornos de visión artificial coherentes y aislados, mientras que los entornos aislados de producción requieren restricciones adicionales del sistema de archivos, las capacidades, la red y los recursos.
- Entornos de prueba: Un «entorno aislado» de desarrollo es una copia de un sistema que no está en producción. El aislamiento de agentes restringe específicamente la ejecución y puede aplicarse tanto en desarrollo como en producción.
Ultralytics Agent Skills proporciona instrucciones reutilizables para agentes de programación, pero las habilidades no crean una barrera de aislamiento. Aun así, debes revisar sus scripts y dependencias y ejecutarlos con los permisos adecuados.
Aplicaciones en el mundo real#
Agentes de programación empresariales: Un agente de programación puede inspeccionar un repositorio, modificar archivos y ejecutar pruebas en un espacio de trabajo temporal. El entorno aislado monta únicamente el repositorio asignado, bloquea las credenciales de producción, restringe el tráfico saliente a los registros de paquetes aprobados y exige la aprobación de una persona antes de fusionar o desplegar. Por tanto, una dependencia comprometida o una instrucción inyectada no puede explorar libremente el almacenamiento interno ni transmitir el código fuente.
Agentes de operaciones con capacidad de visión: Un agente de almacén puede analizar imágenes de cámaras con Ultralytics YOLO26, identificar pasillos bloqueados y abrir solicitudes de mantenimiento. Su entorno aislado puede proporcionar acceso de solo lectura a las imágenes recibidas y acceso a la red únicamente a las API de inferencia y de gestión de solicitudes. No debería recibir acceso sin restricciones a la administración de cámaras, los registros de empleados ni las credenciales de despliegue.
El paso de percepción puede usar el flujo de trabajo de predicción de Ultralytics YOLO documentado:
from pathlib import Path
from ultralytics import YOLO
source = "https://ultralytics.com/images/bus.jpg"
output_path = Path("sandbox_result.jpg")
# Ejecuta la inferencia visual dentro del espacio de trabajo restringido
model = YOLO("yolo26n.pt")
results = model(source)
result = results[0]
result.save(filename=str(output_path))El código de Python realiza una inferencia normal; el entorno de ejecución que lo rodea proporciona el aislamiento al restringir los archivos, la red, las credenciales y los recursos.
Consejos prácticos de diseño#
Empieza sin conceder acceso y permite explícitamente solo lo que requiera cada tarea. Usa espacios de trabajo temporales, credenciales de corta duración, montajes de solo lectura, listas de permitidos para el tráfico saliente, tiempos de espera y cuotas de recursos. Exige aprobación para las acciones irreversibles y mantén las comprobaciones de autorización fuera del modelo.
Registra cada acción intentada, incluidas las operaciones bloqueadas, sin exponer secretos en los registros. Los equipos pueden usar la supervisión de despliegues de Ultralytics Platform para observar las solicitudes, la latencia, los errores y el estado de los endpoints de visión en los flujos de trabajo de los agentes. Por último, prueba el sistema completo con archivos maliciosos, prompts indirectos, llamadas repetidas a herramientas e intentos de agotamiento de recursos. El Manual del Marco de Gestión de Riesgos de IA del NIST ofrece una estructura más amplia para gobernar, medir y gestionar continuamente estos riesgos.









