신뢰할 수 없는 코드를 안전하게 실행하기: 일회용 샌드박스 속 AI 에이전트

에이전트가 스크립트를 작성해 실행하고 인터넷에 접근을 시도한 뒤, 나중에 사라지는 microVM 안에서 호출이 실패한다고 보고합니다.

  • 셸
  • 예산 상한

실제 실행 보기

2026년 10월 7일에 기록된 실제 실행을 다시 재생합니다. 모델: openai/gpt-6-luna.

성공run_de9af30ebaaa50ab76819bb536239c61$0.04 중 $0.00353
  1. 대기 중예산 $0.04 예약됨
  2. MicroVMmicroVM ready
  3. MicroVMworker started · shell on · web off
  4. 셸$ pwd; whoami
  5. 셸$ command -v curl && curl -sS -m 8 https://example.com
  6. 셸$ printf '%s\n' '#!/usr/bin/env python3' 'primes = []' 'n = 2' 'while len(primes) < 15:' ' if all(…
  7. 셸$ printf 'sandbox proof\n' > /tmp/proof.txt && ls -l /tmp/proof.txt
  8. MicroVMmicroVM destroyed
  9. 성공모델 호출 3회, 토큰 5,214개기록된 출력 (영어)
    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. 워커 폐기됨$0.00353 청구, $0.03647 반환
모델 $0.00033 · 웹 $0.00 · 컴퓨팅 $0.0032

직접 실행하기

요청이 모두 채워진 상태로 플레이그라운드에서 샘플을 엽니다. 내 계정에서 표시된 예산 안에서, 같은 읽기 전용 샘플 시스템을 대상으로 실행됩니다.

이 샘플의 예산: $0.04

작동 방식

웹 액세스는 꺼져 있고 셸은 켜져 있어, 에이전트는 코드를 실행할 수 있지만 아무것도 밖으로 보낼 수 없습니다. 프롬프트가 네트워크 호출을 시도하고 정확한 실패 내용을 보고하라고 요청하므로, 타임라인에서 격리 상태가 눈에 보입니다. 에이전트가 쓴 것은 실행이 끝나면 남지 않습니다.

에이전트가 할 수 있는 일과 할 수 없는 일

권한은 요청의 일부입니다. 여기에 나열되지 않은 것은 실행에서 사용할 수 없습니다.

설정허용 범위
연결없음
웹꺼짐
셸켜짐, 밀폐된 머신 안에서
파일없음
데이터 무보존꺼짐: 기록이 30일간 보관됩니다
예산$0.04, 하드 캡
시간 제한120초

자격 증명은 머신 안으로 들어가지 않습니다. 브로커가 각 호출에 자격 증명을 추가하고 위의 메서드를 강제합니다.

코드

샘플이 보내는 정확한 요청입니다. EPHEMERAL_API_KEY를 내 조직의 멤버 키로 설정하세요.

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
전체 요청 본문 request.json

파일이 인라인으로 포함된 같은 본문입니다.

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
}

더 알아보기

관련 샘플

esc

“”와(과) 일치하는 항목이 없습니다.