Nicht vertrauenswürdigen Code sicher ausführen: ein KI-Agent in einer Wegwerf-Sandbox

Der Agent schreibt und führt ein Skript aus, versucht das Internet zu erreichen und meldet, dass der Aufruf in einer microVM fehlschlägt, die danach verschwindet.

  • Shell
  • Budgetlimit

Eine echte Ausführung ansehen

Eine echte Ausführung vom 7. Okt. 2026, erneut abgespielt. Modell: openai/gpt-6-luna.

Erfolgreichrun_de9af30ebaaa50ab76819bb536239c61$0.00353 von $0.04
  1. In WarteschlangeBudget $0.04 reserviert
  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. Erfolgreich3 Modellaufrufe, 5,214 TokensAufgezeichnete Ausgabe (Englisch)
    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 zerstört$0.00353 berechnet, $0.03647 freigegeben
Modell $0.00033 · Web $0.00 · Rechenleistung $0.0032

Selbst ausführen

Öffnen Sie das Beispiel im Playground, mit der vollständig ausgefüllten Anfrage. Es läuft in Ihrem eigenen Konto, innerhalb des angezeigten Budgets, gegen dieselben schreibgeschützten Beispielsysteme.

Budget für dieses Beispiel: $0.04

So funktioniert es

Der Webzugriff ist aus und die Shell ist an, sodass der Agent Code ausführen, aber nichts nach außen senden kann. Der Prompt bittet ihn, einen Netzwerkaufruf zu versuchen und den genauen Fehler zu melden, was die Isolation im Zeitverlauf sichtbar macht. Nichts, was er schreibt, überlebt die Ausführung.

Was der Agent tun kann und was nicht

Die Berechtigungen sind Teil der Anfrage. Alles, was hier nicht aufgeführt ist, steht der Ausführung nicht zur Verfügung.

EinstellungErlaubt
VerbindungenKeine
WebAus
ShellAn, innerhalb der abgeschotteten Maschine
DateienKeine
Null-DatenspeicherungAus: Das Protokoll wird 30 Tage lang gespeichert
Budget$0.04, ein festes Limit
Timeout120 Sekunden

Zugangsdaten gelangen nie in die Maschine: Ein Broker ergänzt sie bei jedem Aufruf und erzwingt die oben genannten Methoden.

Der Code

Das ist die genaue Anfrage, die das Beispiel sendet. Setzen Sie EPHEMERAL_API_KEY auf einen Mitgliedsschlüssel Ihrer Organisation.

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
Vollständiger Anfragetext request.json

Derselbe Text, mit den Dateien inline.

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
}

Mehr erfahren

Ähnliche Beispiele

esc

Keine Treffer für „“.