당신의 Claude 코드 설정은 안전한가요? 5초 안에 확인
Source: Dev.to
최근 CVE 공개
최근 CVE 공개(CVE‑2025‑59536, CVE‑2026‑21852)에서는 복제된 저장소에 있는 악성 .claude/settings.json 파일이 임의의 셸 명령을 실행하고 API 키를 유출할 수 있음을 보여주었습니다. Anthropic은 이러한 특정 취약점을 패치했지만, 더 넓은 질문은 남습니다: 현재 Claude Code가 여러분의 머신에서 무엇을 할 수 있는가?
안전‑검사 스크립트
이 스크립트는 설치가 필요 없으며 bash와 python3만 의존합니다. 약 2 초 안에 실행됩니다.
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/safety-check/check.sh | bash
스크립트는 ~/.claude/settings.json을 검사하고 5개 카테고리에서 9개의 항목을 평가합니다:
| 카테고리 | 검사 항목 |
|---|---|
| 파괴 명령 보호 | bash-guard ( rm -rf /, sudo, `curl |
| 파일 보호 | file-guard (.env, 개인 키, 자격 증명 파일에 대한 읽기/쓰기 방지) branch-guard ( main/master/production에 직접 커밋 차단) |
| 가시성 | session-log (모든 도구 호출을 타임스탬프와 함께 ~/.claude/session-logs/에 기록) |
| 효율성 | read-once (중복 파일 재읽기 방지, 차단된 읽기당 약 2000 토큰 절감) |
| 내장 설정 | settings.json의 허용/거부 규칙 |
예시 출력
Claude Code Safety Check
━━━━━━━━━━━━━━━━━━━━━━━━
Setup
✓ Claude Code installed (+5)
✓ Settings file exists (+5)
Destructive Command Protection
✗ bash-guard (blocks rm -rf /, sudo, curl|bash) (0/20)
✓ git-safe (blocks force push, hard reset) (+15)
File Protection
✗ file-guard (protects .env, secrets, keys) (0/15)
✗ branch-guard (prevents commits to main) (0/10)
Observability
✗ session-log (audit trail of all actions) (0/15)
Efficiency
✓ read-once (prevents redundant file reads) (+10)
Built-in Settings
✗ Permission rules configured (0/5)
━━━━━━━━━━━━━━━━━━━━━━━━
Safety Score: 35/100 (35%) — Grade D
Poor. Claude has too much unguarded access.
4/9 checks passed
점수가 C 이하이면, 출력에 누락된 훅을 설치하기 위해 실행해야 할 정확한 명령이 표시됩니다.
각 검사가 중요한 이유
| 가중치 | 검사 | 이유 |
|---|---|---|
| 20 | bash-guard | 가장 큰 파급 효과 – 제한 없는 bash는 가장 큰 위험 |
| 15 | git-safe | 히스토리 파괴는 복구가 어려움 |
| 15 | file-guard | 자격 증명 노출은 되돌릴 수 없음 |
| 15 | session-log | 로그 없이는 무슨 일이 있었는지 감사할 수 없음 |
| 10 | branch-guard | 배포 브랜치를 보호 |
| 10 | read-once | 토큰 절감, 안전성은 낮은 가중치 |
| 5 | settings.json | 기본 설정 존재 여부 |
| 5 | Claude installed | 전제 조건 검사 |
| 5 | Permissions | 내장 허용/거부 규칙 |
훅이 작동하는 방식
훅은 Claude Code가 도구 호출을 실행하기 전에 실행되는 결정론적 안전 레이어입니다. 간단한 Bash 스크립트로 다음을 할 수 있습니다:
- 위험한 명령 차단 (
rm -rf /,sudo,curl|bash등) - 파괴적인 Git 작업 방지 (강제 푸시, 하드 리셋)
- 민감 파일 읽기 차단 (
.env, 개인 키 등) - 브랜치 보호 정책 적용
- 모든 행동을 기록해 나중에 감사 가능
모델의 결정과 무관하게 실행되기 때문에, 모델이 위험한 행동을 수행하도록 프롬프트되더라도 신뢰할 수 있는 안전망을 제공합니다.
검사를 다시 실행하기
curl -fsSL https://raw.githubusercontent.com/Bande-a-Bonnot/Boucle-framework/main/tools/safety-check/check.sh | bash
소스 코드
안전‑검사 스크립트는 오픈소스이며 30개의 테스트를 포함해 동작을 검증합니다. 위에 연결된 저장소에서 코드와 테스트를 검토할 수 있습니다.