最近 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就是你的钱包,你暴露出去了别人就可以用你的钱包了。

先说结论

我现在给自己的规则很简单:

  1. 能用官方包,就不要乱装第三方 Codex 包
  2. API_KEY 放环境变量,不写进文章、不写进 AGENTS.md、不写进项目代码
  3. 不要把主账号、主 Key 到处填
  4. 如果要接 API 网关,单独建 Key,方便以后撤销
  5. 看到来路不明的 Codex UI / Android / remote 工具,先别急着装
  6. 尽量给你的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可以

  1. 设置过期时间,到期自动失效
  2. 使用额度设置,我有10块只给用5块
  3. 指定模型,只能用我指定的模型名称(其实这个最有效,因为各个站点的模型名称有时候不一样)
  4. ip白名单,指定IP才可以使用(但是有时候我们的互联网IP会定期自动刷新)

避免暴露或者超额使用。像我自己常用的站点yunaicode.com
就会有诸多的安全设置,避免了我一个不小心就撒钱出去了.

在这里插入图片描述
在这里插入图片描述

这样好处很明显:

  • 哪个工具在用,比较好查
  • 哪个 Key 出问题,可以单独删
  • 可以单独看用量
  • 不用到处暴露主账号 Key

这句话不是让你必须用哪个站,而是提醒一下:不管你用什么 API 入口,最好都有“单独 Key、能查看用量、能随时撤销”的意识。

看到第三方 Codex 工具,我会先看这几点

如果你真的想装某个第三方 Codex 工具,我建议先看:

  1. npm 包名是不是官方的
  2. GitHub 仓库和 npm 包是不是同一个作者
  3. 最近有没有突然更新可疑版本
  4. 安装后要不要你填登录凭证或 token
  5. 有没有读取本地配置目录
  6. 有没有人反馈异常用量或账号异常

新手不一定能完全看懂代码,但至少要有这个意识:

越是要你填账号、Key、token 的工具,越要谨慎。

如果怀疑 Key 泄露了怎么办

如果你怀疑自己的 API_KEY 泄露了,不要纠结太久。先执行第一步。

直接做几件事:

  1. 去站点后台删除或禁用这个 Key
  2. 新建一个新的 Key
  3. 更新本地环境变量
  4. 检查最近用量
  5. 看看项目里有没有误提交 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 会安心很多。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐