API Key 泄露是最常见的安全事故之一。一旦泄露,攻击者可能利用你的密钥产生高额账单、窃取数据或进行恶意操作。
| 场景 | 说明 | 风险 |
|---|---|---|
| Git 提交 | 将密钥硬编码在代码中并推送到 GitHub | 极高 |
| 截图/录屏 | 分享屏幕时不小心暴露终端或配置文件 | 高 |
| 日志文件 | 请求日志中记录了 Authorization 头 | 高 |
| 前端代码 | 在 JavaScript 中直接使用后端 API Key | 极高 |
| 配置文件 | .env 文件误提交到代码仓库 | 极高 |
| 错误消息 | 异常堆栈中打印了包含密钥的请求信息 | 中 |
| 类型 | 格式特征 | 泄露危害 |
|---|---|---|
| OpenAI API Key | sk- 开头,含字母数字 | 账单欺诈,数据访问 |
| Anthropic API Key | sk-ant- 开头 | 账单欺诈,数据访问 |
| Google API Key | AIza 开头,43 位 | 配额滥用,服务访问 |
| AWS Access Key | AKIA 开头,20 位大写字母数字 | 云资源控制,数据泄露 |
| GitHub Token | ghp_ 或 github_pat_ 开头 | 代码仓库访问,写入 |
| Stripe API Key | sk_live_ 开头 | 财务操作,支付数据 |
| 通用敏感字段 | key/token/secret/password = "..." | 视具体服务而定 |
.env 文件存储密钥,并将其加入 .gitignoredirenv、dotenv-vault 等工具管理本地开发环境的密钥。