Codex 相关 npm 包出事了:新手用 Codex,API_KEY 最好这样做
最近 Codex 相关 npm 包出事了:新手用 Codex,API_KEY 最好这样做
我最近看到一个 Codex 相关的安全新闻:有第三方 npm 包打着 Codex 工具的名义发布,后面被曝会偷 OpenAI / Codex 相关凭证。简单说,就是有些看起来像“Codex UI”“Codex 安卓端”“远程控制 Codex”的工具,并不一定安全。
因为很多人刚开始用 Codex,会去搜:
Codex GUI
Codex UI
Codex Android
Codex remote
Codex 中文版
然后看到一个 npm 包、一个 GitHub 项目、一个别人推荐的工具,就直接装了。
这篇就聊一个很实际的问题:新手用 Codex,怎么尽量别把自己的账号和 API_KEY 暴露出去。API_KEY就是你的钱包,你暴露出去了别人就可以用你的钱包了。
先说结论
我现在给自己的规则很简单:
- 能用官方包,就不要乱装第三方 Codex 包
- API_KEY 放环境变量,不写进文章、不写进 AGENTS.md、不写进项目代码
- 不要把主账号、主 Key 到处填
- 如果要接 API 网关,单独建 Key,方便以后撤销
- 看到来路不明的 Codex UI / Android / remote 工具,先别急着装
- 尽量给你的API_KEY设置一些使用条件
这几条不高级,但对新手很有用。
为什么这事值得单独写
因为 Codex 和普通网页工具不太一样。
它通常会接触这些东西:
- 你的项目文件
- 你的终端命令
- 你的 API_KEY
- 你的登录状态
- 你的本地配置文件
所以如果你装了一个不靠谱的第三方工具,它能看到的东西可能比普通网页插件更多。
尤其是 API_KEY 和登录凭证,这两个东西一旦泄露,麻烦就比较大。
安装 Codex 尽量用官方包
如果你只是想在终端里用 Codex,新手别绕太多。
一般就用官方 npm 包:
npm install -g @openai/codex
// 装完检查:
codex --version
我不太建议一开始就去装各种“第三方 UI”“移动端封装”“远程控制工具”。
不是说所有第三方工具都有问题,而是新手很难判断它到底做了什么。
如果一个工具需要你填:
OpenAI 登录信息
API Key
refresh token
本地 Codex 配置路径
那就要多特别注意了…
API_KEY 不要写进 AGENTS.md
很多新手看到 AGENTS.md,会以为它是“Codex 的配置文件”。
其实不是。
AGENTS.md 更像是写给 Codex 看的工作说明,比如:
# AGENTS.md
## 回复习惯
- 默认使用简体中文回复。
- 修改文件前先给计划。
- 不要修改 .env 和密钥文件。
这里千万不要写:
我的 API Key 是 sk-xxxx
// 也不要写:
请使用这个 Key:sk-xxxx
因为 AGENTS.md 很可能会放在项目目录里,一不小心就被提交到 Git,或者截图发到文章里。
Key 就应该放到环境变量里。
Windows 怎么放 API_KEY
Windows 打开 PowerShell:
setx API_KEY "你的 API Key"
设置完以后,关闭 PowerShell,重新打开。
检查一下:
echo $env:API_KEY
如果能看到 Key,说明生效了。不要给别人看哦…
Mac 怎么放 API_KEY
Mac 打开终端。
如果你用的是 zsh,一般可以这样写:
echo 'export API_KEY="你的 API Key"' >> ~/.zshrc
source ~/.zshrc
检查:
echo $API_KEY
能看到 Key 就行。不要给别人看哦…你看我的截图就暴露了我的API_KEY,我第一时间就去删掉,避免被偷家。

config.toml 里只写环境变量名
Codex 的配置里,建议这样写:
model = "这里填你能用的模型名"
model_provider = "custom"
[model_providers.custom]
name = "Custom API"
base_url = "https://cdn.yunaicode.com/v1"
env_key = "API_KEY"
wire_api = "responses"

注意这一行:
env_key = "API_KEY"
这里写的是环境变量名,不是真正的 Key。
不要写成:
env_key = "sk-xxxx"
这点很多新手会搞混。
最重要的是 API 网关,最好单独建 Key
如果你是国内用户,可能会用 API 网关来接 Codex。
这时候我建议单独建一个 Key 给 Codex 用,不要把所有工具都共用一个 Key。
并且对于你的API_KEY可以
- 设置过期时间,到期自动失效
- 使用额度设置,我有10块只给用5块
- 指定模型,只能用我指定的模型名称(其实这个最有效,因为各个站点的模型名称有时候不一样)
- ip白名单,指定IP才可以使用(但是有时候我们的互联网IP会定期自动刷新)
避免暴露或者超额使用。像我自己常用的站点yunaicode.com
就会有诸多的安全设置,避免了我一个不小心就撒钱出去了.


这样好处很明显:
- 哪个工具在用,比较好查
- 哪个 Key 出问题,可以单独删
- 可以单独看用量
- 不用到处暴露主账号 Key
这句话不是让你必须用哪个站,而是提醒一下:不管你用什么 API 入口,最好都有“单独 Key、能查看用量、能随时撤销”的意识。
看到第三方 Codex 工具,我会先看这几点
如果你真的想装某个第三方 Codex 工具,我建议先看:
- npm 包名是不是官方的
- GitHub 仓库和 npm 包是不是同一个作者
- 最近有没有突然更新可疑版本
- 安装后要不要你填登录凭证或 token
- 有没有读取本地配置目录
- 有没有人反馈异常用量或账号异常
新手不一定能完全看懂代码,但至少要有这个意识:
越是要你填账号、Key、token 的工具,越要谨慎。
如果怀疑 Key 泄露了怎么办
如果你怀疑自己的 API_KEY 泄露了,不要纠结太久。先执行第一步。
直接做几件事:
- 去站点后台删除或禁用这个 Key
- 新建一个新的 Key
- 更新本地环境变量
- 检查最近用量
- 看看项目里有没有误提交 Key
Windows 重新设置:
setx API_KEY "新的 API Key"
Mac 重新设置:
echo 'export API_KEY="新的 API Key"' >> ~/.zshrc
source ~/.zshrc
如果你之前把 Key 写进了代码仓库,那不只是“删掉文件”这么简单。最好直接废掉旧 Key,换新的。
最后说一下
Codex 很好用,但它毕竟会接触本地项目和接口凭证。
新手阶段不要看到一个“更方便的第三方工具”就马上装。
先用官方方式跑通,再慢慢加工具。
API_KEY 放环境变量,AGENTS.md 只写工作规则,config.toml 只写环境变量名。
这几个习惯养成后,后面用 Codex 会安心很多。
更多推荐




所有评论(0)