Claude Code 공식문서 리뷰-Administration[3] : Claude Code 설정 - 보안(Security)
- -
안녕하세요! 갓대희입니다.
Claude Code Docs 공식 문서 >> [관리] 섹션의 내용 중 [Claude Code 설정 - 보안(Security)]를 살펴 보려고 합니다.
이번 섹션 부터는 영문, 한글번역본이 모두 공식문서로 존재하는 섹션이니 한글 문서를 편하게 참고 하셔도 될 것 같습니다.
https://code.claude.com/docs/ko/security
보안 - Claude Code Docs
Claude Code의 보안 보호 기능과 안전한 사용을 위한 모범 사례에 대해 알아보세요.
code.claude.com
이 카테고리의 글은 편하게 공식 문서 위주의 내용을 눈으로 쭉 살펴 보고 넘어가는 목적을 갖고 시작 하게 되었습니다.
저도 초심으로 돌아가 기초적읜 글을 살펴보다보니, 지금와서 클로드에서 강조 하고자 하는 원칙이 어떤건지 되돌아볼 수 있는 계기가 되기도 하는 것 같아, 다른 분들도 꼭 한번 눈으로라도 이해 하고 넘어가는것이 좋다고 생각하여 공식 문서의 내용을 억지로 리뷰해보게 되었습니다.

Claude Code 보안
보안 아키텍처, 내장 보호 기능, 모범 사례
보안 설정 시작하기
Claude Code를 처음 사용하거나 보안 설정을 점검하려는 경우, 다음 단계를 따른다.
Step 1: 현재 권한 설정 확인
먼저 현재 설정된 권한을 확인한다:
# Claude Code 내에서 실행
/permissions
# 출력 예시:
# Allowed tools:
# - Read (always allowed)
# - Glob (always allowed)
# - Grep (always allowed)
#
# Allowed commands:
# - npm test
# - npm run build
# - git status

Step 2: 샌드박스 모드 활성화 (권장)
자율 작업 시 파일 시스템과 네트워크를 격리하려면 샌드박스를 활성화한다:
# 샌드박스 모드 활성화
/sandbox
# 특정 디렉토리로 작업 범위 제한
/sandbox /path/to/project

Step 3: 프로젝트별 설정 구성
민감한 프로젝트는 .claude/settings.json으로 별도 권한을 설정할 수 있다:
// .claude/settings.json
{
"permissions": {
"allow": [
"npm test",
"npm run lint"
],
"deny": [
"rm -rf",
"curl",
"wget"
]
}
}
Step 4: 정기적인 권한 감사
허용된 명령어 목록이 너무 많아지지 않도록 정기적으로 점검한다:
# 현재 권한 목록 확인
/permissions
# 불필요한 권한이 있다면 설정 파일에서 제거
# ~/.claude/settings.json 또는 .claude/settings.json 수정
핵심 보안 아키텍처
권한 기반 모델
Claude Code의 권한 시스템은 다음 원칙을 따른다:
| 원칙 | 설명 |
|---|---|
| 기본 읽기 전용 | 기본적으로 엄격한 읽기 전용 권한만 부여 |
| 명시적 승인 필요 | 파일 편집, 테스트 실행, 명령어 실행은 사용자 승인 필요 |
| 사용자 제어 | 작업을 한 번 승인하거나 자동 승인 설정 가능 |
| 투명한 설계 | bash 명령어 실행 전 승인 요청 등 예측 가능한 동작 |
상황별 보안 설정 가이드
상황 1: 개인 프로젝트에서 사용
개인 학습이나 사이드 프로젝트에서는 기본 설정으로 충분하다.
| 설정 항목 | 권장 값 |
|---|---|
| 자주 쓰는 명령어 허용 | npm test, npm run build, git status |
| 샌드박스 | 선택 사항 |
| Accept Edits 모드 | 리팩토링 시 사용 가능 |
상황 2: 팀 프로젝트에서 사용
팀원 간 일관된 보안 정책이 필요하다.
| 설정 항목 | 권장 값 |
|---|---|
| 프로젝트 설정 파일 | .claude/settings.json을 Git에 커밋 |
| 엔터프라이즈 설정 | 조직 표준 적용 (Enterprise 플랜) |
| 모니터링 | OpenTelemetry 메트릭으로 사용량 추적 |
| 교육 | 팀원에게 보안 모범 사례 공유 |
상황 3: 민감한 프로덕션 코드 작업
프로덕션 환경이나 보안이 중요한 코드는 더 엄격한 설정이 필요하다.
| 설정 항목 | 권장 값 |
|---|---|
| 샌드박스 | 필수 활성화 |
| Devcontainer | 격리된 환경에서 실행 권장 |
| 자동 승인 | 최소화 (매번 수동 확인) |
| Accept Edits 모드 | 사용 자제 |
claude -p "...")로 실행하면 Trust verification이 비활성화된다. 자동화 스크립트에서 사용할 때 특히 주의가 필요하다.
내장 보호 기능
1. 샌드박스 Bash 도구
- 파일 시스템과 네트워크 격리
- 보안을 유지하면서 권한 프롬프트 줄임
/sandbox명령으로 자율 작업 범위 정의
2. 쓰기 접근 제한
[쓰기 가능] Claude Code가 시작된 폴더와 하위 폴더
[쓰기 불가] 상위 디렉토리 (명시적 권한 없이)
[읽기 가능] 작업 디렉토리 외부 파일 (시스템 라이브러리/의존성용)
3. 권한 피로 완화
자주 사용하는 안전한 명령어를 허용 목록에 추가할 수 있다:
- 사용자별 설정 (
~/.claude/settings.json) - 코드베이스별 설정 (
.claude/settings.json) - 조직별 설정 (Enterprise)
4. Accept Edits 모드
- 여러 편집을 일괄 승인
- 부작용이 있는 명령어는 여전히 권한 프롬프트 유지
5. 자연어 명령어 설명
복잡한 bash 명령어의 경우 Claude Code가 자연어로 설명을 제공한다. 예를 들어:
명령어: find . -name "*.log" -mtime +30 -delete
설명: "현재 디렉토리에서 30일 이상 된 .log 파일을 찾아 삭제합니다"
이를 통해 승인 전에 명령어가 어떤 동작을 하는지 이해할 수 있다.
프롬프트 인젝션 보호
핵심 보호 기능
| 기능 | 설명 |
|---|---|
| 권한 시스템 | 민감한 작업은 명시적 승인 필요 |
| 컨텍스트 인식 분석 | 전체 요청을 분석하여 잠재적으로 유해한 지침 탐지 |
| 입력 새니타이제이션 | 명령어 인젝션 방지 |
| 명령어 차단 목록 | curl, wget 같은 위험 명령어 기본 차단 |
추가 보호 장치
| 보호 장치 | 설명 |
|---|---|
| 네트워크 요청 승인 | 네트워크 요청 도구는 사용자 승인 필요 |
| 격리된 컨텍스트 | 웹 페치는 별도 컨텍스트에서 실행 (악성 프롬프트 인젝션 방지) |
| 신뢰 검증 | 처음 실행하는 코드베이스와 새 MCP 서버는 신뢰 검증 필요 |
| 명령어 인젝션 탐지 | 의심스러운 bash 명령어는 허용 목록에 있어도 수동 승인 필요 |
| Fail-closed 매칭 | 매칭되지 않는 명령어는 기본적으로 수동 승인 필요 |
| 보안 자격 증명 저장 | API 키와 토큰 암호화 저장 |
Privacy Safeguards (개인정보 보호)
Claude Code는 사용자 데이터 보호를 위해 다음 조치를 취한다:
| 항목 | 설명 |
|---|---|
| 제한된 보존 기간 | 민감한 정보는 제한된 기간만 보존 |
| 세션 데이터 접근 제한 | 사용자 세션 데이터에 대한 접근 제한 |
| 학습 설정 제어 | 데이터 학습 여부를 사용자가 선택 가능 |
자세한 내용은 다음 문서를 참조한다:
- Commercial Terms of Service (Team, Enterprise, API 사용자)
- Consumer Terms (Free, Pro, Max 사용자)
- Privacy Policy
MCP 보안
Model Context Protocol (MCP) 서버 관련 보안 고려사항:
| 항목 | 설명 |
|---|---|
| 설정 방식 | 소스 코드를 통해 MCP 서버 설정 |
| 허용 서버 | Claude Code 설정에서 구성 (소스 컨트롤에 체크인) |
| 권장 사항 | 신뢰할 수 있는 MCP 서버 사용 또는 직접 작성 |
| 권한 구성 | MCP 서버별 Claude Code 권한 설정 가능 |
IDE 보안
VS Code 등 IDE에서 Claude Code를 실행할 때의 보안 정보는 VS Code 보안 섹션을 참조한다.
클라우드 실행 보안
웹에서 Claude Code를 실행할 때의 보안 기능:
| 기능 | 설명 |
|---|---|
| 격리된 VM | 각 세션은 Anthropic이 관리하는 격리된 가상 머신에서 실행 |
| 네트워크 접근 제어 | 기본적으로 제한, 특정 도메인에 대해 설정 가능 |
| 자격 증명 보호 | 보안 프록시를 통한 인증, 범위가 지정된 샌드박스 자격 증명 |
| 브랜치 제한 | Git push는 현재 작업 브랜치로 제한 |
| 감사 로깅 | 컴플라이언스를 위한 모든 작업 로깅 |
| 자동 정리 | 세션 완료 후 클라우드 환경 종료 |
보안 모범 사례
민감한 코드 작업 시
- 모든 제안된 변경사항을 승인 전 검토
- 민감한 저장소에는 프로젝트별 권한 설정 사용
- 격리를 위해 devcontainer 사용 고려
/permissions로 정기적으로 권한 감사
팀 보안
- 엔터프라이즈 관리 설정으로 조직 표준 적용
- 버전 컨트롤을 통해 승인된 권한 설정 공유
- 팀원에게 보안 모범 사례 교육
- OpenTelemetry 메트릭으로 사용량 모니터링
신뢰할 수 없는 콘텐츠 작업 시
- 승인 전 제안된 명령어 검토
- 신뢰할 수 없는 콘텐츠를 Claude에 직접 파이프하지 않기
- 중요 파일에 대한 제안된 변경사항 검증
- 외부 웹 서비스가 포함된 스크립트는 가상 머신에서 실행
/bug로 의심스러운 동작 신고
트러블슈팅
문제 1: 명령어가 계속 차단됨
증상: 자주 사용하는 안전한 명령어인데도 매번 승인을 요청한다.
해결 방법:
// .claude/settings.json에 허용 명령어 추가
{
"permissions": {
"allow": [
"npm test",
"npm run build",
"python -m pytest"
]
}
}
문제 2: curl/wget이 필요한데 차단됨
증상: API 테스트 등을 위해 curl이 필요하지만 기본적으로 차단되어 있다.
해결 방법:
- 정말 필요한 경우에만 허용 목록에 추가
- 허용 시 권한 패턴 제한 사항을 이해하고 사용
// 특정 도메인으로 제한된 curl만 허용 (예시)
{
"permissions": {
"allow": [
"curl https://api.example.com/*"
]
}
}
문제 3: MCP 서버를 신뢰할 수 있는지 판단이 어려움
증상: 외부 MCP 서버를 사용하고 싶은데 안전한지 확신이 없다.
해결 방법:
- 공식 또는 검증된 MCP 서버만 사용
- 소스 코드를 직접 검토
- 확실하지 않으면 직접 MCP 서버 작성
- MCP 서버별로 권한을 최소화하여 설정
문제 4: 파일 쓰기 권한 오류
증상: 특정 디렉토리에 파일을 쓰려는데 권한이 없다는 오류가 발생한다.
원인: Claude Code는 시작 디렉토리와 그 하위 폴더에만 쓰기 권한이 있다.
해결 방법:
- 작업할 프로젝트의 루트 디렉토리에서 Claude Code를 시작
- 상위 디렉토리 접근이 필요한 경우 명시적 권한 부여
중요 경고: Windows WebDAV
\\* 경로에 접근하도록 허용하지 않는다. WebDAV는 보안 위험으로 인해 Microsoft에서 사용 중단되었으며, 권한 시스템을 우회하는 네트워크 요청을 트리거할 수 있다.
보안 문제 신고
보안 취약점을 발견한 경우:
| 단계 | 설명 |
|---|---|
| 1 | 공개적으로 공유하지 않기 |
| 2 | HackerOne 취약점 공개 프로그램을 통해 신고 |
| 3 | 상세한 재현 단계 포함 |
| 4 | 공개 공시 전 해결 시간 허용 |
보안 점검 체크리스트
프로젝트 시작 전 또는 정기적으로 다음 항목을 확인한다:
| 점검 항목 | 확인 방법 |
|---|---|
| 현재 권한 설정 확인 | /permissions 실행 |
| 불필요한 허용 명령어 제거 | settings.json 검토 |
| 민감 프로젝트는 샌드박스 활성화 | /sandbox 실행 |
| MCP 서버 신뢰성 확인 | 사용 중인 MCP 서버 목록 검토 |
| 프로젝트 설정이 Git에 커밋되었는지 | .claude/settings.json 확인 |
| 팀원 보안 교육 완료 | 이 문서 공유 |
관련 문서
| 문서 | 설명 | 언제 참조하나 |
|---|---|---|
| Sandboxing | bash 명령어의 파일 시스템/네트워크 격리 | 자율 작업 범위를 제한하고 싶을 때 |
| Identity and Access Management | 권한 및 접근 제어 설정 | 세부 권한 설정이 필요할 때 |
| Monitoring Usage | Claude Code 활동 추적 및 감사 | 팀 사용량을 모니터링하고 싶을 때 |
| Development Containers | 안전하고 격리된 개발 환경 | 완전한 환경 격리가 필요할 때 |
| Anthropic Trust Center | 보안 인증 및 컴플라이언스 | SOC 2, ISO 27001 등 인증 정보가 필요할 때 |
'AI > Claude Code Doc(공식문서) 번역본' 카테고리의 다른 글
당신이 좋아할만한 콘텐츠
-
Claude Code 공식문서 리뷰-Administration[5] : Claude Code 설정 - 모니터링(Monitoring) 2026.01.04
-
Claude Code 공식문서 리뷰-Administration[4] : Claude Code 설정 - 데이터 사용 2026.01.03
-
Claude Code 공식문서 리뷰-Administration[2] : Claude Code 설정 - 신원 및 접근 관리(Identity and Access Management) 2026.01.03
-
Claude Code 공식문서 리뷰-Administration[1] : Claude Code 설정 - 설치 및 설정 2026.01.03
소중한 공감 감사합니다