기본 콘텐츠로 건너뛰기

클로드 코드 왕초보 가이드 16편 — AI가 위험한 일 못하게 막는 법 2026

thumbnail

Photo by Emmanuel Phaeton on Unsplash

클로드 코드 왕초보 가이드 — 16편 전체 목차 보기
AI한테 일을 시키는 건 좋은데, 갑자기 중요한 파일을 삭제하거나 위험한 명령어를 실행하면 어떡하죠? 걱정 마세요. Claude Code에는 처음부터 안전장치가 내장되어 있고, 여러분이 직접 규칙을 만들어서 더 단단하게 잠글 수도 있습니다.

집에 새로 들인 로봇 청소기를 생각해보세요. 처음에는 알아서 돌아다니지만, 아이 방에 못 들어가게 가상 벽을 설정하고, 계단 앞에는 물리적 차단기를 놓습니다. Claude Code의 안전 시스템도 이와 같습니다. 기본으로 작동하는 보호막이 있고, 여러분이 원하는 구역에 추가 벽을 세울 수 있습니다.


Claude Code의 기본 안전장치

Claude Code는 아무 설정 없이도 위험할 수 있는 작업 앞에서 자동으로 멈춥니다. 파일을 수정하려고 하면 "이렇게 바꿔도 될까요?"라고 물어보고, 터미널 명령어를 실행하려고 하면 "이 명령어를 실행할까요?"라고 확인합니다.

스마트폰에서 앱이 "위치 정보에 접근해도 되겠습니까?"라고 묻는 것과 같은 원리예요. 여러분이 "허용"을 누르기 전까지는 아무 일도 일어나지 않습니다.

기본으로 보호되는 것들:

파일 수정/생성 — 실행 전 변경 내용을 보여주고 승인을 기다림

Bash 명령어 실행 — 어떤 명령을 실행할지 보여주고 허락을 구함

외부 도구 호출 — MCP 서버 등 외부 연결 시 확인 요청

그런데 매번 "허용하시겠습니까?"에 일일이 답하다 보면 지칠 수 있습니다. 반대로, 특정 위험한 명령은 물어보지도 말고 아예 차단하고 싶을 수도 있고요. 이걸 해결하는 게 바로 권한 설정입니다.


권한 규칙 직접 설정하기

Claude Code의 권한 시스템은 세 단계로 나뉩니다. "항상 허용", "매번 물어보기", "절대 차단" — 이 세 가지를 조합해서 여러분만의 규칙을 만들 수 있습니다.

권한 수준 설정값 비유
항상 허용 allow 가족 — 현관 비밀번호 알려줌
매번 물어보기 ask (기본값) 택배기사 — 초인종 누르고 확인
절대 차단 deny 출입 금지 — 문 자체가 잠김

중요한 규칙이 하나 있습니다. deny는 항상 이깁니다. allow와 deny에 같은 항목이 있으면 deny가 우선 적용됩니다. 차단이 허용보다 강하다는 뜻이에요.

설정하는 두 가지 방법

방법 1: 명령어로 간편하게

Claude Code 안에서 /permissions를 입력하면 현재 권한 규칙을 확인하고 수정할 수 있습니다.

/permissions

방법 2: 설정 파일 직접 편집

더 세밀한 제어를 원하면 설정 파일을 직접 수정합니다. 설정 파일은 두 곳에 있습니다.

파일 위치 적용 범위
~/.claude/settings.json 내 컴퓨터 전체 (모든 프로젝트)
.claude/settings.json 현재 프로젝트만

아래는 실제 설정 파일 예시입니다. permissions 키 안에 allow, deny 규칙을 적습니다.

{ "permissions": { "allow": [ "Read", "Glob", "Grep" ], "deny": [ "Bash(rm -rf *)", "Bash(sudo *)" ] } }

이 설정의 의미를 풀어보면 이렇습니다.

  • allow: 파일 읽기(Read), 파일 검색(Glob, Grep)은 물어보지 말고 바로 실행해도 됩니다.
  • deny: rm -rf *(전체 삭제)와 sudo(관리자 권한 명령)는 절대 실행하지 마세요.
주의: deny에 넣은 명령은 Claude Code가 아예 실행을 거부합니다. 실수로 필요한 명령을 차단하지 않았는지, 설정 후 한 번 확인해보세요.

Hooks로 감시 카메라 달기

권한 설정이 "출입증"이라면, Hooks는 "감시 카메라"입니다. Claude Code가 특정 도구를 사용하기 전이나 후에 여러분이 정한 동작을 자동으로 실행하는 시스템입니다.

비유를 들면 이렇습니다. 회사에서 누군가 서버실 문을 열 때마다 자동으로 기록이 남고, 보안팀에게 알림이 가는 것처럼요. Hooks는 Claude Code의 모든 동작에 이런 감시와 자동 반응을 붙일 수 있게 해줍니다.

Hooks의 핵심 개념

개념 설명 비유
Hook 이벤트 언제 실행할지 "문이 열릴 때"
Matcher 어떤 도구를 감시할지 "서버실 문만"
Hook 동작 무엇을 실행할지 "기록 남기기"

사용할 수 있는 주요 Hook 이벤트는 이렇습니다.

이벤트 발동 시점
PreToolUse 도구 실행 직전 (가장 많이 쓰임)
PostToolUse 도구 실행 직후
SessionStart 세션이 시작될 때
SessionEnd 세션이 끝날 때
Notification 알림이 발생할 때
Stop Claude가 응답을 마칠 때

Hook의 동작 유형은 네 가지가 있지만, 처음에는 두 가지만 알면 충분합니다.

  • command: 셸 명령어를 실행합니다 (로그 기록, 파일 백업 등) — 가장 많이 쓰임
  • http: 웹훅(webhook)을 보냅니다 (Slack 알림, 외부 서비스 연동 등)
  • prompt: AI에게 간단한 질문을 던져서 판단하게 합니다
  • agent: AI 서브에이전트를 실행합니다 (고급 기능)

Hooks 설정 방법

Hooks도 같은 설정 파일(~/.claude/settings.json 또는 .claude/settings.json)에 작성합니다. 현재 설정된 Hooks를 확인하려면 Claude Code 안에서 /hooks를 입력하세요.

/hooks

아래는 "Bash 명령어가 실행되기 직전에 알림 메시지를 출력하는" Hook 설정 예시입니다.

{ "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "echo 'Bash command about to run'" } ] } ] } }

이 설정을 풀어보면 이렇습니다.

  • PreToolUse: 도구가 실행되기 직전에
  • matcher: "Bash": Bash(터미널 명령) 도구가 호출될 때만
  • type: "command": 셸 명령어를 실행해라
  • command: "Bash command about to run"이라는 메시지를 출력해라

Hooks가 유용한 상황 예시:

파일 수정 전에 자동으로 백업 만들기

Bash 명령 실행 기록을 로그 파일에 남기기

세션 시작할 때 프로젝트 상태 자동 체크

작업 완료 후 Slack이나 메신저로 알림 보내기


실전 예시 — 이런 규칙을 추천합니다

처음에 뭘 설정해야 할지 모르겠다면, 아래 조합을 참고하세요. 초보자에게 적합한 안전 설정입니다.

기본 권한 설정 (추천)

{ "permissions": { "allow": [ "Read", "Glob", "Grep" ], "deny": [ "Bash(rm -rf *)", "Bash(sudo *)" ] } }

이 설정이 하는 일

  • 파일 읽기, 검색은 매번 안 물어봐도 됨 (작업 속도 향상)
  • 전체 삭제(rm -rf *)와 관리자 권한(sudo) 명령은 완전 차단
  • 그 외 파일 수정, 다른 명령어는 매번 확인 (기본값 유지)

Hooks와 함께 쓰기 (중급)

권한 설정과 Hooks를 함께 하나의 설정 파일에 넣을 수 있습니다.

{ "permissions": { "allow": [ "Read", "Glob", "Grep" ], "deny": [ "Bash(rm -rf *)", "Bash(sudo *)" ] }, "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "echo 'Bash command about to run'" } ] } ] } }

이렇게 하면 위험한 명령은 차단하고, Bash 명령이 실행될 때마다 알림이 뜨는 이중 안전 구조가 만들어집니다.

설정 전 매번 "허용하시겠습니까?" 팝업 → 피로감
실수로 위험한 명령 "허용" 클릭 가능
어떤 명령이 실행됐는지 기록 없음
설정 후 안전한 작업은 자동 진행 → 속도 향상
위험한 명령은 아예 차단 → 실수 방지
Bash 실행 시 알림 → 투명한 작업 기록
Permission mode에 대해: Claude Code에는 permission mode라는 것도 있습니다. 기본 모드에서는 위험한 작업마다 확인을 받고, auto 모드에서는 허용된 작업을 자동으로 진행합니다. 처음 사용할 때는 기본 모드를 유지하면서 allow/deny 규칙을 하나씩 추가해나가는 걸 권장합니다.

자주 묻는 질문 (FAQ)

Q. 설정을 잘못해서 Claude Code가 아무것도 못하게 되면 어쩌나요?

설정 파일(~/.claude/settings.json)을 텍스트 편집기로 열어서 deny 항목을 수정하면 됩니다. 최악의 경우 해당 파일을 삭제하면 기본값으로 돌아갑니다. Claude Code 자체가 망가지는 건 아니니 걱정 마세요.

Q. 프로젝트마다 다른 권한을 설정할 수 있나요?

네. ~/.claude/settings.json은 모든 프로젝트에 적용되는 전역 설정이고, 프로젝트 폴더 안의 .claude/settings.json은 해당 프로젝트에만 적용됩니다. 프로젝트별로 다른 규칙을 만들 수 있습니다.

Q. Hooks가 실패하면 Claude Code가 멈추나요?

Hook의 command가 에러를 내더라도 Claude Code 자체가 멈추지는 않습니다. 다만 PreToolUse Hook이 에러를 반환하면 해당 도구 실행이 차단될 수 있으므로, Hook을 설정한 뒤에 한 번 테스트해보는 게 좋습니다.

Q. 4편에서 배운 "AI한테 일 시키기 전 알아야 할 것"과 뭐가 다른가요?

4편은 "AI한테 어떻게 말해야 하는지" 사람 쪽의 습관이었고, 이번 편은 "AI가 물리적으로 못하게 막는" 시스템 쪽의 장치입니다. 사람의 주의력 + 시스템의 차단 — 둘 다 있어야 안전합니다.


정리하며

오늘 배운 내용을 한 줄로 요약하면 이렇습니다.

안전장치 역할 비유
기본 권한 확인 위험 작업 전 자동으로 물어봄 초인종
Permissions allow / deny로 규칙 설정 출입증 시스템
Hooks 도구 사용 전후에 자동 동작 실행 감시 카메라

관점 한 스푼: AI 도구를 처음 쓸 때 가장 큰 두려움은 "내가 모르는 사이에 뭔가 잘못되면 어쩌지?"입니다. 저도 처음 Claude Code를 쓸 때 파일 수정 권한을 허용하는 게 솔직히 무서웠습니다. 그런데 오늘 다룬 것처럼 deny로 위험한 건 아예 막아놓고, Hooks로 기록을 남겨두면 두려움이 확실히 줄어듭니다. 안전장치는 불안할 때 설정하는 게 아니라, 안심하고 더 과감하게 AI를 활용하기 위해 설정하는 겁니다. 잠금장치가 튼튼한 집일수록 편히 잠들 수 있는 것처럼요.


시리즈 전체 목차

#멜론 AI 인사이트 #Claude Code #초보자 가이드 #비개발자

다음 편에서는 자주 하는 일을 한마디로 끝내는 법을 다룹니다

17편 보러 가기 →

참고 자료
· Anthropic Claude Code 공식 문서 — docs.anthropic.com

댓글

이 블로그의 인기 게시물

Opus 4.7 제대로 쓰는 법 — Claude Code 팀이 공유한 실전 팁 6가지 2026

Photo by Joshua Woroniecki on Unsplash Opus 4.7로 바꿨는데 "음... 좀 나아진 것 같기도?"로 끝났다면, 모델이 아니라 쓰는 방식이 문제입니다. Claude Code를 만든 팀이 직접 몇 주간 써보고 깨달은 것을 공유했습니다. 솔직히 저도 그랬습니다. Opus 4.7 나왔다길래 바로 써봤는데, 처음엔 "뭐가 달라졌지?" 싶었습니다. 그런데 Boris Cherny(Claude Code 팀)의 팁을 보고 워크플로우를 바꿨더니, 체감이 확 달라졌습니다. 매일 이 블로그를 Claude Code로 운영하면서 하나씩 적용해본 기록입니다. 광고 자리 (AdSense 승인 후 교체) 핵심 요약 — 6가지 팁 한눈에 팁 한줄 요약 적용 방법 Auto mode 권한 프롬프트 자동 판단 Shift+Tab /fewer-permission-prompts 반복 허락 묻기 제거 /fewer-permission-prompts 입력 Recaps 긴 작업 후 요약 자동 제공 자동 (Opus 4.7 기본 탑재) Focus mode 중간 과정 숨기고 결과만 /focus 입력 Effort level 생각 깊이 직접 조절 /effort 입력 검증 수단 제공 AI가 스스로 결과를 확인하게 테스트/브라우저/Computer use 연결 1. Auto mode — 옆에서 지켜보지 마세요 "이 명령어 실행해도 될까요?" — Cla...

클로드 코드 왕초보 가이드 11편 — Git으로 작업 안전하게 저장하기 2026

Photo by carmen dominguez on Unsplash 클로드 코드 왕초보 가이드 — 11편 전체 목차 보기 Claude Code로 파일을 수정하다가 "아, 아까 그 버전이 더 나았는데" 싶은 적 있으신가요? Ctrl+Z를 연타해도 돌아가지 않는 그 순간. Git을 쓰면 무한 Ctrl+Z가 됩니다. 비개발자도 세 마디면 끝납니다. AI한테 파일을 고치라고 시키면, 파일이 순식간에 바뀝니다. 한 번이면 괜찮은데 두세 번 고치다 보면 "처음 버전이 나았다"는 생각이 듭니다. 문제는 그때 이미 처음 버전이 사라져 있다는 겁니다. 광고 자리 (AdSense 승인 후 교체) 왜 저장이 따로 필요한가 일반적인 문서 작업이라면 Ctrl+S 하나로 충분합니다. 하지만 Claude Code와 함께 작업하면 상황이 다릅니다. AI가 한 번에 여러 파일을 동시에 수정합니다 "이것도 고쳐줘"를 3번 반복하면 원본이 어땠는지 기억이 안 납니다 Ctrl+Z는 현재 열려 있는 파일 하나만 되돌립니다 "2시간 전 상태로 통째로 돌아가고 싶다"는 불가능합니다 Git은 이 문제를 해결합니다. 작업 폴더 전체를 특정 시점으로 되돌리는 타임머신입니다. Google Drive vs Git — 뭐가 다른가요 "Google Drive도 버전 기록이 있잖아요?"라고 생각하실 수 있습니다. 맞습니다. 하지만 성격이 다릅니다. 항목 Google Drive Git 저장 방식 자동 저장 (알아서 됨) 직접 저장 (내가 "저장해줘"라고 해야 됨) 저장 단위 ...

ChatGPT 메모리가 이제 보입니다 — 환각 52% 줄인 GPT-5.5 Instant의 진짜 변화 2026

Photo by Andy Luo on Unsplash OpenAI가 ChatGPT를 조용히 바꿨습니다. 새 기본 모델 GPT-5.5 Instant가 나왔고, 환각이 절반 가까이 줄었습니다. 그런데 더 중요한 건 따로 있습니다. 이제 ChatGPT가 답을 어디서 가져왔는지 사용자에게 보여주기 시작했다는 점입니다. [AdSense 상단] 무엇이 바뀌었나 2026년 5월 5일, OpenAI는 ChatGPT의 기본 모델을 GPT-5.5 Instant로 교체했습니다. 가장 눈에 띄는 숫자는 환각률입니다. 의학·법률·금융처럼 잘못된 답이 실제로 손해로 이어지는 분야에서, 새 모델은 이전(GPT-5.3 Instant)보다 환각된 주장을 52.5% 적게 만들어냈다고 OpenAI는 자체 평가에서 밝혔습니다. 수학 추론(AIME 2025)에서는 점수가 65.4에서 81.2로 올랐고, 멀티모달 추론(MMMU-Pro)에서도 69.2에서 76으로 향상됐습니다. 속도는 이전 모델 수준을 그대로 유지했다는 게 OpenAI의 설명입니다. 그런데 진짜 변화는 모델 성능이 아니라 메모리 소스 표시 기능 입니다. ChatGPT는 이제 답변을 만들 때 참고한 과거 대화, 업로드 파일, 연결된 Gmail 정보를 사용자에게 보여줍니다. 사용자는 잘못된 출처를 삭제하거나 수정할 수 있습니다. 다른 사람과 채팅을 공유해도 메모리 소스는 본인만 볼 수 있습니다. 왜 이게 큰 변화일까요 지금까지 ChatGPT를 쓰면서 가장 답답했던 순간을 떠올려보면, 대부분 같은 종류의 답답함이었을 겁니다. "이 답이 도대체 어디서 나온 거지?" AI는 자신감 있게 답하지만, 그 자신감의 근거를 사용자가 검증할 방법이 없었습니다. 환각이라는 단어가 늘 따라다닌 이유입니다. 메모리 소스가 보이기 시작했다는 건, AI 답변에 처음으로 추적 가능한 흔적 이 생겼다는 뜻입니다. 비개발자 입장에서 이건 단순한 UI 추가가 아닙니다. 그동안 ...