JIINSI
기술동향

보안 3중 방어 -- careful, freeze, guard의 코드 레벨 동작 원리

gstack의 보안은 Claude Code의 PreToolUse Hook으로 구현됩니다. /careful(check-careful.sh, 4270바이트): Bash 도구 호출 시 JSON stdin에서 command를 추출하고, rm -rf, DROP TABLE, TRUNCATE, git push --force, git reset --hard, kubectl delete, docker system prune 등 8가지 파괴적 패턴을 매칭합니다. node_modules, .next, dist 등 안전한 타겟은 예외 처리합니다. 매칭 시 permissionDecision:'ask'를 반환하여 사용자에게 확인을 요청합니다. /freeze(check-freeze.sh, 2689바이트): Edit/Write 도구 호출 시 file_path를 절대 경로로 변환하고, ~/.gstack/freeze-dir.txt에 저장된 경계 디렉토리와 비교합니다. 경계 밖이면 permissionDecision:'deny'로 하드 차단합니다. 단, Bash의 sed 같은 명령은 차단하지 못하는 한계가 있습니다(UX 안전장치이지 보안 경계는 아님). /guard는 careful+freeze를 결합하여 활성화합니다. 모든 패턴 매칭 결과는 ~/.gstack/analytics/skill-usage.jsonl에 기록됩니다(명령 텍스트가 아닌 패턴 이름만).
인사이트

gstack의 보안은 '프롬프트가 아닌 시스템 강제' 원칙을 따릅니다. Claude에게 '삭제하지 마'라고 부탁하는 것이 아니라, Hook이 실행 전에 물리적으로 차단합니다. 다만 Bash 우회 가능성이 있어 완전한 보안 경계는 아닙니다.

공유XTelegram