# API key 安全保管指南：环境变量、防泄露与泄露后的止损流程

> 买来的中转 key 或官方 API key 应该存在哪？为什么不能写进代码、发到群里？key 泄露了会怎样、如何第一时间止损？基于 OpenAI 官方安全实践整理的保管清单。
> 更新于 2026-08-05 · 难度 初级 · 来源 https://aicdks.com/guides/api-key-security

不管是官方 API key 还是 [中转站](/guides/what-is-api-relay) 发的 key，本质都是「谁拿到谁就能花你的额度」的不记名凭证。key 被刷光额度是数字商品售后里最常见也最难追回的一类问题——而它几乎 100% 可以预防。本文核心做法来自 OpenAI 官方《Best Practices for API Key Safety》，对中转 key 同样适用。

## key 泄露的真实后果

- **额度被刷光**：泄露的 key 会被脚本批量扫描利用，几小时内就能把余额耗尽；
- **背锅封号**：别人用你的 key 生成违规内容，风控记在 key 所属账号头上（见 [封号原因](/guides/account-safety-guide)）；
- **官方不赔、中转也难赔**：因自己泄露导致的损失通常不在质保范围。

## 五条保管规则

### 1. 永远不要把 key 写进代码

这是最常见的泄露途径：key 硬编码在脚本里，随手推到 GitHub 公开仓库，几分钟内就会被爬虫扫到。正确做法是用**环境变量**：

```bash
# macOS / Linux：写进 ~/.bashrc 或 ~/.zshrc
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_AUTH_TOKEN="sk-..."
```

```powershell
# Windows PowerShell（持久化）
setx OPENAI_API_KEY "sk-..."
```

代码里只读环境变量，配置文件（`.env`）加进 `.gitignore`，永不提交。

### 2. 不要在客户端环境暴露 key

网页前端、小程序、手机 App 里直接带 key 调用接口，等于把 key 公开给所有用户——抓个包就拿走了。要在产品里用模型能力，key 必须放在你自己的后端服务器上，前端只跟你的后端通信。

### 3. 不共享、不发群

- 官方条款明确禁止共享 API key；一人一 key，团队用就每人开一个（中转站额度同理，多人用就分开买）；
- 不要把 key 发进微信群/QQ 群求助截图——截图里的 key 和明文一样有效。求助时把 key 打码到只剩前后几位。

### 4. 用多少充多少，分开用途

- 中转额度按需购买，不要囤大额余额在一个 key 上；
- 长期项目和临时测试用不同的 key，测试完就作废，出问题不影响主 key。

### 5. 监控用量

养成看用量面板的习惯（官方和主流中转站都有）：发现用量曲线异常飙升，基本就是泄露了，立即进入止损流程。

## 泄露后的止损流程

1. **立刻轮换**：官方 key 到控制台删除并重新生成；中转 key 联系平台重置或作废；
2. **排查泄露源**：搜一遍代码仓库提交历史（`git log -p | grep sk-`）、聊天记录、公开的配置文件，找到源头才能避免新 key 再泄露；
3. **清理历史**：key 一旦进过公开仓库，即使删掉文件也留在 git 历史里，必须作废该 key（而不是只删文件）；
4. **有损失联系售后**：中转商品在质保期内的异常争议，带订单号和用量截图沟通（流程见 [卡密售后](/guides/cdk-activation-guide)）。

## 配置到工具里的正确姿势

Claude Code、Codex、Cursor 等工具都支持从环境变量或专用配置读取 key，具体见 [Claude Code 配置](/guides/install-claude-code-china)、[Codex 配置](/guides/install-codex-cli-china)；管理多个供应商 key 的推荐用 [CC Switch 等开源工具](/guides/api-switching-tools-compared)，它们把 key 存在本地配置中，同样注意不要把这些配置文件同步到公开仓库。

来源：OpenAI Help Center《Best Practices for API Key Safety》、OpenAI Production Best Practices。
