0Pricing
AI Agents · 강의

코드 에이전트를 위한 샌드박스 실행

모델이 생성한 코드를 호스트에서 절대 실행하지 마세요. gVisor, Firecracker 또는 E2B 샌드박스를 사용하세요.

코드 에이전트를 위한 샌드박스 실행은(는) CoddyKit의 무료 AI Agents 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AI Agents 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AI Agents 강의에는 총 4개의 강의가 포함되어 있습니다.

이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.

왜 Sandbox인가요?

코드 에이전트(Devin, Claude Code, OpenDevin)는 모델이 생성한 코드를 실행합니다. 호스트에서 해당 코드를 실행하면 모델이 다음과 같은 일을 할 수 있습니다.

  • 비밀 정보 / API 키 읽기
  • 파일 삭제
  • 외부 네트워크 호출
  • 암호화폐 채굴

Sandbox는 피해를 제한하는 격리된 환경입니다.

격리 수준

수준도구용도
프로세스subprocess + chroot보안 수준 낮음, 개발 전용
컨테이너Docker괜찮은 기본 선택
VM / microVMFirecracker, gVisor강력한 격리
호스팅 SandboxE2B, Daytona프로덕션에 가장 간편

Docker Sandbox Basics

docker run \
  --rm \
  --network=none \
  --memory=512m \
  --cpus=0.5 \
  --read-only \
  --user=nobody \
  -v /tmp/work:/work:rw \
  python:3.11-slim \
  python /work/script.py

네트워크 격리

--network=none은 외부 트래픽을 차단합니다. 일부 작업에는 제한된 인터넷이 필요하므로, 특정 호스트만 허용 목록에 추가하는 송신 프록시를 사용하십시오.

리소스 제한

상한을 설정하면 CPU와 메모리가 무한히 사용되는 것을 방지할 수 있습니다.

  • --memory — RAM 상한
  • --cpus — CPU 할당량
  • --pids-limit — 프로세스 수
  • --ulimit — 파일 디스크립터

Firecracker / gVisor

Docker보다 강력한 격리가 필요한 경우 다음을 사용하십시오.

  • Firecracker — AWS의 microVM으로, Lambda에서 사용됩니다
  • gVisor — Google의 사용자 공간 커널로, Docker에 바로 적용할 수 있습니다
  • Kata Containers — VM 격리를 제공하는 Docker 사용자 경험

E2B 호스팅 Sandbox

E2B (e2b.dev)는 API를 통해 원격 Sandbox를 제공합니다.

# pip install e2b
import e2b
sandbox = e2b.Sandbox(template='python', api_key='...')

result = sandbox.run_code('print(2 + 2)')
print(result.stdout)   # '4'

sandbox.close()

Daytona

Daytona는 개발 작업 공간을 대상으로 유사한 호스팅 Sandbox 기능을 제공합니다.

파일 시스템 Sandbox

에이전트에 필요한 항목만 읽기-쓰기로 마운트하고, 나머지는 모두 읽기 전용으로 설정하거나 숨기십시오.

docker run -v ${PWD}/workdir:/workdir:rw \
           -v ${PWD}/readonly:/readonly:ro ...

시간 제한

무한 루프를 방지하려면 실행의 실제 경과 시간을 제한하십시오.

docker run --rm --stop-timeout 30 ... \
  python -c 'import resource; resource.setrlimit(resource.RLIMIT_CPU, (30, 30)); exec(open("/work/script.py").read())'

기록

모든 명령, 모든 출력, 모든 파일 변경 사항을 수집하십시오. 위험도가 높은 에이전트에서는 전체 Sandbox 세션을 감사 로그로 기록하십시오.

멀티테넌트 Sandbox

사용자별 Sandbox를 사용하면 사용자가 서로의 상태를 오염시키는 것을 방지할 수 있습니다. 세션마다 새로운 Sandbox를 시작하고 세션이 끝나면 해제하십시오.

비용과 보안

더 강력한 격리는 더 높은 비용을 의미합니다(VM별 오버헤드). 위험도에 맞는 수준을 선택하십시오.

  • 사용자용 튜토리얼 / Sandbox 기능: Docker로 충분합니다
  • 비밀 정보에 접근하는 프로덕션 코드: Firecracker / E2B

네트워크 봉쇄

코드 에이전트가 외부로 네트워크 호출을 전혀 하지 못하게 하려면 어떻게 해야 합니까?

복습

모델이 생성한 코드를 호스트에서 절대 실행하지 마십시오. 위험도에 따라 격리 수준을 선택하십시오. 개발에는 Docker를, 운영에는 gVisor / Firecracker / E2B를 사용하십시오. CPU, 메모리, 실행 시간, 네트워크를 제한하십시오.

자주 묻는 질문

“코드 에이전트를 위한 샌드박스 실행” 강의는 무료인가요?

네 — “코드 에이전트를 위한 샌드박스 실행” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AI Agents 강의 전체를 잠금 해제할 수 있습니다. AI Agents 강의에는 총 4개의 강의가 포함되어 있습니다.

“코드 에이전트를 위한 샌드박스 실행”에서 뭘 배우나요?

모델이 생성한 코드를 호스트에서 절대 실행하지 마세요. gVisor, Firecracker 또는 E2B 샌드박스를 사용하세요. 브라우저에서 직접 실행하는 실습 코드로 AI Agents을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

AI Agents을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 AI Agents은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“코드 에이전트를 위한 샌드박스 실행” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 AI Agents 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 AI Agents 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 프롬프트 주입 방어
  2. 출력 필터링(Llama Guard, NeMo)
  3. 코드 에이전트를 위한 샌드박스 실행
  4. 도구 접근 제어
← AI Agents(으)로 돌아가기