API 密钥安全指南:防止密钥泄露的 7 个习惯

2026 年,AI API 密钥泄露依然是盗刷重灾区。GitHub 公开仓库里躺着成千上万把还能用的 Key,自动化扫描机器人 24 小时在扒;一把泄露的 Key 平均能在被吊销前造成数千美元的损失。更糟的是,很多泄露根本不是黑客「攻破」了什么,而是开发者自己的习惯问题。这篇文章给出防止密钥泄露的 7 个习惯——全部来自真实事故复盘,照着做,你基本不可能成为下一个受害者。

习惯 1:密钥永远不进前端与客户端

浏览器里跑的 JavaScript、移动 App、桌面客户端,里面的任何字符串用户都能扒出来。规则只有一条:密钥只存在于你的服务端。前端调用时走后端代理接口,由后端持有密钥转发请求。这既是安全要求,也是接入 AI 聊天时的标准架构——把密钥藏进后端,用户只看到你的业务接口。

习惯 2:环境变量与密钥管理服务

密钥不进代码库,进环境变量或专门的密钥管理服务(Vault、云厂商 KMS)。具体操作:

习惯 3:最小权限与密钥分组

一把 Key 走天下是最危险的做法。按项目、按环境(开发/测试/生产)、按用途(聊天/批处理/报表)拆成多把 Key:

习惯 4:定期轮换

密钥不是设置一次就完事的。至少每 90 天轮换一次;员工离职、外包项目结束、疑似泄露,立即轮换。轮换流程要提前设计好:新 Key 先上线,观察稳定后吊销旧 Key,避免「轮换即事故」。

轮换频率最好和企业安全策略对齐:有合规要求(SOC 2、等保)的团队,把轮换周期写进制度并保留审计记录;没有强制要求的,至少每季度一次。轮换时要同步检查下游:哪些服务在引用这把 Key,别换完才发现某条流水线静默失败。

习惯 5:限流与用量告警

防不住泄露,就限住损失:

  1. 每个 Key 设置日/月用量上限与速率限制,被盗刷时损失封顶。
  2. 设置用量告警:日消耗超过阈值立刻通知。DrAI 控制台的用量统计按小时更新,异常账单几分钟内就能发现——别等到月底对账才发现被刷了几千美元。
  3. 监控调用来源与模型分布,异常模式(凌晨批量调用、罕见模型)触发人工核查。

在 DrAI 控制台,每个 Key 都有独立的额度与速率设置,还能一键暂停——发现异常的第一反应应该是「先停掉」而不是「先排查」。平台侧的限流与应用侧限流是两道独立的保险,都要有。

习惯 6:git 历史与扫描工具

即使现在代码里没有密钥,git 历史里可能还躺着旧密钥。两个动作:

扫描规则要跟上 Key 格式的演化:除了 sk- 开头的 OpenAI 风格密钥,还要覆盖 Anthropic、Gemini 以及各类聚合平台的 Key 前缀,把你能想到的模式都写进正则。

习惯 7:事件响应预案

假设泄露已经发生,你的操作手册应该长这样:

  1. 立即吊销泄露 Key,阻断损失。
  2. 审计该 Key 的用量:调用了什么模型、消耗了多少 token、有没有异常出口。
  3. 评估数据影响:请求里有没有 PII?日志里有没有泄露更多敏感信息?
  4. 排查泄露途径:仓库历史、日志文件、客户端代码、第三方服务。
  5. 复盘改进:补上对应的习惯 1~6 缺口。

预案写下来、演练一次,真出事时你才不会手忙脚乱。

泄露事故的三个典型剧本

三个剧本的共同点:都不是「黑客多厉害」,而是「习惯多松懈」。对照前面的 7 个习惯,每个剧本都有对应的止损按钮。

自查清单

把下面 7 项全部打勾,你的密钥安全就到位了:

密钥安全是LLM API 安全整体方案的一部分,建议和提示注入防线一起落地。最后提醒:无论用哪家平台,在 DrAI 注册后在控制台创建密钥时,请按项目命名、按环境拆分——这是你 10 秒钟就能完成的第一道保险。

🚀 现在就体验这些模型

注册 DrAI,一个 API Key 即可调用 GPT-5 系列、Claude 4、DeepSeek R1、Gemini 2.5 Pro 等 40+ 模型,Pro 套餐仅 $9.99/月。

免费注册 →   查看定价

📚 Related Reading

LLM API 安全指南:防范提示注入的 7 道防线LLM API 安全实战指南:提示注入的原理与案例、7 道防线(输入隔离、权限最小化、输出校验、Key 治理、限流告警、内容审核、审计日志)与代码示例。 AI API 入门指南:5 分钟学会调用大模型零基础调用大模型 API 的完整入门教程:API Key 是什么、base_url 怎么配、Python 与 curl 示例、常见报错排查,5 分钟上手。 RAG 实战指南:用 pgvector 搭建企业知识库从零搭建企业级 RAG 知识库:文档解析、分块策略、Embedding 选型、pgvector 建表检索、混合搜索、重排与评估,附完整 SQL 与 Python 代码。
🌐 中文