Claude Code에서 재앙을 막는 3가지 후크(Hooks) 사용법 (코드 포함)
요약
Claude Code의 후크(hooks) 기능을 활용하여 모델이 실행하는 명령어에 안전장치를 설정할 수 있습니다. `PreToolUse`와 같은 이벤트별 후크를 사용하면 위험한 명령어를 사전에 차단하거나, 민감 정보가 작성되는 것을 감지할 수 있어 작업의 안정성을 높일 수 있습니다.
핵심 포인트
- 후크는 모델이 규칙 기억에 의존하지 않고 액션 전에 작동하는 안전장치입니다.
- `.claude/settings.json` 파일에서 이벤트 및 도구별로 후크를 설정합니다.
- 위험한 명령어 차단 시, `stderr`을 통해 이유가 Claude에게 되돌려집니다.
Claude Code는 명령어 실행에 매우 능숙합니다. 이것이 바로 잘못된 명령어를 실행했을 때 문제가 되는 지점입니다. **후크(hooks)**를 사용하면 모델이 규칙을 '기억'하는 것에 의존하지 않고, 모든 액션 전에 작동하는 안전장치를 설정할 수 있습니다.
작동 방식 (30초 만에)
.claude/settings.json파일에 이벤트별(PreToolUse,PostToolUse,Notification등) 및 도구별(Bash,Write|Edit등)로 설정합니다.- 후크는 stdin을 통해 JSON 형태로 이벤트를 받습니다.
- 코드 2가 반환되면 액션이 차단되며, stderr의 텍스트가 그 이유와 함께 Claude에게 되돌려집니다.
1. 파괴적인 명령어 차단하기
.claude/hooks/bloquear-comandos-peligrosos.sh:
#!/usr/bin/env bash
entrada="$(cat)"
patrones=(
...
--force([^-]|$)의 세부 사항에 주목하세요: --force는 차단하지만, 안전한 방식인 --force-with-lease는 통과시킵니다.
.claude/settings.json:
{
"hooks": {
"PreToolUse": [
...
chmod +x를 잊지 말고 테스트해 보세요:
echo '{"tool_input":{"command":"git reset --hard"}}' | .claude/hooks/bloquear-comandos-peligrosos.sh; echo $?
# → 2
2. 비밀 정보 작성 전 감지하기
동일한 패턴을 사용하지만, `matcher:
El Kit Claude Code en español (US$9)에는 세 가지 후크와 하나의 알림 기능, 6가지 스킬(스페인어 버전: /commit, /pr, /revisar, /tests, /plan, /depurar)이 포함되어 있으며, React, Node 및 GraphQL용 CLAUDE.md 템플릿과 권한 프리셋도 제공됩니다: https://luijhy.gumroad.com/l/kit-claude-code-es
여러분은 또 어떤 명령어를 차단하시겠습니까? 댓글에서 읽어보겠습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기