帖子说了什么
@Chahatusharma 和 @claude_news 都提到 Claude Code v2.1.309:沙箱里的 Bash 命令不再在沙箱外执行 shell 启动文件,Edit 的 deny 规则也能挡住指向同一路径的 Bash 重定向。如果你平时开着沙箱,这一版值得尽快升级。
更新日志怎么写
对照官方 CHANGELOG 的 2.1.309 部分,和安全最相关的几条:
- shell 启动文件:修复 macOS 和 Linux 上,沙箱内的 Bash 命令每次执行前会在沙箱外运行 shell 启动文件的问题。
- deny 规则与重定向:修复
Edit(path)的 deny 规则在某些带子 shell 的命令里,挡不住指向该路径的 Bash 重定向。 - MCP 配置文件:修复沙箱内命令和自动接受的编辑,可以改动
--mcp-config传入的 MCP 配置文件。 - macOS 符号链接:修复沙箱
denyWrite通配规则在经过符号链接访问的目录上不生效。 - 权限检查:修复 Bash 权限检查会信任「重定向可能打开失败」的命令所设置的变量;某些把
cd包起来或加了前缀、再跑 git 的复合命令,现在会和普通cd一样提示。 - Linux:修复后台命令在会话结束后继续运行时,沙箱的写入限制被解除。
升级后的自查
- 确认版本:运行
claude --version,桌面端也要看它内置的 Claude Code 版本。 - 清理 shell 启动文件:
~/.zshrc、~/.bashrc这类文件以前可能在沙箱外被执行过。别在里面export明文 API key 或令牌,改用系统钥匙串或按需注入。 - 重测你的 deny 规则:对关键路径(如
.env、凭据文件)试一下echo test > 路径这类写法,确认会被拦。 - 检查 MCP 配置:如果用
--mcp-config启动,看看配置文件近期有没有被改过、多出不认识的服务器。
小结
沙箱和 deny 规则是防密钥泄露的最后几道门,修复只在升级后生效。开着沙箱的人,先升级,再把关键规则重测一遍。
