명령 실행 직전에 검사합니다.
Codex의 PreToolUse Bash 훅을 통해 터미널 명령을 확인합니다.
DELETE-DENIED
Codex의 터미널 삭제 명령을 검사하는 안전장치입니다. 보호 대상인 상위 폴더를 통째로 지우려는 요청을 차단하도록 만들었습니다.
Codex의 PreToolUse Bash 훅을 통해 터미널 명령을 확인합니다.
삭제 대상의 실제 경로를 확인하고, 중요한 상위 폴더에 대한 삭제 요청에 거부 응답을 반환합니다.
호출 사이에는 검사 프로세스가 남아 있지 않습니다. Codex Bash 훅에 들어오는 명령만 검사하며, OS 전체의 삭제를 막지는 않습니다.
검사가 어디서 어떻게 일어나는지, 무엇을 보호하고 무엇은 보호하지 못하는지 정확히 적었습니다.
AI 코딩 에이전트에 터미널 권한을 주면, 정리하려던 임시 폴더 대신 실제 홈 폴더 같은 상위 경로를 통째로 지우는 사고가 생길 수 있습니다. 실제로 그런 사례가 공개적으로 보고됐고, 저장소의 조사 근거 문서에 확인된 사실과 확인되지 않은 부분을 나눠 정리해 두었습니다.
Codex의 공식 기능인 훅(hook)을 씁니다. 훅은 Codex가 도구를 쓰기 직전이나 직후에 정해진 검사를 끼워 넣는 기능이고, DELETE-DENIED는 실행 직전 단계인 PreToolUse에 연결됩니다.
Bash 도구로 터미널 명령을 준비합니다.호출 사이에는 아무 프로세스도 남지 않습니다. 폴더를 계속 훑거나 파일 변경을 감시하는 방식이 아니어서, 기다리는 동안 CPU와 메모리를 쓰지 않습니다. 검사 엔진은 Rust로 작성했습니다.
보호 범위는 Codex의 PreToolUse Bash 훅으로 전달되는 터미널 삭제 호출입니다. 중요한 로컬 상위 경로와 현재 작업 폴더의 조상 경로를 지키고, 그 아래의 구체적인 프로젝트 하위 경로는 허용합니다.
OS 전체의 삭제 차단기가 아닙니다. Codex의 다른 파일 변경 방식, 화면이나 파일 관리 앱을 직접 조작하는 작업, 브라우저 다운로드, 원격·클라우드·데이터베이스 작업, 다른 프로그램과 다른 AI 도구는 범위 밖입니다. Codex 문서도 PreToolUse를 완전한 차단 경계가 아닌 안전장치로 설명합니다. Claude Code는 현재 지원하지 않습니다.
설치기는 최신 릴리스를 내려받아 SHA-256을 확인하고, Codex app-server를 통해 정확히 DELETE-DENIED 훅 하나만 신뢰 목록에 올립니다. 마지막에는 자체 doctor로 등록과 활성화 상태를 확인합니다. app-server를 쓸 수 없으면 아무것도 쓰지 않고 실패합니다. macOS와 Windows 모두 현재 사용자의 ~/.codex 아래에만 씁니다.
# macOS (터미널)
curl -fsSL https://raw.githubusercontent.com/Seokwoooo/DELETE-DENIED/main/bootstrap/install.sh | sh
# Windows (PowerShell)
irm https://raw.githubusercontent.com/Seokwoooo/DELETE-DENIED/main/bootstrap/install.ps1 | iex아닙니다. 보호하는 것은 중요한 상위 폴더와 현재 작업 폴더의 조상 경로이고, 그 아래의 구체적인 하위 경로 삭제는 허용합니다.
저장소의 중지·재개 안내를 따르세요. 중지 상태는 다시 켤 때까지 유지되며, 현재 작업의 권한을 자동으로 넓히지 않습니다.
최신 릴리스로 업데이트합니다.
아래 문장을 Codex 메인 세션에 보내세요. macOS와 Windows 설치를 지원합니다.
DELETE-DENIED를 설치해. README의 현재 OS용 한 줄 명령을 바로 실행해: https://github.com/Seokwoooo/DELETE-DENIEDGitHub에서 자세한 사용 방법 보기 ↗