Hook 기반 권한 모델
CLAUDE.md고급
Claude Code hooks(PreToolUse, PostToolUse, Notification)는 CLAUDE.md 규칙을 넘어서 정책을 프로그래밍 방식으로 적용하는 방법을 제공합니다. 이 패턴은 권한 계층을 구축하는 방법을 보여줍니다: 보호된 경로에 대한 쓰기 차단, 파괴적 명령에 대한 승인 요구, 감사를 위한 모든 파일 수정 기록, 민감한 작업에 대한 알림. 가드레일이 제안이 아닌 강제되어야 하는 팀 환경에 이상적입니다.
hooks권한보안가드레일정책
패턴 코드
# Hook-Based Permission Model
## .claude/settings.json — Hook Configuration
```json
{
"hooks": {
"PreToolUse": [
{
"matcher": "Write|Edit",
"command": "node .claude/hooks/check-write-permission.js"
},
{
"matcher": "Bash",
"command": "node .claude/hooks/check-bash-command.js"
}
],
"PostToolUse": [
{
"matcher": "Write|Edit",
"command": "node .claude/hooks/log-file-change.js"
}
],
"Notification": [
{
"command": "node .claude/hooks/notify-slack.js"
}
]
}
}
```
## .claude/hooks/check-write-permission.js
```javascript
// Block writes to protected paths
const PROTECTED = [
/^\.env/,
/^src\/config\/production/,
/^migrations\//,
/package-lock\.json/,
];
const input = JSON.parse(require("fs").readFileSync("/dev/stdin", "utf8"));
const filePath = input.tool_input?.file_path || "";
const blocked = PROTECTED.some((re) => re.test(filePath));
if (blocked) {
console.log(JSON.stringify({
decision: "block",
reason: `Protected path: ${filePath}. Manual edit required.`,
}));
} else {
console.log(JSON.stringify({ decision: "approve" }));
}
```
## .claude/hooks/check-bash-command.js
```javascript
// Block destructive commands
const BLOCKED_PATTERNS = [
/rm\s+-rf/,
/git\s+push\s+--force/,
/git\s+reset\s+--hard/,
/DROP\s+TABLE/i,
/DELETE\s+FROM\s+\w+\s*;/i,
];
const input = JSON.parse(require("fs").readFileSync("/dev/stdin", "utf8"));
const cmd = input.tool_input?.command || "";
const blocked = BLOCKED_PATTERNS.some((re) => re.test(cmd));
if (blocked) {
console.log(JSON.stringify({
decision: "block",
reason: "Destructive command detected. Requires manual execution.",
}));
} else {
console.log(JSON.stringify({ decision: "approve" }));
}
```
이 패턴을 프로젝트 설정에 복사하여 적용하세요.
실행 미리보기
Hook 기반 권한 모델
Hook 기반 권한 모델에 대해
Claude Code 패턴은 복잡한 개발 시나리오를 효과적으로 다루기 위한 검증된 아키텍처 설계와 워크플로우 구조입니다. Hook 기반 권한 모델은(는) 고급 수준의 CLAUDE.md 패턴으로, 프로젝트에 맞게 응용할 수 있는 테스트된 반복 가능한 접근 방식을 제공하여 더 효율적이고 일관된 결과를 만들어 냅니다.