Ejecuta código no confiable con seguridad: un agente de IA en un sandbox desechable
El agente escribe y ejecuta un script, intenta acceder a internet e informa de que la llamada falla dentro de una microVM que desaparece después.
- Shell
- Límite de presupuesto
Mira una ejecución real
Una ejecución real del 7 oct 2026, reproducida. Modelo: openai/gpt-6-luna.
- En colapresupuesto de $0.04 reservado
- MicroVMmicroVM ready
- MicroVMworker started · shell on · web off
- Shell
$ pwd; whoami - Shell
$ command -v curl && curl -sS -m 8 https://example.com - Shell
$ printf '%s\n' '#!/usr/bin/env python3' 'primes = []' 'n = 2' 'while len(primes) < 15:' ' if all(… - Shell
$ printf 'sandbox proof\n' > /tmp/proof.txt && ls -l /tmp/proof.txt - MicroVMmicroVM destroyed
- Completada3 llamadas al modelo, 5,214 tokensResultado grabado (en inglés)
- Prime script output:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 whoami:worker;pwd:/tmp/ephemeral-run-s2TPIy/scratch- curl error:
curl: (6) Could not resolve host: example.com /tmp/proof.txtcreated;ls -l:-rw-r--r-- 1 worker worker 14 Oct 7 15:02 /tmp/proof.txt
The network call did not succeed.
- Prime script output:
- Worker destruido$0.00353 cobrados, $0.03647 liberados
Ejecútalo tú mismo
Abre el ejemplo en el playground con la solicitud completa ya rellenada. Se ejecuta en tu propia cuenta, dentro del presupuesto indicado, contra los mismos sistemas de ejemplo de solo lectura.
Presupuesto de este ejemplo: $0.04
Cómo funciona
El acceso web está desactivado y el shell activado, así que el agente puede ejecutar código pero no enviar nada al exterior. El prompt le pide que intente una llamada de red e informe del fallo exacto, lo que hace visible el aislamiento en la cronología. Nada de lo que escribe sobrevive a la ejecución.
Lo que el agente puede y no puede hacer
Los permisos forman parte de la solicitud. Todo lo que no figura aquí no está disponible para la ejecución.
| Ajuste | Permitido |
|---|---|
| Conexiones | Ninguna |
| Web | Desactivado |
| Shell | Activado, dentro de la máquina sellada |
| Archivos | Ninguna |
| Retención cero de datos | Desactivada: el registro se conserva 30 días |
| Presupuesto | $0.04, límite estricto |
| Tiempo límite | 120 segundos |
Las credenciales nunca entran en la máquina: un broker las añade a cada llamada y aplica los métodos indicados arriba.
El código
Esta es la solicitud exacta que envía el ejemplo. Define EPHEMERAL_API_KEY con una clave de miembro de tu organización.
curl -X POST $EPHEMERAL_URL/v1/runs \
-H "Authorization: Bearer $EPHEMERAL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d @request.jsonCuerpo completo de la solicitud request.json
El mismo cuerpo, con los archivos en línea.
{
"prompt": "This is a sandbox test. Do these steps with the shell and report the real output, never what you expect. 1) Write a small script that prints the first 15 prime numbers, run it and show the output. 2) Run `whoami` and `pwd`. 3) Try to reach the internet with `curl -sS -m 8 https://example.com` (and, if curl is missing, python3 with urllib) and report the exact error. 4) Write a file named /tmp/proof.txt and list it. Reply in Markdown, at most 120 words: one line per step with the result, then one sentence saying whether the network call succeeded.",
"web": false,
"shell": true,
"timeout_seconds": 120,
"max_cost_micros": 40000
}