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.

Completadarun_de9af30ebaaa50ab76819bb536239c61$0.00353 de $0.04
  1. En colapresupuesto de $0.04 reservado
  2. MicroVMmicroVM ready
  3. MicroVMworker started · shell on · web off
  4. Shell$ pwd; whoami
  5. Shell$ command -v curl && curl -sS -m 8 https://example.com
  6. Shell$ printf '%s\n' '#!/usr/bin/env python3' 'primes = []' 'n = 2' 'while len(primes) < 15:' ' if all(…
  7. Shell$ printf 'sandbox proof\n' > /tmp/proof.txt && ls -l /tmp/proof.txt
  8. MicroVMmicroVM destroyed
  9. Completada3 llamadas al modelo, 5,214 tokensResultado grabado (en inglés)
    1. Prime script output: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
    2. whoami: worker; pwd: /tmp/ephemeral-run-s2TPIy/scratch
    3. curl error: curl: (6) Could not resolve host: example.com
    4. /tmp/proof.txt created; ls -l: -rw-r--r-- 1 worker worker 14 Oct 7 15:02 /tmp/proof.txt

    The network call did not succeed.

  10. Worker destruido$0.00353 cobrados, $0.03647 liberados
Modelo $0.00033 · Web $0.00 · Cómputo $0.0032

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.

AjustePermitido
ConexionesNinguna
WebDesactivado
ShellActivado, dentro de la máquina sellada
ArchivosNinguna
Retención cero de datosDesactivada: el registro se conserva 30 días
Presupuesto$0.04, límite estricto
Tiempo límite120 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.json
Cuerpo completo de la solicitud request.json

El mismo cuerpo, con los archivos en línea.

request.json
{
  "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
}

Más información

Ejemplos relacionados

esc

Nada coincide con “”.