승인 모드와 안전장치

AI가 파일을 지우거나 명령을 실행하기 전에 어디까지 허락할지 정하는 법

AI 도구가 할 수 있는 위험한 일

터미널형 AI 도구는 파일을 만들고 고치는 것 외에도 명령을 실행합니다. npm install, git commit, 그리고 원하지 않는다면 rm -rf도. 그래서 도구마다 "무엇을 물어보고 할지"를 정하는 승인 모드가 있습니다.

일반적으로 세 단계입니다.

모드동작언제
매번 승인파일 수정과 명령 실행마다 물어봄처음 2주
파일은 자동, 명령은 승인파일 수정은 알아서, 명령 실행만 물어봄Git에 익숙해진 뒤
전부 자동아무것도 안 물어봄일회용 실험, 격리된 환경

추천 설정

  1. 1~10강: 매번 승인. 도구가 무엇을 하는지 배우는 기간입니다. 승인 창에 뜨는 변경 내용을 읽는 습관이 여기서 생깁니다.
  2. 11강 이후: 파일 자동 + 명령 승인. 이미 Git으로 되돌릴 수 있으니 파일 수정은 믿고 맡깁니다. 하지만 npm install이나 git push 같은 명령은 계속 확인합니다.
  3. 전부 자동은 되도록 쓰지 않기: 쓴다면 반드시 커밋을 먼저 하고, 작업이 끝나면 git diff로 전체를 훑어봅니다.

허용 목록으로 귀찮음 줄이기

매번 승인 모드에서도 "이 명령은 항상 허용"을 등록할 수 있습니다. 안전한 읽기 명령부터 등록하세요.

  • 항상 허용해도 되는 것: npm run dev, npm run build, npm run lint, git status, git diff, git log, ls, cat
  • 매번 확인할 것: npm install, git push, git reset, rm, 환경변수 파일을 건드리는 모든 것

도구의 설정 파일(프로젝트 폴더의 .claude/settings.json 같은 곳)에 목록으로 적거나, 승인 창에서 "항상 허용"을 고르면 됩니다.

규칙 파일로 한 번 더 막기

승인 모드와 별개로, 9강의 CLAUDE.md에 하지 말 것을 적어두면 AI가 애초에 시도하지 않습니다.

## 하지 말 것
- .env, .env.local 파일을 읽거나 내용을 출력하지 않는다
- git push, git reset --hard, rm -rf 는 내가 직접 한다
- 데이터베이스의 실제 데이터를 삭제하는 코드를 실행하지 않는다
- 테스트 목적이라도 외부 API를 반복 호출하지 않는다 (비용)

그래도 사고가 났다면

  1. 파일이 망가짐 → git checkout . (마지막 커밋으로) 또는 git stash
  2. 커밋까지 됨 → git log --oneline으로 확인 후 git revert <해시>
  3. push까지 됨 → 당황하지 말고 revert 후 다시 push. 힘든 건 강제 push뿐입니다.
  4. .env가 커밋됨 → 키를 즉시 재발급하세요. 되돌려도 기록에 남습니다.