Claude Code 2.0의 hooks API로 secret 차단 hook을 만들어 쓰는데 매 PR마다 패턴 누락이 나옵니다. 사내 보안팀이 더 엄격해지면서 false negative를 줄여야 합니다.
현재 hook:
// hooks/check-secret.js
const content = process.env.CLAUDE_TOOL_INPUT
const patterns = [
/AKIA[0-9A-Z]{16}/, // AWS access key
/sk-[a-zA-Z0-9]{20,}/, // OpenAI key
/ghp_[a-zA-Z0-9]{36}/, // GitHub PAT
/xoxb-[a-zA-Z0-9-]+/, // Slack bot token
]
if (patterns.some(p => p.test(content))) {
console.error('Secret detected')
process.exit(2) // Claude에게 차단 메시지
}
문제:
- 새 서비스의 새 토큰 prefix가 자꾸 늘어남 (Anthropic ant-, Vercel team-, etc.)
- private key(SSH·TLS)는 multi-line이라 regex 안 잡힘
- true secret이 base64 인코딩되어 들어오면 못 잡음
- 코드 안의 placeholder("YOUR_API_KEY")도 false positive 발생
실제로 검증된 패턴 셋업 공유 가능하실까요?
댓글 0