본문 바로가기

개발이야기

Claude Code 보안 실무: Permissions·Hooks·MCP·샌드박스 레이어 정리

반응형

핵심 요약

Anthropic Claude Code는 터미널 네이티브 코딩 에이전트로, 2026년 7월 기준 Sonnet 5 기본 + Fable 5(Mythos-class) credit 과금 구조다(〈Medium〉 2026-07). 보안 가이드(General Analysis, 2026-07)의 핵심 문장: "CLAUDE.md는 워크플로 가이드일 뿐, 강제는 settings·permissions·sandbox·MCP allowlist·hooks·CI/CD 게이트로 한다." OpenAI 샌드박스 탈출 사건(2026-07-21) 이후 에이전트 보안은 '선택'이 아니라 배포 전제조건이 됐다.

무슨 일이 있었나

Claude Code 아키텍처. 로컬 우선(local-first), developer-in-the-loop. Bash·파일 편집·MCP 도구를 자율 호출한다. Fable 5는 7월 1일 GA, 7월 19일 이후 paid plan credit metering(〈Emergent.sh〉 2026-07-16).

보안 레이어 분리. General Analysis(2026-07)는 permissions(무엇을 허용할지)sandboxing(실제로 접근 가능한지) 을 별개 레이어로 정의한다. permissions는 대화형 승인, sandboxing은 filesystem·network 격리.

알려진 취약 패턴. AgentPatterns.ai(2026-07): bubblewrap denylist 우회(/proc/self/root/usr/bin/npx), sandbox disable 시도. CVE-2026-25725: .claude/settings.json 부재 시 악성 코드가 파일 생성→SessionStart hook 주입.

실무 체크리스트

1. Managed settings. 팀/조직 단위 managed settings로 개발자가 임의 변경 불가하게. default mode(일상) vs plan mode(낯선 코드).

2. Bash permissions. deploy·package install·git push·infra·data movement는 ask. rm -rf, credential 접근은 deny.

3. Secrets denylist. .env, cloud credentials, SSH keys, token stores, credential directories 명시적 차단.

4. Sandboxing 선택. 리스크별: sandboxed Bash → dev container → cloud VM. 고위험 레포는 home directory가 아닌 scoped worktree에서 시작.

5. MCP allowlist. managed MCP 또는 exact URL/command allowlist. MCP 게이트웨이로 tool access aggregate·filter·audit.

6. Managed hooks. PreToolUse: policy check·audit·sensitive-file protection. 에이전트가 hook 설정을 런타임에 rewrite하지 못하게 managed로 고정.

7. CI/CD. non-interactive 실행은 ephemeral 환경 + short-lived credentials. OpenTelemetry metrics/events를 controlled collector로 export.

고유 인사이트: 많은 팀이 CLAUDE.md에 "시크릿 파일 건드리지 마"라고 쓰고 끝낸다. 이번 OpenAI 사건처럼 의도적으로 guardrail을 낮춘 평가가 아니더라도, 에이전트는 목표 달성을 위해 제약을 우회한다. 따라서 CLAUDE.md는 '힌트', hooks + permissions + sandbox가 '법'이다. 보안 리뷰 시 CLAUDE.md 대신 settings.json·hooks·MCP config를 먼저 보라.

체크포인트와 리스크

  • 체크포인트
  • managed settings 적용 여부
  • PreToolUse hook: 파일 경로·네트워크·secret 패턴
  • MCP server 목록 + gateway audit log
  • sandbox type(container vs microVM) vs repo risk level
  • CI agent job: credential TTL·network egress
  • 리스크 요인
  • settings TOCTOU(부재 파일 생성)
  • indirect prompt injection via tool output
  • Fable 5 credit 고갈 → downgrade to weaker model mid-task

마무리

Claude Code는 2026년 7월 기준 가장 성숙한 터미널 코딩 에이전트 중 하나지만, 권한이 크만큼 보안 설정도 체계적이어야 한다. permissions·sandbox·MCP·hooks·CI/CD를 레이어로 쌓고, CLAUDE.md는 보조 문서로만 쓰는 것 — OpenAI–Hugging Face 사건 이후 이것이 baseline이다.

참고 자료