보안과운영 - 안전한 스킬 관리
목차
스킬이 위험한 명령을 실행하면 어떻게 될까요?
편리함 뒤에는 항상 보안 위험이 있습니다. 스킬을 안전하게 만들고 운영하는 방법을 알아야 합니다.
이 글에서는 스킬 보안과 효율적인 운영 방법을 알아봅니다.
보안 기본 원칙
스킬이 rm -rf 같은 명령을 실행하면 어떻게 돼요?
기본적으로 Claude Code는 위험한 명령 전에 확인을 요청해. 하지만 allowedCommands에 추가하면 확인 없이 실행되니까 조심해야 해!
그럼 어떤 명령은 절대 허용하면 안 되겠네요?
맞아! 파일 삭제, 권한 변경, 시스템 명령은 절대 자동 허용하면 안 돼. 복구가 불가능한 경우가 많거든.
① 최소 권한 - 필요한 것만 허용
② 확인 유지 - 위험 명령은 확인 필수
③ 비밀 보호 - API 키, 비밀번호 노출 금지
위험 명령 목록
⚠️ 절대 자동 허용 금지
| 명령 | 위험성 | 영향 |
|---|---|---|
rm -rf |
파일/폴더 삭제 | 복구 불가 |
sudo |
관리자 권한 | 시스템 전체 |
chmod 777 |
권한 완전 개방 | 보안 취약 |
curl | bash |
외부 스크립트 실행 | 악성 코드 위험 |
git push -f |
강제 푸시 | 히스토리 손실 |
✅ 허용해도 비교적 안전한 명령
npm install- package.json 기반 설치npm run- 정의된 스크립트 실행git status,git diff- 읽기 전용pytest,npm test- 테스트 실행
비밀 정보 관리
API 키, 토큰 등 민감한 정보를 안전하게 관리해야 합니다.
🔒 비밀 정보 관리 규칙
① settings.json은 Git에 커밋 금지
② 환경 변수 사용 시 .env는 .gitignore에 추가
③ 스킬 내용에 하드코딩 금지
.gitignore 설정
# Claude Code 관련
.claude/settings.json
.env
.env.local
# 민감 파일
*.key
*.pem
credentials.json
실수로 API 키를 커밋했으면 어떻게 해요?
즉시 해당 키를 무효화(revoke)하고 새 키를 발급받아야 해. Git 히스토리에서 삭제해도 이미 노출됐을 수 있거든.
운영 팁
스킬 버전 관리
💡 버전 관리 권장 방식
--- name: my-skill version: 1.2.0 --- ## 변경 이력 - v1.2.0: MCP 연동 추가 - v1.1.0: 출력 형식 개선 - v1.0.0: 초기 버전
스킬 백업
💡 백업 전략
- Git 저장소 - 스킬 폴더를 별도 저장소로 관리
- 정기 백업 - ~/.claude/skills/ 폴더 주기적 백업
- 변경 전 복사 - 큰 수정 전에 _backup 폴더에 복사
모니터링
Hooks를 활용해 스킬 실행 로그를 남기면 문제 발생 시 추적이 쉬워집니다. PostToolUse에 로깅 명령을 추가해보세요!
보안 체크리스트
☐ 위험 명령이 allowedCommands에 없는가?
☐ API 키가 하드코딩되어 있지 않은가?
☐ settings.json이 .gitignore에 포함되었는가?
☐ MCP 연결에 필요한 최소 권한만 부여했는가?
☐ 스킬이 의도하지 않은 파일을 수정하지 않는가?
기억하세요!
편리함보다 안전이 먼저입니다.
확인 한 번이 복구 수십 번을 예방합니다.
보안 3원칙 = 최소 권한, 확인 유지, 비밀 보호
금지 명령 = rm -rf, sudo, chmod 777 등
비밀 관리 = .gitignore 활용, 환경 변수 사용
운영 = 버전 관리, 백업, 모니터링
👉 Plugins 시스템 : 확장 가능한 스킬 생태계 구축하기
안전한 스킬이 좋은 스킬입니다!
보안은 선택이 아닌 필수입니다! 🔐
댓글
댓글 쓰기