Claude Code 2.1.280 按落地路径批写入

Claude Code 2.1.280 修正符号链接写入的判断:提示里写出文件真正落到的位置,acceptEdits、允许规则和 auto mode 不再按树内拼写批准落到目录外的写入。升级后先核对批准框里写出的真实路径。

Claude Code 2.1.280 按落地路径批写入

Claude Code 2.1.280 有一条安全修复:通过符号链接路径的写入,以前按树里的拼写来判断。修复后,提示会写出这次写入真正落到哪里。acceptEdits、允许规则和 auto mode 不再因为路径看起来在项目里,就批准一次实际落到目录外面的写入。claude code 符号链接写入 在升级前的风险,就是批准框和真实落点不是同一个路径。

作者CodePass 技术编辑

发行说明写了什么

原文是:writes through a symlinked path were judged by their in-tree spelling。提示现在改用落地位置。三种会自动放过编辑的机制被点名:acceptEdits、allow rules、auto mode。它们以前可能批准一次看起来在仓库内、实际写到仓库外的操作。2.1.280 起,这三种机制按落地路径决定。

说明没有给出旧版本的利用步骤,也没有写受影响的起始版本号。能做的动作是把 Claude Code 升到 2.1.280 或更新,并在批准写入时读提示里的目标路径,而不是只看你在对话里说的相对路径。仓库里如果有指向家目录、密钥目录或其他项目的链接,升级前不要把 acceptEdits 开成默认。

和同一版的其他权限修复分开

2.1.281 还有几条相邻但不同的修复。权限对话框在批准前不再先去读 macOS 的 /.vol/.nofollow/.resolve 这类可能落到网络盘的路径。权限规则里若含有 NUL 字节,现在匹配不到任何东西,而不是被展开成通配。这两条管的是「批准前读了不该读的路径」和「规则被解析得过宽」。符号链接那一条管的是「写到链接对面」。三件都要升级,但不能用一个版本号代替另一条的说明。

自动模式在 2.1.281 还有一处变化:分类器在服务端跑的时候,只读和沙箱里的 shell 也会等这次审查,被标出就拦住。那是命令审查,不是文件落点。符号链接写入仍看 2.1.280 的那句 Fixed。

升级之后怎么抽查

在测试仓库放一个指向仓库外空目录的链接,让模型改链接下的文件,看批准框里的路径是不是仓库外的真实目录。框里仍只显示仓库内的拼写,说明这台机器还没跑到 2.1.280。不要在含有密钥或生产配置的目录上做这个抽查。

参考资料