这周的补丁都在追同一件事:拒绝要能穿过子代理、重试、换壳命令和恢复的会话。Claude Code 让 Edit(path) 的 deny 覆盖 Bash 重定向,并把判定记进 safety_event;Codex 让升级重试重新过 Guardian、把插件 hook 的批准绑到插件内容;Goose 限制子代理并发并续跑失败子代理。规则再严,只要有一条旁路不继承,deny 就只是建议。
拒绝的传播链:本周补的都是旁路——子代理、重试、换壳命令与恢复会话,并开始记录「是谁拦下的」
热度盘面 Top 5
-
2.1.309(10/22):Edit(path) 的 deny 开始拦住「同时含子 shell」的命令里对该路径的 Bash 重定向;split-pane 子代理继承 leader 的 tool deny 与 --tools 限制;macOS denyWrite glob 在符号链接真实路径生效;Linux 后台命令活过会话后不再解除写拒绝;--mcp-config 不再被沙箱命令或自动接受编辑改写。2.1.307(10/21)新增 claude_code.safety_event,记录每次工具调用被权限规则、auto mode、安全检查、hook 或沙箱拦下或转回;2.1.310(10/23)修 Windows 缺 Git Bash 时 PreToolUse/PermissionRequest 对纯引号命令失败即放行。
编辑注 这一串修的是同一类洞:deny 只覆盖主路径,子 shell、符号链接、后台进程、引号命令各开一扇旁门。行动:把「deny 是否作用于重定向」写进权限测试,并接 safety_event 看真实拦停来自哪一层。
-
0.164.0(10/23)把审批做成有状态队列:升级后的工具重试必须重新取得 Guardian 批准,排队的 prompt 等权限选择落定才继续,并区分 MCP 审批取消原因;插件 hook 的批准绑定到插件内容,另新增 agent 间消息与仅观察的模型请求生命周期 hook。上下文侧在 compaction 失败时保留历史,限制 memory extraction 的输入范围,并让内容来源贯穿 prompt 组装与压缩。
编辑注 审批不是弹窗,是可继承、可失效的状态;「重试」是复用旧批准的最短路径,Codex 现在要求重新授权。行动:把插件内容纳入 hook 批准依据,恢复会话时核对旧审批是否仍对应旧内容。
-
Cloudflare 开源的 security-audit skill(MIT,46.9k★)把审计拆成六阶段:侦察时记 coverage ledger、按覆盖单元派隔离 hunter、每个候选交给新的 verifier 专门证伪、以 schema 校验 confirmed/needs_validation/rejected、再由独立 agent 复核来源声明。README 写明运行前提是 OS 级沙箱:禁网、净化环境变量、限资源与写路径;没有沙箱就不执行目标代码,线索只留 needs_validation。
编辑注 它卖的不是提示词,是「发现者与证伪者分离」的流程;单次运行约见重复运行总覆盖的一半,别把单跑结论当完备。行动:先确认你的 harness 能起隔离子代理并禁网,再谈自动化审计。
-
v1.55(10/16)起子代理绑定父级的 hooks、模式与审批,审批未落定时不做推断或 steering;v1.56(10/23)继续给子代理补治理面:失败或取消的 delegate 子代理可续跑、并发受 GOOSE_MAX_CONCURRENT_SUBAGENTS 限制、轮次上限回落到全局值,前台子代理跑进 GDK。另给 MCP 工具生成 provider-safe 名,skills 发现移入 GDK,压缩倒计时不再展示给模型。
编辑注 多代理失控很少来自模型,来自子代理不受父级审批约束、又没有并发与轮次上限。行动:并行前先设上限,确认子代理确实继承父级 deny;续跑失败子代理前,先判断旧审批是否仍适用。
-
0.65.0(10/20)在隔离面补了三处:不可信目录里的 workspace settings 强制只读;串行批次中某个工具调用被拒只影响该调用,不污染同批其它调用;快速 Ctrl-C 中断不再造成会话投毒,恢复会话时也不再重复工具响应轮次。另修 OAuth 无限验证与重试循环,并在重选登录后清掉缓存凭据。
编辑注 「拒绝只作用于当前调用」是批次编排的硬约束;把拒绝做成批次级状态,等于给下一条命令放行。行动:审调度器,确认 rejection 是 per-call 而不是 per-batch;恢复会话要重放校验。