# 승인 계층과 실행 계층은 다른 층이다

> 파일 시스템·네트워크 경계와 폴백 정책 설계

- Canonical: https://learning.reopt.ai/en/courses/claude-code-safe-workflow/lessons/ccsw-m3-concept
- Language: en
- HTML: https://learning.reopt.ai/en/courses/claude-code-safe-workflow/lessons/ccsw-m3-concept

---

[Safe working flow](/en/courses/claude-code-safe-workflow) 3. 샌드박스로 실행 경계 맡기기 5 / 9

# 승인 계층과 실행 계층은 다른 층이다

파일 시스템·네트워크 경계와 폴백 정책 설계
Concept 45 XP 9 min

/sandbox 를 퍼미션 모드의 하나로 오해하면 설정이 겹쳐 보입니다. 퍼미션 모드는 도구 호출이 실행될지와 프롬프트가 뜰지 를 정하고, 샌드박스는 이미 실행된 Bash 명령이 무엇에 접근할 수 있는지 를 제한합니다. macOS는 내장 Seatbelt를, Linux와 WSL2는 bubblewrap 을 사용해 파일 시스템과 네트워크 접근을 OS가 대신 막아 줍니다. 그래서 auto-allow 모드로 빌드와 테스트를 프롬프트 없이 돌리면서도 경계는 유지할 수 있습니다.
우회하지 말고 경계를 넓혀라 샌드박스에서 명령이 막히면 격리를 끄는 대신 sandbox.filesystem.allowWrite , sandbox.network.allowedDomains , excludedCommands 로 필요한 만큼만 경계를 넓힙니다. 격리를 끄는 순간 자동 승인의 근거도 함께 사라집니다.

| 설정 | 무엇을 바꾸나 | 언제 손대나 |
| sandbox.enabled | 모든 프로젝트에 격리 기본 적용 | 사용자 설정으로 표준을 잡을 때 |
| sandbox.filesystem.denyRead | 자격 증명 파일 읽기 차단 | 기본 정책이 ~/.ssh/ 까지 읽을 때 |
| sandbox.filesystem.allowWrite | 작업 디렉터리 밖 쓰기 허용 | terraform 이 밖에 써야 할 때 |
| sandbox.network.deniedDomains | 넓은 허용 안에서 특정 도메인 차단 | 유출 경로가 될 목적지를 뺄 때 |
| sandbox.failIfUnavailable | 격리 불가 시 폴백 대신 실패 | 비격리 실행을 허용할 수 없을 때 |

`/sandbox` 패널의 Mode·Overrides·Config 탭에서 지금 실제로 적용된 값을 직접 확인합니다.

- 1 적용값 확인 /sandbox 의 Config 탭에서 최종 적용된 정책을 추측 대신 직접 읽습니다.

- 2 자격 증명 차단 sandbox.filesystem.denyRead 로 ~/.ssh/ 와 클라우드 자격 증명 경로를 뺍니다.

- 3 자동 승인 승격 Mode 탭에서 auto-allow를 켜 빌드·테스트를 프롬프트 없이 돌립니다.

- 4 폴백 정책 결정 격리가 불가능할 때 비격리로 내려갈지 failIfUnavailable 로 못박습니다.

실무에 남길 기준

- 기본 read 정책은 자격 증명 파일까지 읽을 수 있으므로 denyRead를 명시해야 한다
- 넓은 도메인 허용은 유출 경로가 되고, 내장 프록시는 TLS를 검사하지 않는다
- 네이티브 Windows는 미지원이므로 WSL2 안에서 실행해야 한다

[Previous](/en/courses/claude-code-safe-workflow/lessons/ccsw-m2-scenario) Got it · Continue

---

Site guide for agents: https://learning.reopt.ai/llms.txt · Sitemap: https://learning.reopt.ai/sitemap.xml · Contact: https://learning.reopt.ai/contact
