본문 바로가기

인공지능

Anthropic Sandbox Runtime(srt): AI 에이전트를 위한 경량·안전 실행 환경 정리

728x90
반응형
728x170

AI 에이전트나 자동화 스크립트를 실행하다 보면 항상 따라오는 고민이 있습니다.
“이 코드가 시스템 파일을 건드리지는 않을까?”, “의도하지 않은 네트워크 통신이 발생하지는 않을까?” 같은 보안 문제입니다.

이번 글에서는 이러한 문제를 해결하기 위해 등장한 Anthropic Sandbox Runtime(srt) 를 중심으로,
개념, 배경, 구조적 특징, 주요 기능, 그리고 어떤 환경에서 어떻게 활용할 수 있는지까지 차근차근 정리해보겠습니다.

반응형

AI 에이전트 실행 환경, 왜 샌드박스가 필요한가?

AI 에이전트는 다음과 같은 특성을 가집니다.

  • 외부 명령(CLI)을 직접 실행할 수 있음
  • 파일 시스템에 접근해 읽고 쓰는 작업 수행
  • 네트워크를 통해 외부 API 또는 서비스와 통신

이런 능력은 강력하지만, 동시에 시스템 침해 가능성이라는 리스크도 함께 가져옵니다.
특히 로컬 서버나 MCP(Model Context Protocol) 서버처럼 지속적으로 동작하는 에이전트일수록,
실행 환경 자체의 격리(Isolation) 가 매우 중요해집니다.

이 문제를 해결하기 위해 나온 것이 바로 Anthropic Sandbox Runtime(srt) 입니다.


Anthropic Sandbox Runtime(srt)란?

srt(Sandbox Runtime)
AI 에이전트의 안전한 실행 환경을 보장하기 위해 개발된 연구용 경량 샌드박스 런타임입니다.

가장 큰 특징은 다음 한 문장으로 요약할 수 있습니다.

컨테이너 없이 OS 네이티브 샌드박싱 기능만을 활용해, 에이전트 실행을 안전하게 격리하는 런타임

즉, Docker 같은 무거운 컨테이너 기술을 사용하지 않고도
운영체제가 제공하는 기본 보안 프리미티브를 활용해 빠르고 가벼운 격리 환경을 제공합니다.


OS 네이티브 샌드박싱 기반 구조

srt는 플랫폼별로 다음과 같은 기술을 활용합니다.

macOS

  • sandbox-exec
  • Seatbelt 프로파일
  • 실시간 위반 로그 감시 기능 제공

Linux

  • bubblewrap 기반 네임스페이스 격리
  • socat, ripgrep 등 의존성 활용

이 구조 덕분에 컨테이너 오버헤드 없이도
파일, 네트워크, IPC 수준의 강력한 격리가 가능합니다.

Windows는 현재 미지원 상태입니다.


Secure-by-Default 철학과 접근 제어 방식

srt는 secure-by-default(보안 기본값) 철학을 따릅니다.

기본 정책

  • 파일 시스템
    • 읽기(Read)는 기본 허용
    • 쓰기(Write)는 명시적으로 허용해야 가능
  • 네트워크
    • 기본적으로 모든 접근 차단
    • 허용한 도메인만 통신 가능

접근 제어 패턴

  • Allow-only / Deny-only 패턴
  • 필요한 리소스만 명시적으로 허용

이 방식은 “필요한 것만 열고 나머지는 모두 닫는다”는
보안 원칙을 그대로 반영한 설계입니다.


srt의 주요 기능 정리

1. Network Restrictions

  • HTTP / HTTPS 및 기타 프로토콜 제어
  • 프록시 서버를 통해 트래픽 필터링
  • 허용된 도메인만 접근 가능

2. Filesystem Restrictions

  • 읽기/쓰기 가능한 파일 및 디렉터리 지정
  • 민감한 시스템 경로 접근 차단

3. Unix Socket Restrictions

  • 로컬 IPC 소켓 접근 제한
  • 불필요한 프로세스 간 통신 차단

4. Violation Monitoring (macOS)

  • 샌드박스 정책 위반 시
  • 실시간 로그 감시 및 추적 가능

MCP 서버 샌드박싱 지원

srt는 Model Context Protocol(MCP) 서버를 안전하게 실행하기 위한 용도로도 활용됩니다.

핵심 특징

  • MCP 서버를 srt로 감싸 실행
  • 파일 및 네트워크 권한을 강력하게 제한
  • Dual Isolation Model 적용

Dual Isolation Model

  • 파일 격리
    • 읽기 허용 기본
    • 쓰기는 명시적 허용 필요
  • 네트워크 격리
    • 기본 전체 차단
    • 허용 도메인만 통신 가능

이를 통해 MCP 서버가
의도하지 않은 파일 수정이나 외부 통신을 수행하는 것을 원천 차단할 수 있습니다.


설정 파일 기반의 세밀한 정책 관리

srt는 설정 파일을 통해 접근 정책을 정의합니다.

  • 설정 파일 위치: ~/.srt-settings.json
  • 파일/네트워크 경로별로 세밀한 제어 가능
  • 환경별 보안 정책 분리 운영 가능

이 방식은 정책을 코드와 분리해 관리할 수 있다는 점에서 운영 측면에서도 유리합니다.


CLI와 라이브러리, 두 가지 사용 방식

srt는 다음 두 가지 형태로 사용할 수 있습니다.

1. CLI 사용

  • srt 명령으로 실행 시
  • 자동으로 샌드박스 적용
  • 기존 CLI 워크플로우와 쉽게 결합 가능

2. Node.js 라이브러리

  • SandboxManager API 제공
  • 프로그래매틱하게 제어 가능
  • 에이전트 런타임 내부에서 동적 정책 관리 가능

확장 가능한 네트워크 필터링 구조

기본적으로 srt는 자체 프록시를 사용하지만,
다음과 같은 확장도 가능합니다.

  • 사용자 정의 프록시 연결
  • 예: mitmproxy
  • 트래픽 검사, 감사 로깅, 세밀한 필터링 로직 구현 가능

이는 단순한 차단을 넘어
보안 감사와 모니터링까지 고려한 구조라고 볼 수 있습니다.


srt가 가지는 시사점과 기대 효과

Anthropic Sandbox Runtime(srt)은
단순한 보안 도구를 넘어, AI 에이전트 실행 환경의 기본 전제를 다시 정의합니다.

  • 컨테이너 없이도 가능한 강력한 격리
  • secure-by-default 기반의 설계
  • MCP 서버 및 AI 에이전트에 최적화된 구조
  • 가볍고 빠르며, 운영 부담이 적음

앞으로 AI 에이전트가 더 많은 시스템 권한을 가지게 될수록,
srt와 같은 경량 샌드박스 런타임은 필수 인프라가 될 가능성이 큽니다.

AI 실행 환경의 보안을 고민하고 있다면,
srt는 분명 주목해볼 만한 선택지입니다.

300x250

https://github.com/anthropic-experimental/sandbox-runtime

 

GitHub - anthropic-experimental/sandbox-runtime: A lightweight sandboxing tool for enforcing filesystem and network restrictions

A lightweight sandboxing tool for enforcing filesystem and network restrictions on arbitrary processes at the OS level, without requiring a container. - anthropic-experimental/sandbox-runtime

github.com

728x90
반응형
그리드형