AI生成代码的密钥卫生工具。检测提示、工具输入、生成代码及现有文件中硬编码的凭证。
pip install aigate && aigate setup-all
完成。这将安装一个后台代理(脱敏模式)、一个用于文件扫描的 PostToolUse 钩子,并向 Claude Code 注册 MCP 服务器。重启终端以使环境变量生效。
需要 Python 3.11+ 和 jq。
三层防护,同一检测引擎:
| 层级 | 范围 | 方式 |
|---|---|---|
| 代理 | 网络层面 | 拦截发往 AI API 的 HTTPS 请求。在凭证离开机器前将其脱敏。 |
| 钩子 | Claude Code | PostToolUse 在 Write/Edit 后扫描文件。PreToolUse 脱敏工具输入。 |
| MCP 服务器 | 任意代理 | 三个工具供代理调用,用于扫描代码、存储凭证和审计文件。 |
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 密钥、环境文件中的凭证,以及高熵的密码/令牌字段。
检测到的凭证会映射到常规的环境变量名称:
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
从 shell 配置文件中删除 # 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
| 令牌 | 环境变量 |
|---|
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 |