一个泄露的.env文件,最后变成了一张9 万美元的 API 账单。这不是段子,是有人真金白银踩过的坑。
![]()
事情的起点很朴素:项目里躺着一个 .env 文件,里面是 API 密钥。AI 编码代理默认可以读取项目中的任何文件,它读了,密钥就跟着流出去了。账单是后话,代价是实打实的。
正方会说,这是使用者自己的疏忽,密钥不该放在代理够得着的地方。反方会说,代理的默认权限本来就该收窄,工具不该假设项目里每个文件都可以随便翻。两边都有道理,但账单不会因为谁有理就打折。
给出的解法有三条,都是设置层面的动作,不需要改代码逻辑。
- 在 Claude 的settings.json里加拒绝规则,禁止读取.env
- 通过命令行标志,为每次运行设置预算上限。
- 在 Claude Console 中为每个 API 密钥设定硬性开支限制。
三条叠在一起,作用是把潜在损失摁在一个可接受的范围内。第一条堵住泄露的入口,后两条堵住账单失控的出口——一条管"能不能读",两条管"能花多少"。
我的判断是,这三条里最容易被跳过的是第三条。拒绝规则写在项目配置里,跟着代码走,容易记得;预算上限写在启动命令里,跑一次设一次,也还算顺手。但控制台里的密钥级硬性限额,属于设一次就忘、出事才想起的东西。偏偏它是最后一道闸。
对每天和编码代理打交道的打工人来说,这件事的提醒不在于"AI 很危险",而在于代理的默认权限比多数人以为的宽。它不会问你哪个文件能读,它只会读。9 万美元买来的教训,别人已经付过账了。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.