본문 바로가기
C.W.K.
Stream
Lesson 03 of 06 · published

보안 sandbox와 권한 관리

~16 min · dispatch, security, sandbox, permissions

Level 0🌱 입문자
0 XP0/70 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

사전 승인은 무엇이든 해도 된다는 백지수표가 아니야

Dispatch는 사용자가 곁에 없으므로 Cowork보다 기본 권한이 더 엄격해. 미리 선언한 파일 경로와 앱, 도구만 사용할 수 있고 그 밖의 행동은 "나중에 물어보기"로 넘어가지 않고 바로 거부돼.

파일 경로는 읽기와 쓰기를 나눠 허용하고, 앱은 명시한 목록만 열 수 있어. 이메일 보내기, 파일 삭제, 소셜 미디어 게시처럼 공개되거나 되돌리기 어려운 행동은 기본적으로 꺼져 있으며 실제 작업에 꼭 필요할 때만 별도로 열어.

모든 작업은 ~/Library/Logs/Claude/dispatch-audit.jsonl에 작업 ID, 시각, 사용한 도구, 만진 파일, MCP 호출과 함께 남아. 무인 작업을 믿으려면 로그를 실제로 읽어야 해. 예상하지 못한 경로나 호출이 보이면 다음 작업 전에 권한을 좁혀.

Code

엄격하게 잠근 dispatch-policy.json·json
{
  "dispatch": {
    "allowedPaths": {
      "~/DispatchWork":          ["read", "write"],
      "~/Documents/Finance":     ["read"],
      "~/Desktop":               ["write"]
    },
    "allowedApps":   ["Safari", "Finder", "TextEdit", "Preview"],
    "deniedTools":   ["SendEmail", "DeleteFiles", "PostToSocialMedia"],
    "network": {
      "mcpOnly":   true,
      "allowlist": ["api.anthropic.com", "mcp.notion.com"]
    },
    "auditLog": {
      "enabled": true,
      "path":    "~/Library/Logs/Claude/dispatch-audit.jsonl"
    }
  }
}
감사 기록 한 줄·json
// ~/Library/Logs/Claude/dispatch-audit.jsonl (one line per event)
{
  "ts": "2026-05-04T08:23:11Z",
  "task_id": "dsp_x7k9m2",
  "user": "you@example.com",
  "intent": "summarize Q4 earnings, save to ~/Desktop",
  "tools_used": ["Read", "Write"],
  "files_read": ["/Documents/Finance/q4-earnings.pdf"],
  "files_written": ["/Desktop/exec-summary-q4.pdf"],
  "mcp_calls": [],
  "duration_ms": 24818,
  "status": "completed"
}

External links

Exercise

Dispatch 정책을 엄격하게 잠가 봐. 읽을 수 있는 경로, 쓸 수 있는 경로, 조작할 수 있는 앱을 전부 적고, 거부 목록은 가능한 한 길게 만들어. 그런 다음 금지된 경로에 쓰기를 시도하는, 일부러 실패해야 하는 작업을 보내서 실제로 거부되는지 확인해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.