Claude Code macOS 沙箱挡不住 .env 怎么办

2.1.236:macOS 上 **/.env 一类通配读拒绝优先于允许区,覆盖目录内容,且不能靠改名绕过。

Claude Code macOS 沙箱挡不住 .env 怎么办

claude code macos sandbox 挡 dotenv:若你在 macOS 沙箱里用 **/.env 这类通配禁止读密钥,旧行为可能在「已允许的读区域」里仍被钻空子,或靠改名躲开匹配。2.1.236 写明:通配读拒绝优先于允许区,覆盖匹配目录下内容,且不能靠重命名被拒文件来绕过。

作者CodePass 技术编辑

怎么自检

升级后在开着沙箱的会话里,对仓库内 .env、以及改名后的副本各试一次只读探测(用你平时的工具调用路径)。预期:两者都应被拒。若仍可读,先确认版本 ≥ 2.1.236,再查规则是否真写在 macOS sandbox 配置里、而不是只写在口头 CLAUDE.md。

Linux / 其它沙箱实现不在这条 changelog 句范围内。第三方「agent 沙箱」产品(如 Chopi)是另一套边界,见 Chopi 沙箱怎么用,别和 Claude Code 内置 sandbox 混诊。

防御姿势

密钥仍应留在密钥管理或 CI secret,不进仓库。沙箱规则是最后一道本地闸。团队模板统一写 **/.env**/.env.*,并在 onboarding 里要求升级到含本修复的版本。LSP 抖动导致缓存整段失效的另一类账单问题,见 LSP 断连冲 cache