帖子说了什么
@VibeUnstuck 在讨论 Claude 应用默认开启 auto mode 时提醒:检查器判断的是命令本身,不是它指向哪套数据。npm run db:migrate 无论 DATABASE_URL 连的是本机还是生产,看起来都一样。把生产凭证留在 Claude 工作的文件夹外面,auto mode 会安全得多。
为什么和 auto mode 特别相关
对照 Anthropic 关于 auto mode 默认化 的说明:自动检查能降低误点「允许」的风险,但不能消除风险;对生产基础设施的高风险改动,官方仍建议人工审核。分类器再准,也很难从一条普通的 migrate / deploy 脚本名判断「这次连的是不是生产」。
落地做法
- 工作目录只放开发副本:Claude Code 打开的项目里,只用本地或临时环境的连接串;生产密钥放在 CI 密钥库、独立配置目录或只读挂载,且不在当前 workspace。
- 环境变量分层:开发用
.env.local(并 deny 读取),生产注入只发生在受控部署流水线,而不是开发机上的同一目录。 - 高风险操作切回手动:迁移数据库、改生产配置、对外发消息前,用
Shift+Tab或界面下拉切回手动批准。 - 脚本也要显式:自动化里写清目标环境名;避免「一个脚本、靠目录里碰巧存在的
.env决定连哪」。
小结
auto mode 减少的是「手滑点允许」,减少不了「命令看起来无害、环境却是生产」。凭证隔离是分类器之外的最后一道物理间隔。
