Neosarchizo
RSS FeedS/W & H/W Engineer
Featured
무엇을 먹어야 하나?
Published: at 10:57 AMWhat to eat
인간은 초식 동물이다.
Published: at 11:49 AMHuman is herbivore
권장 대사량 측정하기
Published: at 01:55 PMHow to calculate calorie
Recent Posts
Claude Code PreToolUse Hook과 보안 — 도구가 실행되기 전에 위험한 명령과 민감 파일을 막는 게이트
Published: at 10:34 PMClaude Code의 PreToolUse Hook을 보안 관점에서 깊게 본다. 도구가 *실행되기 직전*에 발화해 호출 자체를 막을 수 있다는 핵심 성질 — PostToolUse(후처리, 못 막음)와 정반대 — 에서 출발해, 입력 JSON(tool_name·tool_input·tool_use_id, tool_output 없음), 차단의 두 갈래(exit 2 + stderr vs exit 0 + `permissionDecision` JSON), exit 2가 PreToolUse에서는 *블로킹*이라는 점(PostToolUse와 반대이며 exit 1은 차단이 아님), `permissionDecision` 4값(allow/deny/ask/defer)의 정확한 의미, 그리고 Hook과 권한 규칙·권한 모드의 관계 — Hook은 제약을 조이기만 하고 풀지 못한다, deny는 bypassPermissions도 뚫는다, allow는 deny 규칙을 못 이긴다, 여러 hook 병합 시 deny>ask>allow — 를 정리한다. 실전 패턴으로 위험한 Bash 명령 차단(rm -rf·DROP TABLE), 민감 파일 보호(.env·.git/), `ask`로 사용자 승인 에스컬레이션, `updatedInput`으로 입력 sanitize까지 묶고, 정적 권한 패턴과 동적 hook의 역할 분담, matcher와 `if` 필드, 셸 프로필이 JSON 출력을 오염시키는 문제도 함께 본다.
Claude Code PostToolUse Hook 활용 — 편집 직후 포맷팅·린트·테스트를 시스템에 못 박기
Published: at 07:35 PMClaude Code의 PostToolUse Hook을 한 차시로 깊게 본다.
Claude Code Hooks 개념과 이벤트 — settings.json으로 세션 생명주기에 자동화 끼워 넣기
Published: at 10:06 PMClaude Code의 Hooks 시스템을 처음부터 정리한다. Hook이 무엇이고 왜 쓰는지, 어떤 이벤트가 언제 발화하는지(SessionStart·UserPromptSubmit·PreToolUse·PostToolUse·Stop·SubagentStart/Stop·PreCompact·FileChanged·CwdChanged 등 lifecycle 카탕스별 분류), settings.json의 4단 우선순위(Managed > CLI > Local > Project > User), Hook 정의 JSON 구조와 5가지 타입(command/http/mcp_tool/prompt/agent), matcher 패턴 규칙(exact/pipe/regex/이벤트별 필터), exit code(0/2/그 외)와 JSON 출력(decision, hookSpecificOutput, additionalContext), `$CLAUDE_PROJECT_DIR` 같은 환경 변수, `/hooks` 메뉴로 등록 확인, `disableAllHooks`로 일괄 끄기까지 한 차시에 묶는다. 다음 세 차시(29 PostToolUse 활용, 30 PreToolUse 보안, 31 SessionStart/Stop)에서 실전 패턴으로 들어가기 전 준비 차시.
Claude Code Subagent 스킬 — Explore·Plan·general-purpose와 커스텀 에이전트로 컨텍스트 격리하기
Published: at 09:21 PMClaude Code의 subagent 시스템을 정리한다.