본문으로 건너뛰기

© 2026 Molayo

r/ClaudeAI분석2026. 06. 22. 08:08

저는 Claude Code를 --dangerously-skip-permissions 옵션으로 실행합니다. 그래서 rm -rf와 DROP

요약

AI 에이전트가 실행하는 파괴적인 셸 명령어를 사전에 차단하는 보안 도구인 'Bouncer'를 소개합니다. 정규 표현식 기반의 훅(hook)을 통해 rm, DROP TABLE 등 위험한 명령어를 감지하고 차단하여 개발 환경을 보호합니다.

핵심 포인트

  • AI 에이전트의 실수로 인한 파일 삭제 및 DB 파괴 방지
  • 38개의 정규 표현식 규칙을 통한 파괴적 명령어 필터링
  • Claude Code, Codex CLI, Copilot CLI 등에서 활용 가능
  • 완벽한 샌드박스는 아니며, 난독화된 페이로드는 주의 필요

사전 공개: 저는 제작자이며, 이 프로젝트는 MIT 라이선스, 무료, 단일 파일, 의존성(deps) 제로입니다.

우리 모두 관련 스레드를 본 적이 있습니다. "권한 거부를 위반하고 수많은 파일을 삭제한" 에이전트. 코드 프리즈(code freeze) 기간 중 프로덕션 데이터베이스를 날려버린 Replit의 에이전트. 백슬래시 하나가 무너졌다는 이유로 Claude가 717GB의 Windows 설치 파일을 삭제하는 것을 지켜본 여기 계신 분. 공통점은 YOLO 모드와 결코 실행되어서는 안 되었을 명령어 하나가 결합되었다는 점입니다.

그래서 저는 Bouncer를 만들었습니다. 이것은 에이전트가 실행하려는 모든 셸(shell) 명령어를 읽고, 실행되기 전에 파괴적인 명령어를 차단하는 PreToolUse 훅(hook, 약 190줄)입니다. 이는 고정된 명령어의 차단 목록(denylist)이 아닙니다. 38개의 정규 표현식(regex) 규칙으로 구성되어 있으며, 각 규칙은 특정 범주를 포착합니다: 홈(home)이나 루트(root) 디렉토리로의 모든 rm, 모든 DROP TABLE, sh로 파이프(pipe)되는 모든 curl, main 브랜치로의 강제 푸시(force-push), 장치로의 dd, 비밀 정보 유출(secret exfil), 포크 폭탄(fork bombs) 등입니다. 규칙이 작동하면 에이전트는 어떤 규칙에 의해 차단되었는지 정확히 확인할 수 있습니다.

솔직한 수치, 그리고 제가 단순히 "안전하다"라고 말하는 대신 이것을 게시하는 이유는 다음과 같습니다: 이 도구는 공개된 라벨링된 목록을 통해 45/45개의 실수 유발 요소(footguns)를 차단하며, 41개의 실제 명령어(git status, npm test, 일반적인 작업)에 대해 오탐(false positives)이 0건입니다. 두 코퍼스(corpora) 모두 리포지토리(repo)에 포함되어 있으며 실제 훅(hook)을 통해 실행됩니다. npm test 명령어 하나로 전체 과정을 재현할 수 있습니다. 제가 제 숙제를 스스로 채점하는 것이 아닙니다.

주의 사항, 항상 그렇듯 하나는 있습니다: 이것은 안전벨트이지 샌드박스(sandbox)가 아닙니다. 실수로 발생하는 약 95%의 실수 유발 요소(footguns)를 잡아냅니다. Base64 또는 eval로 난독화된 페이로드(payload)는 여전히 빠져나갈 수 있으며, 리포지토리에는 테스트로 확인된, 잡아낼 수 없는 클래스들을 정확히 나열한 KNOWN-BYPASSES.md 파일이 포함되어 있습니다. 진정한 격리(isolation)를 원한다면 여전히 컨테이너(container)를 사용해야 합니다.

Claude Code에서 작동하며, 각 도구의 네이티브 훅(native hook)을 통해 Codex CLI, Copilot CLI, Gemini CLI에서도 작동합니다(차단 훅이 없는 에이전트에서는 권고(advisory) 전용으로 작동합니다).

Claude Code 설치 방법: /plugin marketplace add karanb192/bouncer /plugin install bouncer@bouncer

리포지토리(Repo): https://github.com/karanb192/bouncer

이 실수 유발 요소(footgun) 목록이 철저히 해체되기를 진심으로 바랍니다.

만약 이 도구가 잡아내지 못하는 파괴적인 클래스(destructive class)를 발견하신다면, 저에게 알려주세요. 규칙(rule)과 테스트를 추가하겠습니다.
제출자: /u/karanb192
[link] [comments]

AI 자동 생성 콘텐츠

본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0