Introducción

El problema no es si las nubes ofrecen sandboxes para ejecutar código generado por agentes, sino qué tan seguro y práctico resulta hacerlo en producción. AWS, Google Cloud, Microsoft Azure y Cloudflare lanzaron en 2024 sus propias versiones de sandboxes para agentes, pero cada una eligió un stack de aislamiento distinto, con límites de tiempo, memoria y gobernanza que afectan directamente a equipos de DevOps, SRE y seguridad.

Por ejemplo, mientras AWS usa microVMs con Firecracker para aislar cada sesión de Lambda hasta 8 horas, Google Cloud apuesta por gVisor en GKE Agent Sandbox y Cloud Run, compartiendo recursos con el contenedor padre. Azure, en cambio, recurre a Hyper-V para sus dynamic sessions, y Cloudflare monta sandboxes sobre Workers y Durable Objects, cada una en su propia VM. Estas diferencias no son cosméticas: definen cómo escalás, cuánto pagás y qué tan expuesto estás ante fugas de credenciales o fugas de memoria.

Qué ocurrió

En 2024, las cuatro nubes principales completaron sus ofertas de sandboxes para agentes:

ProveedorTecnología baseModelo de aislamientoTiempo máximoPrimera release pública
**AWS**Firecracker (MicroVMs)VM dedicada por sesión8 horasNoviembre 2023 (GA)
**Google Cloud**gVisor (kernel interception) + Cloud RunAislamiento en proceso o contenedor compartido5 minutos (Cloud Run), configurable en GKEMayo 2024 (Cloud Run), beta en GKE
**Microsoft Azure**Hyper-V (Windows Server)Sesión aislada por contenedor1 hora (default), extensibleMarzo 2024 (GA)
**Cloudflare**Workers + Durable Objects + VMsVM por sandbox, control via Workers30 minutos (default)Abril 2024 (beta)
La arquitectura elegida por cada proveedor refleja una decisión de diseño crítica:
  • AWS y Cloudflare optaron por virtualización pesada (MicroVMs y VMs respectivas), con fronteras de aislamiento claras pero mayor overhead.
  • Google Cloud priorizó aislamiento en usuario-space con gVisor para GKE y compartición de recursos en Cloud Run, sacrificando seguridad en pos de velocidad.
  • Azure usa Hyper-V, una tecnología madura pero con limitaciones en densidad de instancias y soporte multiplataforma.

En todos los casos, el sandbox no resuelve el problema de qué hace el código con las credenciales que le das: eso sigue siendo responsabilidad de la capa de gobernanza (IAM, secrets management, políticas de ejecución).

Impacto para DevOps / Infraestructura / Cloud / Seguridad

DevOps: ¿Scalabilidad o control?

  • AWS Lambda MicroVMs permiten hasta 8 horas de ejecución por sesión, pero solo en instancias Graviton en 5 regiones. Si tu equipo depende de x86 o necesita más regiones, tenés que orquestar manualmente.
  • Cloud Run sandboxes comparten CPU y memoria con el contenedor padre. Un script descontrolado puede DoSear tu servicio principal. Google reportó en su demo 1.000 sandboxes iniciados en 500ms promedio, pero sin límites de CPU/memoria por sandbox, lo que exige monitoreo externo.
  • Azure Hyper-V sessions consumen más de 400.000 sesiones diarias solo para Copilot. Esto demuestra escalabilidad, pero cada sesión arranca una VM completa, lo que impacta en costos y tiempo de cold-start.
Dato clave: Cloudflare reportó que sus sandboxes en Workers + Durable Objects escalan mejor que soluciones basadas en Kubernetes o VMs tradicionales, pero pierden coherencia de estado entre ejecuciones.

Seguridad: ¿Dónde está el verdadero riesgo?

El sandbox define el techo de exposición, pero el piso lo da la gobernanza:

  • Firecracker (AWS) y gVisor (Google) mitigan fugas de kernel, pero no evitan que un agente con credenciales de S3 liste buckets si no hay políticas de IAM restrictivas.
  • Cloudflare Workers aísla el código en usuario-space, pero DDoS desde un sandbox sigue siendo posible si el Worker tiene permisos de red sin límites.
Ejemplo real:

En mayo 2024, un investigador demostró que sandboxes en Cloud Run podían acceder a metadatos de la instancia padre si el contenedor no tenía --no-access-sandbox configurado. Google parcheó el comportamiento, pero el incidente muestra que la configuración por defecto no siempre es segura.

Cloud: ¿Comoditización o fragmentación?

Las diferencias en:

  • Tiempo máximo de ejecución (30 min en Cloudflare vs. 8h en AWS),
  • Soporte de arquitectura (Graviton-only en AWS),
  • Modelo de pricing (Cloud Run sin costo extra vs. VMs en Azure),
crean un mercado donde mover cargas entre nubes no es trivial. Un equipo que arme su arquitectura alrededor de AWS Lambda MicroVMs tendrá que reescribir orquestación si migra a Azure Hyper-V.

Detalles técnicos

AWS: Firecracker MicroVMs en Lambda

  • Versión afectada: Lambda MicroVMs GA desde noviembre 2023.
  • Stack: Firecracker 1.7+ sobre KVM, con kernel Linux 6.1+.
  • Límite por sesión:
– 8 horas de runtime.

– 10 GB de RAM.

– 1 vCPU.

  • Vectores:
Fuga de memoria: Firecracker usa memory ballooning para limitar consumo, pero un bucle malicioso puede llenar la memoria antes de que el host reaccione.

Tiempo de arranque: ~150ms en instancias Graviton 3 (regiones us-east-1, eu-west-1, etc.).

Comando de verificación:
aws lambda list-functions --query "Functions[?starts_with(Runtime, 'provided.al2023')]"

Esto lista funciones usando MicroVMs (runtime provided.al2023).

Google Cloud: gVisor en GKE y Cloud Run

  • Versiones:
– Cloud Run: mayo 2024 (preview).

– GKE Agent Sandbox: beta desde junio 2024.

  • Stack:
Cloud Run: Aislamiento via sandbox-launcher (binario /usr/local/gcp/bin/sandbox), que usa gVisor en modo user-space.

GKE: Cada pod tiene su propio gVisor, interceptando syscalls del kernel Linux.

  • Límites:
– Cloud Run: 5 minutos por defecto (configurable a 60 min max).

– GKE: Hasta 7 días, pero comparte CPU/memoria con el nodo.

  • Riesgo:
DoS por consumo de recursos: Un sandbox en Cloud Run puede agotar la CPU del contenedor padre si no hay CPU throttling configurado.Ejemplo de deployment con sandbox en Cloud Run:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: agent-runner
spec:
  template:
    spec:
      containers:
      - image: gcr.io/cloudrun/container
        command: ["/usr/local/gcp/bin/sandbox", "--sandbox-flags=--max-duration=10m"]

Microsoft Azure: Hyper-V en Container Apps

  • Versión afectada: Azure Container Apps Dynamic Sessions GA desde marzo 2024.
  • Stack: Hyper-V sobre Windows Server 2022, con Windows Server Containers en modo híbrido.
  • Límites:
– 1 hora por defecto.

– 4 GB de RAM.

– 2 vCPUs.

  • Escalabilidad:
– Más de 400.000 sesiones diarias para Copilot (según Microsoft).

Cold-start: ~2-3 segundos por sesión (mejor que AWS Firecracker en algunos casos).

  • Riesgo:
Fuga de kernel: Hyper-V es seguro, pero un agente malicioso podría explotar vulnerabilidades en el Windows Container Host (ej: CVE-2024-21312 en marzo 2024).Comando de verificación:
az containerapp session list --name my-app --resource-group my-rg

Cloudflare: Workers + Durable Objects + VMs

  • Versión afectada: Beta desde abril 2024.
  • Stack:
Workers: Aislamiento en usuario-space (V8 isolates).

Durable Objects: Estado persistente por sandbox, pero no compartido entre Workers.

VMs: Cada sandbox se ejecuta en una VM aislada (basada en KVM), controlada via Cloudflare Workers Runtime.

  • Límites:
– 30 minutos por defecto.

– 128 MB de memoria por Worker.

Sin soporte para GPU.

  • Riesgo:
Fuga de CPU: Un Worker malicioso puede usar el 100% de la CPU en un isolate, afectando otros Workers en el mismo pool.Ejemplo de código en Workers:
export default {
  async fetch(request, env) {
    const sandbox = env.SANDBOX.new({
      timeout: 10 * 1000, // 10 segundos
      memoryLimit: 64 * 1024 * 1024 // 64 MB
    });
    return await sandbox.run(request);
  }
};

Qué deberían hacer los administradores y equipos técnicos

1. Evaluá el modelo de sandbox según tu caso de uso

Caso de usoProveedor recomendadoAcción concreta
**Agentes de larga duración** (ej: LLMs locales)**AWS Lambda MicroVMs**Actualizar al runtime BLOCK10 en us-east-1. Verificá con: BLOCK11.
**Servicios serverless con alto throughput****Google Cloud Run**Habilitar BLOCK12 en tu *service*. Limitá duración a 5 min con BLOCK13.
**Integración con Active Directory****Azure Container Apps**Usá BLOCK14. Configurá IAM con *least privilege*.
**Edge computing o low-latency****Cloudflare Workers**Deploy con BLOCK15. Limitá memoria a 64 MB para evitar DoS.
### 2. Aplicá gobernanza fuera del sandbox

El sandbox solo define el límite inferior de exposición. El 90% de los incidentes ocurren por credenciales mal configuradas:

  • AWS: Usá IAM Roles for Lambda MicroVMs con políticas de read-only para S3.
  • Google Cloud: Configurá service accounts con Workload Identity Federation para Cloud Run.
  • Azure: Restringí permisos de la Managed Identity del Container App a Reader en Resource Groups específicos.
  • Cloudflare: Usá Service Tokens con scopes limitados para Workers.
Ejemplo de política IAM en AWS:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::my-bucket"],
      "Condition": {"StringEquals": {"s3:EffectivePermission": "ReadOnly"}}
    }
  ]
}

3. Monitoreá recursos y comportamientos anómalos

  • Cloud Run: Configurá CPU throttling en el service para limitar consumo por sandbox.
  • Azure Container Apps: Usá Azure Monitor con métricas de ContainerAppSessionDuration y ContainerAppSessionMemory.
  • AWS Lambda: Activá CloudWatch Logs Insights con query:
  filter @message like /MicroVMSandbox/
  | stats count(*) by bin(@message, "duration_ms") as duration
  | sort duration desc
  

4. Planificá la migración entre nubes (o quédate en una)

Si tu arquitectura depende de Firecracker (AWS), migrar a Hyper-V (Azure) requiere:

  • Reescribir orquestación (ej: de Step Functions a Azure Logic Apps).
  • Ajustar límites de recursos (Azure limita a 4 GB de RAM vs. 10 GB en AWS).
Alternativa: Usá Rust como lenguaje seguro para agentes. Ejemplo con wasmtime:
use wasmtime::*;
let engine = Engine::default();
let store = Store::new(&engine, ());
let module = Module::from_file(&engine, "agent.wasm")?;
let instance = Instance::new(&store, &module, &[])?;

Conclusión

Las sandboxes de agentes ya son un commodity en las nubes, pero su valor real depende de cómo las uses. AWS ofrece el aislamiento más robusto (Firecracker), Google prioriza velocidad (Cloud Run + gVisor), Azure apuesta por integración con Active Directory, y Cloudflare por edge computing.

La decisión técnica correcta no es elegir la nube, sino:
  1. Definir el riesgo aceptable (ej: ¿DoS en Cloud Run vs. fuga de kernel en Hyper-V?).
  2. Aislar el sandbox de las credenciales (IAM, secrets management).
  3. Monitorear recursos como si cada sesión fuera un contenedor crítico.

El futuro no está en más sandboxes, sino en cómo gobernás qué hacen los agentes una vez aislados. Las cuatro nubes ya resolvieron el problema de dónde ejecutar código; ahora el desafío es qué código ejecutar.

Fuentes

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *