건드리면 안 되는 걸 건드릴까 봐 불안하다
세 층으로 막는다 — 도구 금지, 샌드박스 격리, 그리고 되돌릴 수 있는 상태 유지.
"조심하겠다"는 방어가 아니다. 세 층을 걸어두면 실수해도 피해가 안 난다. 층마다 막는 게 다르므로 하나만 쓰지 말고 겹쳐 쓴다.
1. 위험한 도구를 아예 금지한다
--disallowedTools 로 상시 차단한다. allow 목록보다 강하고 우회되지 않는다.
claude --disallowedTools "Bash(rm:*)" "Bash(sudo:*)" "Bash(git push --force:*)"
--allowedTools "Bash(git log:*)" \ — 도구 & 권한 실전 예시 · Claude Code CLI
2. 실행 환경을 격리한다
/sandbox 또는 settings.json 의 sandbox.enabled. 파일시스템 범위와 나가는 네트워크 도메인을 제한한다. macOS는 Seatbelt, Linux/WSL2는 bubblewrap.
3. 되돌릴 수 있는 상태를 유지한다
작업 시작 전에 커밋하거나 브랜치를 판다. /rewind 는 Claude가 추적하는 변경만 되돌리므로 git 층이 따로 있어야 한다.
4. 팀·CI라면 정책으로 고정한다
managed-settings.json 이 설정 우선순위 최상단이라 개인 설정으로 뒤집을 수 없다. 우선순위: managed-settings.json > CLI 인자 > .claude/settings.local.json > .claude/settings.json > ~/.claude/settings.json.
5. 무엇이 허용돼 있는지 주기적으로 본다
/permissions 로 누적된 allow 규칙을 확인한다. 며칠 쓰면 의외로 넓게 잡힌 규칙이 섞여 있다.
주의
샌드박스는 네이티브 Windows를 지원하지 않는다. WSL2가 필요하다. Windows에서 쓰고 있다면 이 층은 없는 것으로 치고 나머지 두 층을 더 조여야 한다.
데이터 src/_data/tasks/stop-touching-wrong-files.yaml
틀린 게 있으면 이 파일을 고치면 사이트·검색·치트시트가 같이 바뀐다.