Safety Guard — 파괴적 작업 방지
사용 시기
- 운영 시스템에서 작업할 때
- 에이전트가 자율적으로 실행될 때 (완전 자동 모드)
- 특정 디렉토리로 편집을 제한하려는 경우
- 민감한 작업(마이그레이션, 배포, 데이터 변경) 중
작동 방식
세 가지 보호 모드:
모드 1: 주의 모드 (Careful Mode)
실행 전에 파괴적인 명령을 가로채서 경고합니다:
감시 패턴:
- 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: 동결 모드 (Freeze Mode)
특정 디렉토리 트리로 파일 편집을 잠급니다:
/safety-guard freeze src/components/
src/components/ 외부에서의 모든 쓰기/편집은 설명과 함께 차단됩니다. 에이전트가 관련 없는 코드를 건드리지 않고 한 영역에 집중해야 할 때 유용합니다.
모드 3: 보호 모드 (Guard Mode) (주의 + 동결 결합)
두 보호 기능이 모두 활성화됩니다. 자율 에이전트를 위한 최대 안전성.
/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에 기록