피드로 돌아가기
Run Claude Code's --dangerously-skip-permissions Safely with Docker
Dev.toDev.to
Security

Docker Sandbox를 통한 Claude Code 권한 격리 및 자동 승인 모드의 안전한 구현

Run Claude Code's --dangerously-skip-permissions Safely with Docker

Oleksii Trekhleb2026년 5월 3일9intermediate

Context

Claude Code의 --dangerously-skip-permissions 플래그는 작업 승인 단계를 제거하여 생산성을 높이지만, 호스트 시스템의 전체 파일 및 쉘 권한을 노출하는 보안 취약점을 가짐. 프로젝트 외부의 SSH Key나 민감 데이터에 대한 무제한 접근 가능성이 핵심 병목 지점으로 작용함.

Technical Solution

  • Docker Container 기반의 격리 환경을 구축하여 호스트 시스템과의 접점을 최소화한 Sandbox 설계
  • 프로젝트 폴더만 Bind Mount 하여 Claude Code의 파일 시스템 접근 범위를 특정 디렉토리로 제한
  • node:24-slim 베이스 이미지에 필수 도구(git, curl, jq, gh)를 포함한 경량 런타임 환경 구성
  • ~/.claude-pod/ 경로를 통한 호스트 기반 State 폴더 운영으로 컨테이너 재시작 후에도 인증 세션 유지
  • PORTS 환경 변수를 통한 동적 포트 매핑 및 127.0.0.1 바인딩 강제로 LAN 노출 방지
  • POSIX bash 스크립트를 활용하여 컨테이너 실행 및 환경 설정을 자동화한 Wrapper 구현

- AI 에이전트에게 Write 권한 부여 시 반드시 Docker 수준의 File System Isolation 적용 - 외부 툴 연동 시 호스트 전체 경로가 아닌 특정 Working Directory만 Mount 하는 최소 권한 원칙 준수 - 컨테이너 내부 서비스 외부 노출 시

0.

0.

0.0 바인딩 설정과 호스트 루프백 매핑의 상관관계 검토 - 세션 유지와 환경 격리를 분리하여 상태 데이터만 호스트에 저장하는 Stateless 컨테이너 전략 채택

원문 읽기