
AI 프롬프트 시크릿 스캐너: AI API에 도달하기 전에 비밀을 차단하는 로컬 프록시 및 Claude Code 후크
AI 생성 코드를 위한 시크릿 위생. 프롬프트, 도구 입력, 생성된 코드 및 기존 파일에서 하드코딩된 자격 증명을 잡아냅니다.
pip install aigate && aigate setup-all
끝입니다. 이렇게 하면 백그라운드 프록시(redact 모드), 파일 스캔을 위한 PostToolUse 훅, 그리고 Claude Code에 MCP 서버가 등록됩니다. 환경 변수를 적용하려면 터미널을 다시 시작하세요.
Python 3.11+ 및 jq가 필요합니다.
하나의 탐지 엔진으로 세 계층:
| 계층 | 범위 | 방법 |
|---|---|---|
| Proxy | 네트워크 수준 | AI API로 향하는 HTTPS 요청을 가로챕니다. 시크릿이 머신을 떠나기 전에 교체합니다. |
| Hooks | Claude Code | PostToolUse는 Write/Edit 후 파일을 스캔합니다. PreToolUse는 도구 입력을 교체합니다. |
| MCP Server | 모든 에이전트 | 에이전트가 코드 스캔, 시크릿 저장, 파일 감사를 위해 호출하는 세 가지 도구. |
setup-all은 세 가지를 모두 설치합니다. 또는 필요한 것만 선택:
aigate install-hook # 훅만 (프록시 없음)
claude mcp add aigate aigate-mcp # MCP 서버만
aigate setup && aigate start # 프록시만
aigate scan-dir . # 디렉터리에서 시크릿 찾기
aigate scan-dir . --fix --dry-run # 변경 사항 미리보기
aigate scan-dir . --fix # 환경 변수 참조로 교체하고 .env에 저장
AWS 키, API 토큰(OpenAI, Anthropic, GitHub, GitLab, Slack, SendGrid, Square), 데이터베이스 URL, 개인 키, GCP 서비스 계정, Tailscale 키, env 파일 시크릿, 높은 엔트로피의 비밀번호/토큰 필드.
탐지된 시크릿은 일반적인 환경 변수 이름으로 매핑됩니다:
aigate start -m block # 요청 거부 (기본값)
aigate start -m redact # 시크릿을 환경 변수 자리 표시자로 교체
aigate start -m warn # 전달 + 경고 로깅
aigate start -m audit # 전달 + 무음 로깅
aigate stop-proxy && aigate uninstall-hook && claude mcp remove aigate
pip uninstall aigate && rm -rf ~/.aigate ~/.mitmproxy
셸 프로파일에서 # aigate: proxy env vars 및 # aigate: trust mitmproxy CA 뒤의 줄을 제거하세요.
CA 인증서 제거 — macOS: sudo security delete-certificate -c mitmproxy /Library/Keychains/System.keychain | Debian: sudo rm /usr/local/share/ca-certificates/mitmproxy-aigate.crt && sudo update-ca-certificates --fresh | RHEL: sudo rm /etc/pki/ca-trust/source/anchors/mitmproxy-aigate.pem && sudo update-ca-trust
| Token | Env var |
|---|
sk-ant-* | ANTHROPIC_API_KEY |
sk-*, sk-proj-* | OPENAI_API_KEY |
ghp_*, github_pat_* | GITHUB_TOKEN |
glpat-* | GITLAB_TOKEN |
xoxb-* | SLACK_BOT_TOKEN |
SG.* | SENDGRID_API_KEY |
AKIA* | AWS_ACCESS_KEY_ID |