小睿AI导航

ARTICLE DETAIL

大模型API密钥怎么保护?前后端隔离、环境变量与泄露处置指南

大模型API密钥一旦进入浏览器代码、移动端安装包或公开仓库,就可能被提取并用于未经授权的调用。本文以网页聊天应用和Git误提交为例,说明如何区分服务端环境变量与前端构建变量,为后端代理添加鉴权、限流和

📁 大模型与开发 浏览 1 2026-10-13 作者 小睿AI
📝

文章正文

样式 7 内容详情排版

阅读提示当前文章有1307字,阅读完大概需要4分钟。

先明确边界:服务端密钥不能交给客户端

如果密钥代表项目账户的调用权限,就应只保存在受控服务端。不要将它写进浏览器JavaScript、移动端安装包、公开仓库或页面返回数据。代码压缩、混淆和隐藏配置文件都不能让已经交付给用户的密钥变成秘密。

大模型API密钥怎么保护?前后端隔离、环境变量与泄露处置指南

检查时不要只搜索源码,还要查看构建产物、浏览器网络请求和部署配置。浏览器直接向模型供应商发送带密钥的请求,意味着用户能够在开发者工具中看到凭证。

大模型API密钥怎么保护?前后端隔离、环境变量与泄露处置指南

环境变量要分清“服务端读取”和“前端注入”

环境变量是配置方式,不是天然的安全屏障。服务端进程读取密钥且不向客户端返回,才符合隔离要求;前端构建工具若将变量替换进脚本,变量内容就会随页面公开。具体公开规则应以所用框架的文档为准,不能仅凭变量名称判断安全性。

大模型API密钥怎么保护?前后端隔离、环境变量与泄露处置指南
  • 本地密钥放在不纳入版本控制的配置文件中,提交前检查忽略规则是否生效;已被Git跟踪的文件不会因新增忽略规则而自动移除。
  • 生产环境通过部署平台的受控配置或密钥管理服务注入,限制读取权限,不把密钥写入镜像或构建日志。
  • 开发、测试和生产尽量使用不同密钥;供应商支持时,设置最小权限、用量限制和告警。
  • 禁止将服务端环境变量全集返回给前端,也不要在报错时打印配置对象。

网页聊天应用:把直连改为受控后端转发

可采用“浏览器提交消息→业务后端校验请求→后端携带密钥调用模型→返回必要结果”的链路。前端只需要知道业务接口地址,不需要模型服务端密钥。返回响应和错误时,也应避免带出上游认证信息。

大模型API密钥怎么保护?前后端隔离、环境变量与泄露处置指南

但把密钥藏到后端还不够。一个任何人都能调用、没有额度约束的代理接口,仍可能被滥用并产生费用。上线前至少完成以下检查:

大模型API密钥怎么保护?前后端隔离、环境变量与泄露处置指南
  • 身份校验:确认登录状态及调用权限,不把前端传入的用户标识当作可信身份。
  • 限流与配额:按用户等维度限制频率、并发和累计用量,必要时结合IP;处理超限请求,并配置超时和输出上限。
  • 请求范围约束:由后端固定或校验上游地址、模型和可用参数,限制消息长度与请求体大小,禁止客户端任意指定转发目标或认证头。
  • 访问控制:按登录机制处理跨站请求风险。CORS只约束特定浏览器场景,不能代替鉴权,也无法阻止脚本或其他客户端直接调用接口。

日志脱敏:别让排错系统成为泄露入口

检查应用日志、网关日志、错误追踪和监控系统,避免记录完整认证头、、Cookie及包含凭证的地址参数。请求内容也可能包含个人信息或业务秘密,不应默认全量保存。

大模型API密钥怎么保护?前后端隔离、环境变量与泄露处置指南

优先记录请求标识、耗时、状态码和必要的用量信息;确需采样正文时,应先脱敏,并设置访问权限及保留期限。脱敏要覆盖异常堆栈和失败请求,不能只处理正常调用路径。

大模型API密钥怎么保护?前后端隔离、环境变量与泄露处置指南

误提交到Git:先让旧密钥失效,再清理痕迹

发现密钥进入仓库后,不要先花时间删除文件或改写提交。即使仓库当前页面不再显示密钥,历史提交、克隆副本或缓存仍可能保留它。

大模型API密钥怎么保护?前后端隔离、环境变量与泄露处置指南
  1. 立即撤销或轮换:在供应商控制台使泄露密钥失效。若需短暂切换业务,尽快部署新密钥并撤销旧密钥,不让旧密钥长期有效。
  2. 排查调用:检查泄露时间段内的用量、费用及可获得的访问日志,确认是否有异常调用;必要时暂停相关接口。
  3. 检查传播范围:搜索代码历史、构建产物、CI日志和部署配置,确认是否还泄露了其他凭证。
  4. 清理与通知:按仓库协作流程清理历史中的秘密,通知协作者同步处理副本;清理历史不能替代撤销密钥。
  5. 补上预防措施:增加提交前和CI中的秘密扫描,修正配置与日志规则,并验证旧密钥已无法调用、新密钥未进入客户端产物。

最终检查标准是:客户端拿不到服务端密钥,代理只允许授权且受限的请求,日志不保存凭证,泄露后能够快速使旧密钥失效。环境变量、和仓库清理都只是其中一环,需要配合使用。