hook 지원과 격리 범위를 플랫폼마다 확인한다
원문의 JSON은 PreToolUse, PostToolUse, SessionStart hook을 연결하는 구조 예시일 뿐, 모든 IDE에서 그대로 동작하는 설치 파일이 아닙니다. hook 이름과 허용 형식이 달라질 수 있고, 일부 플랫폼은 호출을 가로채지 못할 수 있습니다.
subprocess에서 환경변수 60개 이상을 차단한다는 설명도 실제 허용 목록을 확인해야 합니다. 파일, 네트워크, 자식 프로세스 권한이 남아 있다면 “sandbox”라는 이름만으로 안전하지 않습니다. 로컬 DB에는 코드와 로그가 저장되므로 권한, 암호화, 삭제 주기도 필요합니다.
hook coverage는 정상 호출뿐 아니라 streaming, cancellation, timeout과 도구가 예외를 던진 경우까지 봅니다. PreToolUse만 실행되고 PostToolUse가 빠지면 process나 임시 파일이 남을 수 있고, 일부 결과가 원래 context와 DB에 동시에 들어가 절감률이 달라질 수 있습니다. tool call ID로 시작, 종료, 저장을 묶고 orphan cleanup을 운영합니다.
SQLite에는 source code, customer log와 secret이 섞일 수 있습니다. workspace, 사용자별 DB를 분리하고 directory permission, backup 제외, retention과 secure deletion 요구를 정합니다. 검색 결과에 다른 repository, session이 섞이지 않도록 tenant key를 query에서 강제합니다. environment variable 차단과 별개로 tool output 자체의 secret redaction도 필요합니다.