众力资讯网

开发AI Agent,如何安全存储API KEY? 写 Agent 绕不开一件

开发AI Agent,如何安全存储API KEY?

写 Agent 绕不开一件事:API KEY 到底存在哪。

最朴素的做法是环境变量加 .env 文件,设一个环境变量例,如 OPENAI_API_KEY,程序启动时读到内存里,代码里干干净净不出现明文。.env 写入 .gitignore,不跟着代码进仓库。对个人项目和内部工具来说,这一层已经能解决八成的问题。

但环境变量和 .env 终究是明,谁拿到文件谁就能看到。再往上走一步,把密钥交给操作系统存储,macOS 有 Keychain,Linux 有 Secret Service,Windows 有凭据管理器。程序启动时从这些地方拉取,不会以明文形式出现在任何文件里。

光存好还不够,还得防泄露。Agent 跑起来会输出大量文本,日志、报错、调试信息甚至模型返回的内容,一不小心 KEY 就可能被带出去。理想的做法是在输出环节做一道自动扫描,凡是遇到 KEY 格式的字符串、名字里带 secret、token、api_key 这些敏感字段的、认证请求头之类的,一股脑脱敏替换掉,别让它们原样出现在任何地方。

还有一个很容易被忽略的细节:输入 KEY 的过程。终端里敲密码用掩码回显,别让旁边的人瞟到屏幕就拿到了。配 Agent 的时候,这个习惯一样重要。

可以总结为三点:环境变量做隔离,系统密钥托管提一个安全等级,输出脱敏堵住泄露的口子。