58. 보안
권한 아키텍처·샌드박싱·인젝션 방지·MCP 보안 등 안전 사용 가이드
보안
Claude Code의 보안 안전장치 및 안전한 사용을 위한 모범 사례에 대해 알아봅니다.
보안에 대한 접근 방식
보안 기반
코드의 보안은 가장 중요합니다. Claude Code는 Anthropic의 포괄적인 보안 프로그램에 따라 개발되었으며, 보안을 핵심에 두고 구축되었습니다. Anthropic Trust Center에서 자세한 정보와 리소스(SOC 2 Type 2 보고서, ISO 27001 인증서 등)를 확인할 수 있습니다.
권한 기반 아키텍처
Claude Code는 기본적으로 엄격한 읽기 전용 권한을 사용합니다. 추가 작업이 필요한 경우(파일 편집, 테스트 실행, 명령어 실행), Claude Code는 명시적인 권한을 요청합니다. 사용자는 작업을 한 번만 승인하거나 자동으로 허용할지를 제어할 수 있습니다.
Claude Code는 투명하고 안전하게 설계되었습니다. 예를 들어, bash 명령어를 실행하기 전에 승인을 요구하여 직접적인 제어 권한을 부여합니다. 이 접근 방식을 통해 사용자와 조직이 권한을 직접 구성할 수 있습니다.
자세한 권한 구성은 권한을 참조하세요.
내장 보호 기능
에이전트 시스템의 위험을 완화하기 위해:
- 샌드박스된 bash 도구: 파일 시스템 및 네트워크 격리로 bash 명령어를 샌드박스하여, 보안을 유지하면서 권한 프롬프트를 줄입니다.
/sandbox로 활성화하여 Claude Code가 자율적으로 작업할 수 있는 경계를 정의합니다 - 쓰기 접근 제한: Claude Code는 시작된 폴더와 그 하위 폴더에만 쓸 수 있으며, 명시적인 권한 없이 상위 디렉토리의 파일을 수정할 수 없습니다. Claude Code는 작업 디렉토리 외부의 파일을 읽을 수 있지만(시스템 라이브러리 및 종속성 접근에 유용), 쓰기 작업은 프로젝트 범위로 엄격하게 제한되어 명확한 보안 경계를 만듭니다
- 권한 피로 완화: 사용자별, 코드베이스별 또는 조직별로 자주 사용하는 안전한 명령어를 허용 목록에 추가할 수 있습니다
- Accept Edits 모드: 부작용이 있는 명령어에 대한 권한 프롬프트를 유지하면서 여러 편집을 일괄 승인합니다
사용자 책임
Claude Code는 사용자가 부여한 권한만 가집니다. 승인 전에 제안된 코드와 명령어의 안전성을 검토할 책임은 사용자에게 있습니다.
프롬프트 인젝션 방지
프롬프트 인젝션은 공격자가 악의적인 텍스트를 삽입하여 AI 어시스턴트의 지침을 재정의하거나 조작하려는 기법입니다. Claude Code에는 이러한 공격에 대한 여러 안전장치가 포함되어 있습니다:
핵심 보호 기능
- 권한 시스템: 민감한 작업에는 명시적 승인이 필요합니다
- 컨텍스트 인식 분석: 전체 요청을 분석하여 잠재적으로 유해한 지침을 감지합니다
- 입력 검증: 사용자 입력을 처리하여 명령어 인젝션을 방지합니다
- 명령어 차단 목록: 기본적으로
curl및wget과 같이 웹에서 임의의 콘텐츠를 가져오는 위험한 명령어를 차단합니다. 명시적으로 허용하는 경우, 권한 패턴 제한 사항에 유의하세요
개인정보 안전장치
데이터를 보호하기 위해 다음을 포함한 여러 안전장치를 구현했습니다:
- 민감한 정보에 대한 제한된 보존 기간 (자세한 내용은 Privacy Center를 참조하세요)
- 사용자 세션 데이터에 대한 접근 제한
- 데이터 학습 선호도에 대한 사용자 제어. 일반 사용자는 언제든지 개인정보 설정을 변경할 수 있습니다.
전체 세부 사항은 상업용 서비스 약관(Team, Enterprise, API 사용자용) 또는 소비자 약관(Free, Pro, Max 사용자용) 및 개인정보 처리방침을 검토하세요.
추가 안전장치
- 네트워크 요청 승인: 네트워크 요청을 수행하는 도구는 기본적으로 사용자 승인이 필요합니다
- 격리된 컨텍스트 윈도우: 웹 페치는 잠재적으로 악의적인 프롬프트가 주입되는 것을 방지하기 위해 별도의 컨텍스트 윈도우를 사용합니다
- 신뢰 검증: 처음 코드베이스를 실행하거나 새로운 MCP 서버를 사용할 때 신뢰 검증이 필요합니다
- 참고:
-p플래그를 사용하여 비대화형으로 실행할 때는 신뢰 검증이 비활성화됩니다
- 참고:
- 명령어 인젝션 감지: 의심스러운 bash 명령어는 이전에 허용 목록에 추가되었더라도 수동 승인이 필요합니다
- 실패 시 차단 매칭: 일치하지 않는 명령어는 기본적으로 수동 승인이 필요합니다
- 자연어 설명: 복잡한 bash 명령어에는 사용자 이해를 위한 설명이 포함됩니다
- 안전한 자격 증명 저장: API 키와 토큰은 암호화됩니다. 자격 증명 관리를 참조하세요
주의:
Windows WebDAV 보안 위험: Windows에서 Claude Code를 실행할 때, WebDAV를 활성화하거나 Claude Code가 WebDAV 하위 디렉토리를 포함할 수 있는
\\*와 같은 경로에 접근하도록 허용하는 것을 권장하지 않습니다. WebDAV는 Microsoft에 의해 더 이상 사용되지 않음으로 지정되었습니다. WebDAV를 활성화하면 Claude Code가 원격 호스트로의 네트워크 요청을 트리거하여 권한 시스템을 우회할 수 있습니다.
신뢰할 수 없는 콘텐츠로 작업할 때의 모범 사례:
- 승인 전에 제안된 명령어를 검토하세요
- 신뢰할 수 없는 콘텐츠를 Claude에 직접 파이핑하지 마세요
- 중요한 파일에 대한 제안된 변경 사항을 확인하세요
- 특히 외부 웹 서비스와 상호작용할 때 스크립트를 실행하고 도구를 호출하기 위해 가상 머신(VM)을 사용하세요
- 의심스러운 동작은
/bug로 신고하세요
주의:
이러한 보호 기능이 위험을 상당히 줄여주지만, 모든 공격에 완전히 면역인 시스템은 없습니다.
AI 도구를 사용할 때 항상 좋은 보안 관행을 유지하세요.
MCP 보안
Claude Code는 사용자가 Model Context Protocol (MCP) 서버를 구성할 수 있도록 합니다. 허용된 MCP 서버 목록은 엔지니어가 소스 컨트롤에 체크인하는 Claude Code 설정의 일부로 소스 코드에서 구성됩니다.
자체 MCP 서버를 작성하거나 신뢰할 수 있는 제공업체의 MCP 서버를 사용하는 것을 권장합니다. MCP 서버에 대한 Claude Code 권한을 구성할 수 있습니다. Anthropic은 MCP 서버를 관리하거나 감사하지 않습니다.
IDE 보안
IDE에서 Claude Code를 실행하는 것에 대한 자세한 정보는 VS Code 보안 및 개인정보를 참조하세요.
클라우드 실행 보안
웹 기반 Claude Code를 사용할 때, 추가 보안 제어가 적용됩니다:
- 격리된 가상 머신: 각 클라우드 세션은 격리된, Anthropic이 관리하는 VM에서 실행됩니다
- 네트워크 접근 제어: 네트워크 접근은 기본적으로 제한되며, 비활성화하거나 특정 도메인만 허용하도록 구성할 수 있습니다
- 자격 증명 보호: 인증은 샌드박스 내에서 범위가 제한된 자격 증명을 사용한 다음 실제 GitHub 인증 토큰으로 변환하는 보안 프록시를 통해 처리됩니다
- 브랜치 제한: Git push 작업은 현재 작업 브랜치로 제한됩니다
- 감사 로깅: 클라우드 환경의 모든 작업은 규정 준수 및 감사 목적으로 로깅됩니다
- 자동 정리: 클라우드 환경은 세션 완료 후 자동으로 종료됩니다
클라우드 실행에 대한 자세한 내용은 웹 기반 Claude Code를 참조하세요.
Remote Control 세션은 다르게 작동합니다: 웹 인터페이스가 로컬 컴퓨터에서 실행 중인 Claude Code 프로세스에 연결됩니다. 모든 코드 실행과 파일 접근은 로컬에서 이루어지며, 로컬 Claude Code 세션 동안 전송되는 것과 동일한 데이터가 TLS를 통해 Anthropic API를 거쳐 전달됩니다. 클라우드 VM이나 샌드박싱은 관여하지 않습니다. 연결에는 각각 특정 목적으로 제한되고 독립적으로 만료되는 여러 개의 단기, 좁은 범위의 자격 증명이 사용되어, 단일 자격 증명이 손상되었을 때의 영향 범위를 제한합니다.
보안 모범 사례
민감한 코드 작업
- 승인 전에 제안된 모든 변경 사항을 검토하세요
- 민감한 저장소에는 프로젝트별 권한 설정을 사용하세요
- 추가 격리를 위해 devcontainer 사용을 고려하세요
/permissions로 권한 설정을 정기적으로 감사하세요
팀 보안
- 관리 설정을 사용하여 조직 표준을 시행하세요
- 승인된 권한 구성을 버전 관리를 통해 공유하세요
- 팀원들에게 보안 모범 사례를 교육하세요
- OpenTelemetry 메트릭을 통해 Claude Code 사용을 모니터링하세요
ConfigChange훅으로 세션 중 설정 변경을 감사하거나 차단하세요
보안 이슈 신고
Claude Code에서 보안 취약점을 발견한 경우:
- 공개적으로 공개하지 마세요
- HackerOne 프로그램을 통해 신고하세요
- 상세한 재현 단계를 포함하세요
- 공개 전에 문제를 해결할 시간을 주세요
관련 리소스
- 샌드박싱 - bash 명령어를 위한 파일 시스템 및 네트워크 격리
- 권한 - 권한 및 접근 제어 구성
- 사용량 모니터링 - Claude Code 활동 추적 및 감사
- 개발 컨테이너 - 안전하고 격리된 환경
- Anthropic Trust Center - 보안 인증 및 규정 준수