API Key 等同于调用权限。只要密钥仍然有效,拿到它的人就可能消耗余额、访问开放模型或制造异常请求。安全配置不能只依赖“仓库是私有的”。
开始前检查
为每个设备、项目和环境创建独立 Key:
local-development
cursor-personal
staging-service
production-service
避免一个 Key 同时用于本地工具、服务器和多个成员。
配置步骤
使用环境变量
export AIFAST_API_KEY="你的_API_Key"
代码只读取变量:
import os
api_key = os.environ["AIFAST_API_KEY"]
排除本地配置文件
.env
.env.*
!.env.example
.env.example 只保留变量名:
AIFAST_API_KEY=
日志脱敏
日志中最多显示末尾少量字符用于区分 Key,例如:
key=***7f3a
不要记录完整请求头,也不要在异常堆栈中输出环境变量。
常见问题
Key 已经提交到 Git,删除文件就够了吗
不够。历史提交仍可能保留密钥。第一步应该立即撤销旧 Key 并创建新 Key,然后再清理历史记录。
可以把 Key 放在网页前端吗
不可以。浏览器中的 JavaScript、网络请求和 Source Map 都可能被用户查看。前端应调用你自己的服务端,由服务端保存并使用 Key。
截图时遮住一部分是否安全
尽量不要让完整 Key 进入截图流程。仅遮挡中间部分仍可能暴露足够信息,尤其是原图、剪贴板或云同步中保留了未处理版本。
下一步
定期检查用量异常,为生产 Key 设置最小权限和可接受的额度,并保留“一键撤销并替换”的操作流程。