Codex 0.134.0更新,聊聊一人公司如何防范 AI Agent 删库跑路

看到这两天 Codex 0.134.0 的更新日志,我的第一反应是:Codex 团队里终于有真正做过重度工程、踩过大坑的人了。
这次更新最值得聊的,不是 “它又提高了多少百分比的代码生成率”,而是它开始回过头来,补一些听起来很基础、甚至有点枯燥的 “基础设施”:
权限控制:谁能动哪些文件?哪些命令绝对不能跑?
上下文追溯:以前聊过什么,改过什么,能不能一键找回来?
MCP 安全协议:接入外部工具和 API 的时候,哪些凭证能给,哪些必须关起来?
这些东西听起来一点都不酷,肯定没有 “一个 Prompt 做出一个 App” 那么好传播。
但如果你真的每天开着 AI 编程工具改项目、跑命令、做自动化,你就会知道:这些看似枯燥的工程管理建设,才是 AI 编程工具从 “尝鲜玩具” 变成 “真生产力工具” 的转折点。
01. 当 AI 真的能动你的项目,你能不能管住它?
现在的 AI 编程工具,已经过了只看 Demo 演示的阶段。大家最爱问的不再是 “谁写得快”,而是 “谁能直接帮我把项目改好”。
但当 Codex、Claude Code、Cursor 这类工具真的拥有了读写本地文件、执行终端命令的权限时,一个更现实的隐患浮出水面:它太会干活了,以至于一旦理解错边界,动作快得让你来不及阻止。
刚开始用 AI 编程,大家主要是 “爽感” 驱动:改个页面、修个 Bug,行云流水。但用久了,在真实的项目场景下,你会遇到一类更隐蔽、也更致命的问题:
历史代码被误重构:你让它优化内容系统,它可能热心地顺手把你三年前写的、没写单元测试的历史老代码给重构了,直接导致线上崩溃。
未知依赖乱引入:你让它整理依赖,它可能顺手执行了 npm install 引入了未经验证的第三方包。
敏感密钥外泄:更严重的是,它在读取上下文时,不小心读取并暴露了 .env 或 config/secure.json 里的敏感密钥。
这些问题对大团队来说有 QA 和 CI/CD 兜底,但对一人公司(One-person Business)或独立开发者来说,很多时候就是你一个人开着工具直接干,根本没有精力去死盯着每一行自动化操作。
这时候,工具强不强是其次,它能不能被你放进一套清晰的 “规矩” 里,才是决定你敢不敢长期用它的关键。
02. 给 Agent 画边界:利用 Profile 实现权限最小化
这也是我看这次 0.134.0 更新时,觉得最实用的地方 ——--profile 变成了主要的权限选择方式。
它的底层逻辑很简单:以后用 Agent,不能只靠 “我这次执行命令时小心点”,而是要提前把安全线画死。
有些任务只能看不能改;
有些任务能改业务代码,但绝对不能碰配置文件。
我自己在外挂内容系统和第二大脑时,对这个痛点感受极深。现在我倾向于在本地为 Codex 预设明确的策略。比如,我们可以通过类似的 Profile 配置文件,直接在底层锁死 Agent 的手脚:
json
// .codex/profiles/content-runner.json
{
"profile_name": "content-system-safe-runner",
"description": "用于日常内容系统维护的低权限模式",
"file_access": {
"allow_read": ["src/components/**/*", "src/utils/", "docs/"],
"allow_write": ["src/skills/**/*", "src/views/"],
"deny": [
".env",
"config/secure.json",
"**/*.pem",
"pnpm-lock.yaml"
]
},
"execution_policy": {
"allowed_commands": ["pnpm run test", "git status", "git diff"],
"requires_approval": ["pnpm install", "pnpm run build"],
"blocked_commands": ["rm -rf", "npm publish", "git push origin main"]
}
}
把规则写进底层,比你在 Prompt 里苦口婆心地叮嘱十遍 “千万不要动某文件” 有用得多。
用 AI Agent 的第一课,不是学怎么写 Prompt 调教它,而是学会怎么在工程架构上给它画边界。
哪些事可以直接干,哪些事必须停下来弹窗问你,哪些文件永远不许碰,越早定好,后面越省心。
03. 本地历史搜索与 MCP:别让工作流变成一堆碎片
这次更新里还有两个细节,直接关乎日常重度使用的体验:
1. 本地对话历史搜索
很多人觉得这个功能很普通。但你想一下,AI 一旦深度参与真实项目,它就不是一次性的临时聊天,而是会变成一条条真实的工作日志。
“上次为什么要把这个接口改成异步?”
“哪个任务里顺手修了那个边缘 Bug?”
“哪次讨论里提过某个历史遗留的坑不能动?”
对独立操作的人来说,你靠的就是规则、记录和复盘。如果这些上下文找不回来,你的 AI 工作流就会慢慢变成一堆碎片。过两周回头看,你完全想不起来当时为什么这么决定。Codex 补上本地历史搜索,直接决定了你敢不敢把更长、更复杂的任务交托给它。
2. MCP 接入规范与 OAuth
这两年 MCP(Model Context Protocol)概念大火,大家都在聊 “给 AI 接上各种工具,实现完全自动化”。这句话没错,但工具接得越多,越不能乱接。
一个 Agent 一旦能调用外部工具,它就不只是读你发给慢文字了。它可能会去查你的本地数据库、调用你的三方 API、甚至访问你的云端资源:
plaintext
[Codex Agent] ──(MCP 协议)──> [外部工具 / API / 数据库]
│
(如果缺乏权限管控与 OAuth)
▼
【自动犯错的影响呈指数级放大】
在 0.134.0 里提到的 MCP 连接规则和 OAuth 认证,防的就是这一点。
以前你手动复制错一个文件,可能只错一个地方;现在 Agent 如果权限太大,又理解错了你的某句模糊指令,它可以在几秒钟之内帮你 “自动犯错”,瞬间毁掉一整片。
04. 独立创作者的终局:拼的不是 Prompt,而是工程管理
折腾到最后,我现在看各类 AI 编程工具,关心的不再是那些宏大的概念,而是几个很 “土” 但很致命的问题:
它有没有物理边界?(能不能锁死核心目录)
它干了什么,我能不能随时翻账本?(审计与历史搜索)
它接工具的时候,大门开得会不会太大?(MCP 安全)
它改完代码后,我 Review 起来累不累?
它一旦搞砸了,我能不能无伤退回来?(版本控制与回滚机制)
如果你只是让 AI 写个前端小 Demo,当然怎么玩都行。但如果你想让它真正参与到你的核心内容系统、客户项目、网站自动化或者第二大脑里,就不能只图一时好玩的 “爽感”。
一人公司,也需要一点规矩。
不需要大公司那种厚厚的审批流程,可能就是一张小纸条,或者是项目根目录下的一个配置文件,明确好:
默认用哪个 profile
哪些敏感文件禁止读写
哪些命令必须等二次确认
MCP 只开哪些最小化工具
未来真正拉开差距的,不再是谁会用更花哨的 Prompt 词,而是谁能把 AI 真正当成一个有风险的 “新员工”,并用一套成熟的工程管理系统把它管住。
工具一直会更新,模型也一直会卷。但如果你的工程管理规矩是清楚的,AI 的每一次更新才会真正变成你的加速器,而不是把你带偏的未知隐患。
