2026 OpenClaw 고급 배포: Mac 클라우드에서 Docker Sandboxes로 도구 서브 컨테이너 격리 설정
OpenClaw의 도구(코드 실행, 웹 스크래핑, 셸 스크립트)는 기본적으로 호스트 프로세스에서 실행됩니다. 악의적인 명령이나 공급망 공격이 발생하면 심각한 결과를 초래할 수 있습니다. 이 가이드에서는 Docker Sandboxes 격리 메커니즘을 설명하고, 4단계 재현 가능한 설정 체크리스트와 uid 1000 볼륨 권한 수정, Mac 클라우드 네트워크 트러블슈팅 가이드를 제공합니다(2026 최신).
목차
2026 보안 경고: AI 에이전트 도구 실행을 격리해야 하는 이유
OpenClaw는 Python 스크립트 실행, 웹 스크래핑, 셸 명령 실행 등의 도구를 호출할 수 있습니다. 하지만 도구가 호스트 프로세스에서 제한 없이 실행되면 세 가지 위협 벡터가 발생합니다:
- 악의적인 ClawHub Skill: 서드파티 스킬 패키지가 호스트 파일시스템과 네트워크에 직접 접근하는 악의적인 코드를 포함할 수 있음.
- 프롬프트 인젝션 공격: 공격자가 위험한 셸 명령(예:
rm -rf또는 데이터 유출 스크립트) 실행을 모델에 유도. - 의존성 체인 오염: 변조된 서드파티 라이브러리가 설치 또는 실행 시 악의적인 로직을 실행.
- 리소스 남용: 통제 불능의 도구 호출이 호스트 CPU/메모리를 소비하여 다른 서비스를 불가능하게 함.
⚠️ 2026 경고: CVE-2026-25253은 Sandbox 모드 없이 특정 OpenClaw 버전에서 도구 하위 프로세스가 경로 순회를 통해
~/.openclaw/keys/에 접근할 수 있음을 확인했습니다. 프로덕션 환경에서는 반드시 Docker Sandboxes를 활성화하세요.원리와 전제 조건: Docker Sandboxes 작동 방식
Sandbox 모드 활성화 시 각 도구 호출 흐름:
- 게이트웨이가 도구 호출 요청 수신(예:
run_python) - OpenClaw가 Docker CLI로 임시 서브 컨테이너 시작(공식 샌드박스 이미지 사용)
- 도구 코드는 서브 컨테이너 내에서 실행되며 파일시스템, 네트워크 네임스페이스, 리소스 제한의 제약을 받음
- 결과가 stdout/stderr를 통해 게이트웨이로 반환되고 컨테이너는 즉시 삭제됨
전제 조건(Mac 클라우드 노드)
- Docker Desktop for Mac 설치 및 실행 중(버전 ≥ 4.28)
- OpenClaw 버전 ≥ v2026.1.0(
OPENCLAW_INSTALL_DOCKER_CLI=1지원) - 호스트 사용자가 Docker 소켓에 접근 가능(
/var/run/docker.sock) - Mac 클라우드 노드 메모리 ≥ 16GB
4단계 재현 가능한 체크리스트: 도구 서브 컨테이너 격리 활성화
1단계: Docker CLI 지원으로 OpenClaw 재설치
openclaw stop 2>/dev/null || true
OPENCLAW_INSTALL_DOCKER_CLI=1 npm install -g openclaw@latest
openclaw --version
openclaw doctor | grep -i sandbox
출력에서 sandbox: docker 또는 tool-runner: docker를 확인.
2단계: Docker 소켓 접근 확인
docker info | head -5
ls -la /var/run/docker.sock
3단계: 샌드박스 기본 이미지 사전 풀
docker pull openclaw/sandbox:latest
docker run --rm openclaw/sandbox:latest echo "sandbox ok"
4단계: OpenClaw 시작 및 Sandbox 모드 확인
launchctl kickstart -k gui/$(id -u)/com.openclaw.gateway
openclaw status && openclaw doctor
docker ps -a | grep openclaw-sandbox
트러블슈팅: uid 1000 권한과 네트워크 문제
문제 1: Permission denied — uid 1000 볼륨
sudo chown -R 1000:1000 ~/.openclaw/sandbox-workspace/
문제 2: 샌드박스 컨테이너 내 DNS/네트워크 실패
docker run --rm openclaw/sandbox:latest nslookup google.com
# 실패 시 Docker Engine 설정에 추가:
# {"dns": ["8.8.8.8", "1.1.1.1"]}
# Docker Desktop 재시작 후 재시도
자주 묻는 질문
Q: Sandbox 활성화로 도구 호출이 느려지나요?
약간의 지연 증가(콜드 스타트 약 200-400ms)가 있지만 대부분의 자동화 시나리오에서는 무시할 수 있습니다. keep-alive 컨테이너 풀을 사용하면 50ms 미만으로 줄일 수 있습니다.
Q: Sandbox는 Docker Compose 배포와 호환되나요?
완전히 호환됩니다. Compose 파일에서 /var/run/docker.sock을 OpenClaw 컨테이너에 마운트하여 DooD 모드를 활성화하세요.
Docker Sandboxes는 허용 가능한 약간의 지연 비용으로 도구 실행 면을 완전히 수렴합니다. VPSMAC M4 Mac 클라우드 노드(최대 64GB 통합 메모리, 네이티브 Docker Desktop 지원)가 Sandboxes 모드 배포의 이상적인 기반입니다.