Claude Code
권한 및 보안 관리
Claude Code의 권한 시스템, 도구 접근, 보안 보호장치에 대해 알아보세요.
Claude Code는 강력함과 안전성을 균형 있게 제공하기 위해 계층적 권한 시스템을 사용합니다:
도구 유형 | 예시 | 승인 필요 여부 | "예, 다시 묻지 않기" 동작 |
---|---|---|---|
읽기 전용 | 파일 읽기, LS, Grep | 아니오 | 해당 없음 |
Bash 명령 | 셸 명령 실행 | 예 | 프로젝트 디렉터리 및 명령어별로 영구 승인 |
파일 수정 | 파일 편집/쓰기 | 예 | 세션 종료 시까지 승인 유지 |
Claude가 사용할 수 있는 도구
Claude Code는 코드베이스를 이해하고 수정하는 데 도움이 되는 다양한 강력한 도구에 접근할 수 있습니다:
도구 | 설명 | 권한 필요 여부 |
---|---|---|
Agent | 복잡한 다단계 작업을 처리하는 하위 에이전트 실행 | 아니오 |
Bash | 환경에서 셸 명령 실행 | 예 |
Glob | 패턴 매칭을 통한 파일 찾기 | 아니오 |
Grep | 파일 내용에서 패턴 검색 | 아니오 |
LS | 파일 및 디렉터리 목록 표시 | 아니오 |
Read | 파일 내용 읽기 | 아니오 |
Edit | 특정 파일에 대한 타겟 편집 | 예 |
Write | 파일 생성 또는 덮어쓰기 | 예 |
NotebookEdit | Jupyter 노트북 셀 수정 | 예 |
NotebookRead | Jupyter 노트북 내용 읽기 | 아니오 |
WebFetch | 지정된 URL에서 콘텐츠 가져오기 | 예 |
권한 규칙은 /allowed-tools
또는 권한 설정에서 구성할 수 있습니다.
프롬프트 인젝션 방지
프롬프트 인젝션은 공격자가 악의적인 텍스트를 삽입해 AI 어시스턴트의 지침을 무력화하거나 조작하려는 기법입니다. Claude Code는 이러한 공격을 방지하기 위해 여러 보호장치를 포함하고 있습니다:
- 권한 시스템: 민감한 작업은 명시적 승인을 요구합니다.
- 컨텍스트 인식 분석: 전체 요청을 분석해 잠재적으로 위험한 지시를 탐지합니다.
- 입력 정제: 사용자 입력을 처리해 명령어 인젝션을 방지합니다.
- 명령어 차단 목록:
curl
,wget
등 임의의 웹 콘텐츠를 가져오는 위험한 명령어를 차단합니다.
신뢰할 수 없는 콘텐츠 작업 시 모범 사례:
- 승인 전 제안된 명령어를 반드시 검토하세요.
- 신뢰할 수 없는 콘텐츠를 Claude에 직접 파이프하지 마세요.
- 중요한 파일에 대한 변경 제안을 반드시 검증하세요.
- 의심스러운 동작은
/bug
로 신고하세요.
이러한 보호장치는 위험을 크게 줄이지만, 모든 공격을 완전히 막을 수 있는 시스템은 없습니다. 모든 AI 도구 사용 시 항상 보안 모범 사례를 준수하세요.
네트워크 접근 설정
Claude Code는 다음 주소에 접근이 필요합니다:
- api.anthropic.com
- statsig.anthropic.com
- sentry.io
컨테이너 환경에서 Claude Code를 사용할 때는 위 URL을 허용 목록에 추가하세요.
개발 컨테이너 레퍼런스 구현
Claude Code는 일관되고 안전한 환경이 필요한 팀을 위해 개발 컨테이너 구성을 제공합니다. 이 사전 구성된 devcontainer는 VS Code의 Remote - Containers 확장 및 유사 도구와 원활하게 연동됩니다.
컨테이너의 강화된 보안 조치(격리 및 방화벽 규칙)를 통해 claude --dangerously-skip-permissions
명령으로 무인 운영 시 권한 프롬프트를 건너뛸 수 있습니다. 필요에 따라 커스터마이즈할 수 있는 레퍼런스 구현도 제공합니다.
devcontainer는 강력한 보호 기능을 제공하지만, 모든 공격을 완전히 막을 수 있는 시스템은 아닙니다. 항상 보안 모범 사례를 준수하고 Claude의 활동을 모니터링하세요.
주요 특징
- 프로덕션용 Node.js: Node.js 20 기반, 필수 개발 종속성 포함
- 보안 중심 설계: 필요한 서비스만 네트워크 접근을 허용하는 맞춤형 방화벽
- 개발자 친화적 도구: git, ZSH, fzf 등 생산성 향상 도구 포함
- VS Code와 완벽 연동: 사전 구성된 확장 및 최적화된 설정
- 세션 지속성: 컨테이너 재시작 시 명령어 기록 및 설정 유지
- 다양한 환경 지원: macOS, Windows, Linux 개발 환경과 호환
4단계 시작 가이드
- VS Code와 Remote - Containers 확장 설치
- Claude Code 레퍼런스 구현 저장소 클론
- VS Code에서 저장소 열기
- 프롬프트가 뜨면 "컨테이너에서 다시 열기" 클릭(또는 Cmd+Shift+P → "Remote-Containers: Reopen in Container" 실행)
구성 요소 설명
- devcontainer.json: 컨테이너 설정, 확장, 볼륨 마운트 제어
- Dockerfile: 컨테이너 이미지 및 설치 도구 정의
- init-firewall.sh: 네트워크 보안 규칙 설정
보안 기능
컨테이너는 방화벽 설정을 통한 다계층 보안을 구현합니다:
- 정밀 접근 제어: npm registry, GitHub, Anthropic API 등 허용 도메인만 외부 연결 허용
- 기본 거부 정책: 그 외 모든 외부 네트워크 접근 차단
- 시작 시 검증: 컨테이너 초기화 시 방화벽 규칙 검증
- 격리: 메인 시스템과 분리된 안전한 개발 환경 제공
커스터마이즈 옵션
- 워크플로우에 맞는 VS Code 확장 추가/제거
- 하드웨어 환경에 맞는 리소스 할당 조정
- 네트워크 접근 권한 조정
- 셸 설정 및 개발 도구 커스터마이즈