OpenAI Codex CLI가 rm -rf, git push --force, git reset --hard, curl | sh 같이
되돌릴 수 없는 명령을 실행하기 직전에 막는 가장 작은 훅입니다. Python 표준 라이브러리만 씁니다.
"GPT용은 없나요?" — ChatGPT 웹/코드 인터프리터는 클라우드 샌드박스라 내 로컬 파일을 직접 지우지 않습니다(차단기 불필요). "GPT로 내 컴퓨터에서 코딩"의 실체는 Codex(ChatGPT 데스크톱의 로컬 모드 = Codex CLI)예요. 그래서 이 Codex판이 곧 "GPT용"입니다.
⚠️ 왜 필요한가: AI 에이전트가 "하지 마"를 무시하고 파일/DB를 지운 사례가 실제로 있었습니다(Replit, Cursor, Gemini CLI 등). 프롬프트로 부탁하는 건 안전장치가 아닙니다.
precheck-mini.py를 원하는 곳에 둡니다. 예:~/.codex/precheck-mini.py~/.codex/config.toml에config.example.toml의 내용을 합칩니다.command는 본인 절대경로로:[features] codex_hooks = true [[hooks.PreToolUse]] matcher = "^Bash$" [[hooks.PreToolUse.hooks]] type = "command" command = "python3 /Users/you/.codex/precheck-mini.py"
- Codex CLI를 다시 시작합니다. 훅 신뢰 확인을 물으면 승인(
/hooks)합니다.
테스트: Codex에게 rm -rf ./없는폴더_test를 시켜보세요. "차단됨" 메시지가 뜨면 정상입니다.
- 이 미니는 정규식 기반 기본 차단입니다. 따옴표/인코딩/변수조립 우회(
r''m -rf,$'\x72\x6d',x=rm; $x -rf)는 못 막습니다 — 문자열 검사의 원리적 한계입니다. - Codex 공식 문서도 훅이 "완전한 강제 경계가 아니다"(모델이 스크립트 파일로 우회 가능)라고 명시합니다. 그래서 Codex 내장 샌드박스(
sandbox_mode = "workspace-write")·승인정책과 반드시 함께 쓰세요. - Codex 훅(PreToolUse)은 아직 실험 단계라 버전에 따라 동작이 바뀔 수 있습니다.
| 이 무료 미니 | 풀 키트 | |
|---|---|---|
| 위험명령 차단 | 정규식 (우회됨) | 정규화 후 검사(따옴표·인코딩·경로 우회까지) |
| 작업폴더 밖 보호 | ❌ (내장 샌드박스에 의존) | OS 샌드박스 묶음 설정 |
| 검증 | ❌ | 적대적 우회 144건 차단·오탐 0, 재현 스크립트 동봉 |
| 멀티 에이전트 | 이 레포는 Codex | Claude Code + Codex 통합 설치 |
👉 풀 키트: (크몽 링크) · (Gumroad 링크 — 영문) (준비중)
MIT (LICENSE 참고). 동작 환경: OpenAI Codex CLI (PreToolUse 훅 지원 버전). macOS/Linux/WSL.