안전 가드 — 파괴적 작업 방지은(는) 무엇을 하나요?
사용 시점
- 프로덕션 시스템에서 작업할 때
- 에이전트가 자율적으로 실행될 때(완전 자동 모드)
- 특정 디렉토리로 편집을 제한하려는 경우
- 민감한 작업(마이그레이션, 배포, 데이터 변경) 중일 때
작동 방식
세 가지 보호 모드:
모드 1: 주의 모드
실행 전에 파괴적 명령어를 가로채 경고합니다:
감시 패턴:
- rm -rf (특히 /, ~, 또는 프로젝트 루트)
- git push --force
- git reset --hard
- git checkout . (모든 변경 사항 폐기)
- DROP TABLE / DROP DATABASE
- docker system prune
- kubectl delete
- chmod 777
- sudo rm
- npm publish (실수로 인한 게시)
- --no-verify가 포함된 모든 명령어
감지 시: 명령어가 무엇을 하는지 표시하고, 확인을 요청하며, 더 안전한 대안을 제안합니다.
모드 2: 고정 모드
파일 편집을 특정 디렉토리 트리로 잠급니다:
/safety-guard freeze src/components/
src/components/ 외부의 쓰기/편집은 설명과 함께 차단됩니다. 에이전트가 관련 없는 코드를 건드리지 않고 한 영역에 집중하도록 할 때 유용합니다.
모드 3: 보호 모드 (주의 모드 + 고정 모드 결합)
두 보호 기능이 모두 활성화됩니다. 자율 에이전트를 위한 최대 안전.
/safety-guard guard --dir src/api/ --allow-read-all
에이전트는 모든 내용을 읽을 수 있지만 src/api/에만 쓸 수 있습니다. 파괴적 명령어는 모든 곳에서 차단됩니다.
잠금 해제
/safety-guard off
구현
PreToolUse 훅을 사용하여 Bash, Write, Edit, MultiEdit 도구 호출을 가로챕니다. 실행을 허용하기 전에 명령어/경로를 활성 규칙과 대조합니다.
통합
codex -a never세션에서 기본 활성화- ECC 2.0의 관찰 가능성 리스크 점수와 연동
- 모든 차단 동작을
~/.claude/safety-guard.log에 기록