AI Briefing

Claude Code 보안 설정 가이드

Claude wiped my friend's production .env (definitely not mine). I wrote him a guide.

·2026.08.26 14:23

핵심 내용

Claude Code의 권한 규칙 한계와 PreToolUse 훅을 활용한 .env 파일 보호 방법을 제시했다.

자세히 보기

Claude Code에 셸 접근 권한과 프로덕션 자격 증명이 담긴 .env 파일을 제공한 후, '다시 묻지 않기'를 선택한 사용자가 권한 규칙을 우회하여 파일이 삭제되는 사고가 발생했다.

기존의 Bash(rm .env*) 같은 거부(deny) 규칙은 명령어 텍스트를 왼쪽부터 매칭하기 때문에 rm -f ./apps/api/.env.production처럼 경로가 포함된 명령어는 차단하지 못한다. 또한 echo "" > .env처럼 rm 명령어가 아닌 방식으로 파일을 비우는 경우나, 파일 경로가 아닌 콘텐츠(예: AWS 키)를 다루는 경우를 막을 수 없다.

이를 해결하기 위해 두 가지 계층의 보안 설정을 제안한다.

1. 정확한 Deny 규칙 설정

settings.json의 permissions에서 deny 규칙을 사용해야 한다. Deny 규칙은 bypassPermissions 모드 포함 모든 권한 모드에서 적용되어, 사용자가 권한 확인을 건너뛰어도 파일을 보호한다.

  • Read(./.env), Read(./**/.env.*) 등 경로 패턴을 명시적으로 지정한다.
  • Read 거부 규칙은 해당 경로에 대한 Edit 및 Write도 차단하며, Claude Code가 인식하는 Bash 파일 명령어(cat 등)에도 적용된다.

2. PreToolUse 훅 활용

권한 규칙이 평가되기 전에 도구 호출을 JSON으로 받아 검증하는 PreToolUse 훅을 설치한다.

  • 훅은 exit 2를 반환하여 도구 호출을 거부(veto)할 수 있어, allow 규칙보다 우선한다.
  • 이는 권한 규칙이 놓치는 실제 사고 시나리오(경로가 아닌 콘텐츠 기반 위험 등)를 차단하는 데 효과적이다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.