
Anthropic Self-Hosted Sandboxes + MCP Tunnels: 데이터를 내부망에 안전하게 유지하는 기업용 AI 에이전트
요약
Anthropic이 기업의 데이터 보안을 위해 코드 실행을 자체 서버에서 수행하는 Self-hosted sandboxes와 프라이빗 데이터 접근을 위한 MCP Tunnels를 지원합니다. 이를 통해 에이전트의 추론은 클라우드에서, 민감한 작업은 내부망에서 안전하게 분리하여 실행할 수 있습니다.
핵심 포인트
- Self-hosted sandboxes를 통한 코드 실행 환경의 로컬화
- MCP Tunnels를 이용한 인바운드 방화벽 개방 없는 안전한 데이터 연결
- 세션 재시작 없는 Mid-session tool swapping 지원
- 대규모 MCP 출력물의 샌드박스 파일 자동 오프로딩
Anthropic Self-Hosted Sandboxes + MCP Tunnels: 데이터를 내부망에 안전하게 유지하는 기업용 AI 에이전트
요약 (TL;DR Summary)
- Anthropic은 이제 **Self-hosted sandboxes (자체 호스팅 샌드박스)**를 지원합니다. 에이전트 오케스트레이션 (Agent orchestration)은 Anthropic 측에 머물지만, 코드 실행 (Code execution)은 귀하의 자체 서버(Cloudflare, Vercel, Modal 또는 온프레미스)에서 실행됩니다.
- **MCP tunnels (MCP 터널)**는 **단일 아웃바운드 연결 (Single outbound connection)**을 통해 프라이빗 데이터베이스 및 내부 API에 대한 암호화된 액세스를 제공합니다. 인바운드 방화벽 구멍이나 공개 엔드포인트가 필요하지 않습니다.
- Mid-session tool swapping (세션 중간 도구 교체) 기능을 통해 에이전트 세션을 재시작하지 않고도 도구와 MCP 서버를 변경할 수 있습니다.
- 100K+ 토큰 규모의 MCP 출력물은 에이전트의 컨텍스트 윈도우 (Context window)를 비대하게 만드는 대신 샌드박스 파일로 자동 오프로드 (Offload)됩니다.
- 계층화된 파일 시스템 및 네트워크 격리 기능을 갖춘 OS 레벨 샌드박싱 (OS-level sandboxing) (macOS의 Seatbelt, Linux의 bubblewrap)을 기반으로 작동합니다.
직접 답변 블록 (Direct Answer Block)
Anthropic의 기업용 인프라 업그레이드는 에이전트 추론 (Agent reasoning, Anthropic 클라우드에 유지)과 코드 실행 (Code execution, 귀하의 인프라로 이동)을 분리합니다. Self-hosted sandboxes는 민감한 파일을 귀하의 방화벽 뒤에 유지합니다. MCP tunnels는 인바운드 방화벽 규칙 없이 하나의 암호화된 아웃바운드 연결을 통해 Claude를 프라이빗 데이터베이스 및 API에 연결합니다. Mid-session tool swapping은 재시작 과정을 제거하며, 대규모 출력물 오프로딩은 컨텍스트 비대화를 방지합니다.
서론 (Introduction)
기업의 AI 도입 논의는 "업무를 수행할 수 있는가?"에서 "업무가 어디에서 수행되는가?"로 옮겨갔습니다. 금융, 의료, 국방과 같은 규제 산업의 경우, 그 답이 "벤더의 클라우드 위에서"가 될 수는 없습니다. Anthropic의 최신 인프라 이동은 이 문제를 직접적으로 해결합니다. 귀하의 서버에서 코드를 실행하는 self-hosted sandboxes, 서비스를 노출하지 않고 프라이빗 서비스에 도달하는 MCP tunnels, 그리고 mid-session tool swapping과 같은 편의성 개선 사항이 그것입니다. "그저 우리의 클라우드를 믿으라"는 시대는 "모든 것을 귀하의 자체 방화벽 뒤에 유지하라"는 시대로 넘어가고 있습니다.
셀프 호스팅 샌드박스(Self-hosted sandboxes)는 어떻게 에이전트 오케스트레이션(Agent orchestration)과 코드 실행을 분리하며, 이것이 기업의 데이터 레지던시(Data residency)에 왜 중요한가?
이는 Claude의 추론(Reasoning) — 즉 모델의 사고, 의사 결정, 프롬프트 처리 — 이 Anthropic의 인프라에서 발생함을 의미합니다. 하지만 에이전트가 코드를 실행해야 할 때(파일 읽기, 셸 명령 실행, 패키지 설치, 결과 생성 등), 해당 실행은 귀하의 서버에서 실행되는 샌드박스(Sandbox) 내부에서 이루어집니다.
샌드박스는 관리형 제공업체(Cloudflare, Vercel, Daytona, Modal) 또는 귀하의 자체 온프레미스(On-prem) 인프라에서 실행될 수 있습니다. 핵심적인 특성은 다음과 같습니다: 귀하의 파일은 절대 네트워크를 벗어나지 않습니다. 소스 코드, 독점 데이터, 환경 변수, API 키 등 에이전트가 실행 중에 접하는 모든 것은 귀하의 방화벽 뒤에 머뭅니다.
Anthropic의 기존 OS 레벨 샌드박싱 아키텍처(macOS의 Seatbelt, Linux의 bubblewrap)가 강제 계층(Enforcement layer)을 제공합니다. Anthropic의 샌드박싱 문서에 따르면, "샌드박스화된 bash 도구는 OS 레벨의 프리미티브(Primitives)를 사용하여 파일 시스템과 네트워크 격제를 모두 강제합니다." 셀프 호스팅 샌드박스는 이 아키텍처를 확장합니다. 즉, 샌드박스가 Anthropic의 머신에서 실행되는 대신, 동일한 OS 레벨의 강제 보장 기능을 갖춘 채 귀하의 머신에서 실행됩니다.
데이터 레지던시 요구 사항(GDPR, HIPAA, SOC 2, FedRAMP)이 있는 기업의 경우, 이러한 아키텍처적 분리는 에이전트가 코드 실행 중에 제3자 인프라에 데이터를 노출하지 않고도 민감한 데이터를 처리할 수 있음을 의미합니다. 모델의 사고는 여전히 Anthropic의 클라우드에서 이루어지지만, 그 사고 과정에는 원시 데이터(Raw data)가 포함되지 않고 프롬프트와 도구 호출(Tool call) 지침만 포함됩니다.
MCP 터널은 어떻게 단일 아웃바운드(Outbound) 연결을 통해 Claude가 프라이빗 데이터베이스와 내부 API에 접근할 수 있게 하는가?
MCP (Model Context Protocol) 터널은 기업 네트워크 접근 문제를 해결합니다. 외부 서비스가 내부 API에 접근할 수 있도록 하는 전통적인 방식은 다음과 같은 과정을 포함합니다: 방화벽 포트 개방, VPN 구성, 퍼블릭 엔드포인트 (Public Endpoints) 설정, 인증서 관리. 각 단계는 보안 검토 대상이며, 각 엔드포인트는 공격 표면 (Attack Surface)이 됩니다.
MCP 터널은 연결 방식을 역전시킵니다. 터널은 네트워크 내부에서 Claude Code로 향하는 **단일 아웃바운드 연결 (Single Outbound Connection)**로서 시작됩니다. 인바운드 방화벽 규칙이 필요 없습니다. 퍼블릭 엔드포인트도 필요 없습니다. 노출된 서비스도 없습니다.
트래픽은 종단 간 (End-to-End) 암호화됩니다. 터널은 MCP 도구 호출 (Tool Calls) — 즉, 에이전트가 마치 네트워크 내부에서 실행되는 것처럼 Claude가 사용자의 프라이빗 Postgres 데이터베이스, 내부 티켓팅 시스템, 독자적인 API에 접근하는 것 — 을 전달합니다. 하지만 유일한 네트워크 변경 사항은 단 하나의 아웃바운드 연결뿐입니다.
이 패턴은 Cloudflare Tunnels 및 ngrok이 작동하는 방식과 유사합니다. 네트워크 내부의 클라이언트가 서비스로 향하는 아웃바운드 연결을 설정하면, 트래픽이 해당 터널을 통해 흐릅니다. 포트가 열리지 않으며, DNS 레코드도 변경되지 않습니다. 연결은 신뢰할 수 있는 측(Trusted Side)에서 시작됩니다.
세션 중간에 도구 및 MCP 서버를 교체하면 어떻게 장기 실행되는 에이전트 세션의 재시작을 방지할 수 있는가?
장기 실행되는 에이전트 세션에서 겪는 좌절감 중 하나는 다음과 같습니다: 세션을 시작했는데, 구성되지 않은 도구가 필요하다는 것을 깨닫고 세션을 재시작해야 하는 상황입니다. 모든 재시작은 컨텍스트 (Context)를 손실하며, 모든 재시작은 시간을 소모합니다.
- 활성 세션 중 도구 추가: 에이전트가 작업 중간에 데이터베이스 커넥터가 필요하다는 것을 발견하면, 중단 없이 추가할 수 있습니다.
- MCP 서버 구성 전환: 에이전트가 연결하는 백엔드를 변경할 수 있습니다 (예: 스테이징 데이터베이스에서 운영 데이터베이스로 전환).
- 사용하지 않는 도구 제거: 에이전트가 더 이상 필요하지 않은 도구를 삭제하여 컨텍스트 팽창 (Context Bloat)을 줄입니다.
- 도구 구성 업데이트: 작업 중간에 API 엔드포인트, 인증 토큰 또는 도구 파라미터를 변경할 수 있습니다.
이는 에이전트의 도구 요구 사항이 진화하는 복잡한 다단계 작업(multi-step tasks)에서 특히 가치가 있습니다. 보안 감사(security audit)의 경우, 처음에는 코드 분석 도구로 시작했다가, 잠재적인 SQL 인젝션(SQL injection)을 발견하면 데이터베이스 접근 권한이 필요해지고, 이후 팀에 알리기 위해 Slack 접근 권한이 필요한 상황이 발생할 수 있습니다. 이 모든 과정은 동일한 세션 내에서 이루어집니다.
100K 이상의 토큰을 생성하는 MCP 출력을 샌드박스 파일로 오프로딩(offloading)하면 어떻게 컨텍스트 비대화(context bloat)를 방지하고 세션 길이를 개선할 수 있나요?
대규모 MCP 도구 출력은 컨텍스트(context) 문제입니다. 에이전트가 데이터베이스에 쿼리를 날려 100,000개의 토큰에 달하는 결과값을 받으면, 이 토큰들이 컨텍스트 창(context window)을 점유하게 됩니다. 결과적으로 에이전트가 추론(reasoning), 지시 이행(instruction following), 대화 기록(conversation history)을 위해 사용할 수 있는 공간이 줄어듭니다. 생산적인 콘텐츠 대신 도구 출력값으로 컨텍스트가 채워지면 긴 세션의 품질이 저하됩니다.
작동 메커니즘은 다음과 같습니다:
- 에이전트가 MCP 도구 호출을 수행합니다 (예: "지난 분기의 모든 고객 기록을 조회해줘")
- 도구가 대규모 결과 집합(result set)을 반환합니다.
- 시스템은 원시 출력(raw output)을 에이전트의 컨텍스트에 직접 삽입하는 대신, 샌드박스(sandbox) 내의 파일로 기록합니다.
- 에이전트는 특정 데이터가 필요할 때 파일로부터 데이터를 읽습니다 (파일 검색, grep 또는 청크 단위 읽기(chunked reads) 사용).
- 컨텍스트는 가볍게 유지됩니다. 에이전트는 데이터가 작업 메모리(working memory)를 소모하지 않으면서도 해당 데이터에 대한 참조(reference)를 가질 수 있습니다.
이는 인간 엔지니어가 일하는 방식과 유사합니다. 데이터베이스 덤프(database dump) 전체를 뇌에 로드하지는 않습니다. 쿼리를 날려 결과에 대한 참조를 얻고, 필요에 따라 하위 집합(subsets)을 검사합니다. 샌드박스 파일은 대규모 데이터를 위한 에이전트의 외부 메모리(external memory) 역할을 합니다.
여러 대규모 데이터 소스를 처리해야 하는 장기적인 기업용 세션의 경우, 이 기능은 유효 세션 길이를 크게 확장해 줍니다. 컨텍스트 제한에 걸려 20분 만에 종료될 세션이, 컨텍스트 고갈 없이 대규모 데이터 파일을 필요할 때마다 참조하며 몇 시간 동안 실행될 수 있습니다.
OS 수준의 샌드박스(Seatbelt/bubblewrap) 계층은 방어 심층(defense-in-depth)을 위해 셀프 호스팅 실행과 어떻게 계층화되나요?
Anthropic의 샌드박싱(sandboxing) 아키텍처는 계층화된 격리를 통해 방어 심층(defense-in-depth)을 제공합니다:
-
파일 시스템 격리 (Filesystem isolation): 샌드박스는 운영체제(OS) 수준의 프리미티브(primitives, 예: macOS의 Seatbelt, Linux의 bubblewrap)를 사용하여 특정 디렉토리에 대한 읽기 및 쓰기 권한을 제한합니다. Anthropic의 문서에 따르면 다음과 같습니다: "이러한 제한 사항은 OS 수준에서 강제되므로, kubectl, terraform, npm과 같은 도구를 포함한 모든 하위 프로세스 명령에 적용됩니다."
-
네트워크 격리 (Network isolation): 샌드박스 외부에서 실행되는 프록시 서버(proxy server)가 도메인 접근을 제어합니다. 승인된 도메인만 접속할 수 있습니다. 새로운 도메인 요청이 발생하면 권한 승인 프롬프트가 나타납니다.
-
셀프 호스팅 경계 (Self-hosted boundary): 셀프 호스팅 샌드박스를 사용하면 에이전트와 민감한 데이터 사이에 추가적인 경계인 귀하의 네트워크 경계(network perimeter)가 위치하게 됩니다. 설령 샌드박스의 OS 수준 격리가 뚫리더라도, 데이터는 여전히 귀하의 방화벽 뒤에 안전하게 보호됩니다.
Anthropic의 샌드박싱 문서에서는 다음을 강조합니다: "효과적인 샌드박싱을 위해서는 파일 시스템과 네트워크 격리가 모두 필요합니다. 네트워크 격리가 없다면, 침해된 에이전트가 SSH 키와 같은 민감한 파일을 외부로 유출(exfiltrate)할 수 있습니다. 파일 시스템 격리가 없다면, 침해된 에이전트가 네트워크 접근 권한을 얻기 위해 시스템 리소스에 백도어(backdoor)를 설치할 수 있습니다."
셀프 호스팅 샌드박스는 세 번째 계층인 **물리적/조직적 분리 (physical/organizational separation)**를 추가합니다. 샌드박스는 귀하가 제어하는 인프라에서 귀하의 모니터링과 액세스 제어(access controls) 하에 실행됩니다. 이는 데이터 처리 위치에 대한 입증된 통제를 요구하는 컴플라이언스 프레임워크(compliance frameworks)에 있어 매우 중요합니다.
Anthropic의 엔터프라이즈 인프라는 데이터 제어 측면에서 OpenAI Codex 및 Cursor Cloud와 어떻게 비교되나요?
엔터프라이즈 데이터 제어에 관한 경쟁 구도는 다음과 같습니다:
| 기능 | Anthropic (2026) | OpenAI Codex | Cursor Cloud |
|---|---|---|---|
| 코드 실행 위치 | 자체 호스팅 (Self-hosted, 귀하의 인프라) 또는 Anthropic 클라우드 | Codex 클라우드 샌드박스 (Sandbox) 또는 로컬 (Local) | Cursor 클라우드 또는 로컬 IDE |
| ... |
Anthropic의 핵심 차별점은 자체 호스팅 실행 모델 (self-hosted execution model)입니다. OpenAI와 Cursor는 모두 클라우드 실행 (파일이 해당 기업의 인프라에서 처리됨)과 로컬 옵션 (파일이 귀하의 기기에 머무름)을 제공합니다. Anthropic은 그 중간 지점을 공략합니다. 모델의 추론 (reasoning)은 Anthropic의 클라우드에서 실행되어 (로컬 GPU 요구 사항 없이 Claude의 역량을 활용할 수 있음), 실제 민감한 데이터가 다뤄지는 코드 실행 (code execution)은 귀하의 서버에서 실행됩니다.
"데이터가 우리 보안 경계(perimeter)를 벗어난다"는 점이 엄격한 컴플라이언스(compliance) 경계인 기업들에게, Anthropic의 모델은 순수 클라우드 방식이나 순수 로컬 방식의 대안이 따라올 수 없는 절충안을 제공합니다. 모델의 사고 과정은 Anthropic의 인프라를 사용하지만 (귀하가 이미 프롬프트를 통해 신뢰하고 있는 인프라), 귀하의 데이터는 귀하의 방화벽 뒤에 머무릅니다.
자주 묻는 질문 (Frequently Asked Questions)
Q: 자체 호스팅 샌드박스 실행은 비용이 더 많이 드나요?
Anthropic은 자체 호스팅 샌드박스에 대한 구체적인 가격 정책을 발표하지 않았습니다. 샌드박스 컴퓨팅 리소스 (CPU, 메모리)는 귀하가 이미 비용을 지불하고 있는 귀하의 인프라에 의해 제공됩니다. Anthropic은 실행 위치와 관계없이 모델 사용량(토큰 기반)에 대해 비용을 청구합니다. 비용 차이는 Anthropic이 제공했을 인프라와 귀하가 직접 제공하는 인프라 간의 차이입니다.
Q: 자체 호스팅 샌드박스를 실행하기 위한 최소 요구 사항은 무엇인가요?
샌드박스는 관리형 실행 환경 (managed execution environment)으로 실행됩니다. Cloudflare Workers, Vercel Functions, Daytona, Modal 또는 귀하의 자체 컨테이너 인프라를 사용할 수 있습니다. 구체적인 요구 사항은 제공업체에 따라 다릅니다. Cloudflare/Vercel은 인프라 관리가 전혀 필요하지 않으며, 온프레미스 (on-prem)의 경우 Anthropic 샌드박스 런타임 (runtime)이 설치된 Docker 또는 유사한 컨테이너 런타임이 필요합니다.
Q: MCP 터널 (tunnels)이 기업용 프록시 (proxy) 뒤에 있는 온프레미스 (on-prem) 데이터베이스와 함께 작동할 수 있나요?
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기