En pocas palabras
Ejecuta agentes en entornos aislados con límites de archivos, red y recursos.
Qué problema resuelve
Comandos autónomos que pueden dañar el entorno o exponer credenciales y datos.
Cuándo utilizarlo
Agentes capaces de ejecutar código. Ejemplo: permitir builds en un repositorio sin acceso al directorio personal.
De la idea a la práctica
Funcionamiento, ejemplos y decisiones para pasar al siguiente nivel.
En el Radar compartido: Trial (valoración de la edición aportada).
Cómo funciona
Se definen rutas legibles y escribibles, destinos de red y presupuestos de CPU, memoria y tiempo. Contenedores, namespaces y microVMs ofrecen distintos niveles de separación.
Ejemplo de uso
Crear un entorno con la toolchain instalada, montar solo la copia de trabajo y proporcionar tokens temporales limitados. Publicar únicamente el puerto necesario para revisar la aplicación.
Niveles de aislamiento
| Nivel | Ejemplos | Aislamiento | Coste |
|---|---|---|---|
| Sandbox del sistema operativo | bubblewrap (Linux), Seatbelt (macOS); sandbox nativo de algunos agentes | Archivos y red del proceso | Muy bajo |
| Contenedor | Docker, Podman, Dev Containers | Procesos y sistema de archivos; comparte kernel | Bajo |
| Kernel en espacio de usuario | gVisor | Intercepta llamadas al sistema | Medio |
| MicroVM | Firecracker, Kata Containers | Kernel propio, aislamiento de hardware | Medio |
| Entorno remoto desechable | Codespaces, servicios de sandbox (E2B, Daytona, Modal…), agentes en la nube | Fuera de la máquina del desarrollador | Variable |
Contenedor endurecido para un agente
docker run --rm -it \
--user 1000:1000 \
--cap-drop ALL --security-opt no-new-privileges \
--read-only --tmpfs /tmp:rw,size=512m \
--memory 4g --cpus 2 --pids-limit 512 \
--network agente-egress \ # red con salida solo a un proxy con lista blanca
-v "$PWD":/workspace:rw -w /workspace \
imagen-agente:1.4
Lo que no debe montarse: el socket de Docker, el directorio personal completo, ~/.ssh, ~/.aws o ~/.config/gcloud, ni archivos .env con secretos de producción.
Control de red
| Política | Uso |
|---|---|
| Sin red | Refactorizaciones y pruebas con dependencias ya instaladas |
| Lista blanca vía proxy | Registros de paquetes (npm, Maven Central, PyPI) y la API del modelo |
| Red completa | Solo en entornos desechables sin credenciales |
La exfiltración es el riesgo principal cuando el agente procesa contenido no confiable (issues, páginas web, dependencias): con red libre, una instrucción inyectada puede enviar el código fuera.
Credenciales
- Tokens de corta duración y alcance mínimo (por ejemplo, solo lectura del repositorio y escritura en una rama).
- Sin acceso a producción; si el agente necesita datos, una copia anonimizada.
- Las acciones con efectos externos (push, abrir PR, desplegar) pasan por un componente fuera del sandbox con sus propias reglas.
Comprobar el aislamiento
Pide al propio agente, dentro del sandbox, que intente leer ~/.ssh, alcanzar un dominio no permitido o escribir fuera del workspace, y verifica que falla. Repite la prueba tras cambiar la configuración o la imagen. Es el complemento operativo de los feedback sensors: los sensores mejoran la calidad, el sandbox limita el daño.
Criterios de implementación
Evitar montajes amplios y sockets administrativos. Diseñar recuperación de sesión, limpieza y autenticación; comprobar qué puede alcanzar realmente el agente desde el sandbox.
Continúa en las fuentes
Documentación oficial para verificar detalles y explorar más.