修复Windows NT命名空间路径校验、插件市场主机验证、MCP诊断输出脱敏、凭证遮蔽预览及后台子代理权限持久化等问题。
2026 年 8 月 17 日发布的 Claude Code 2.1.234 修复了审批前后发生操作的多个漏洞。该版本在远程读取及其他审批前文件层面拒绝 Windows NT 命名空间路径,检查 SCP 风格插件市场源实际连接的主机,禁止 MCP 诊断输出解析后的密钥,在权限预览中保留可见命令和目标同时遮蔽凭证,以及为后台子代理保留会话级权限答案。
请尽快升级,但不要将版本号作为验收依据。运行五个无负载的探针(canary),使用合成标记,要求每条通道都得到可见的 fail-closed 结果,然后逐条通道恢复自主或后台工作流。切勿用真实凭证或真实远程共享来测试凭证泄漏修复。
本指南适用于在 Windows 上运行 Claude Code、启用托管市场插件、连接 MCP 服务器或向后台子代理委派工作的开发者和平台团队。当 Claude Code 可以读取仓库指令、安装扩展、显示权限预览或继续无人值守运行时,本指南最为有用。
本次发布不是一个单一的沙箱修复。每个变更都保护着不同的边界,因此通过 Windows 路径测试并不能证明市场验证、日志编辑或子代理权限持久性没有问题。请保留 2.1.223 的权限绕过探针和凭证文件遮蔽检查作为独立控制项。
本次发布还修复了压缩后长会话自动模式的网络重新检查。如果你的无人值守会话经常进行压缩,可以将其作为第六条可选的回归通道。
五探针验收工作流
记录每个可以启动 Claude Code 的启动器:终端、Desktop、VS Code、CI、远程控制主机和自托管运行器。只升级一个可丢弃的通道并验证 claude --version 报告 2.1.234 或更高版本。保留之前的安装程序或固定包路径可用。
不要将此次升级与新的市场策略、MCP 端点或更宽泛的权限混在一起。单一变量 rollout 使失败的探针可诊断。
在一个可丢弃的 Windows VM 上,在临时目录下创建一个普通文本文件,包含一个无害值如 INDIESEEK_PATH_SENTINEL_241。让 Claude Code 通过合成的 \??\ NT 命名空间拼写在每个相关层面引用同一本地文件:远程文件读取、会话恢复输入、CLAUDE.md 包含、工作流脚本引用和上传选择器。
只有当每种 NT 命名空间形式都在文件内容出现之前被拒绝,且正常的 Win32 路径仍然作为正向控制正常工作,才算通过。不要在此探针中使用 UNC 路径、远程主机、SMB 共享、账户名或真实密钥。
Anthropic 的市场文档指出 strictKnownMarketplaces 在网络或文件系统操作之前强制执行。精确源匹配是默认值,而 hostPattern 是批准内部 Git 主机等主机类的文档化选项。
构建一个可丢弃的策略,包含一个批准的 .invalid 主机名和一个拒绝的 .invalid 主机名。通过一个离线 Git stub 练习正常的 HTTPS/SSH 拼写和 SCP 风格拼写,该 stub 记录目标而不建立网络连接。要求以下结果:
每个解析到批准主机的拼写都被策略允许。 每个会联系被拒绝主机的拼写都在 Git stub 记录连接尝试之前被拒绝。 记录的 effective host 与策略评估的主机匹配。 允许列表之外的市场无法安装、刷新或自动更新。
目标不是发明一个巧妙的 URL 解析器测试,而是证明策略授权遵循实际连接目标。
创建一个合成环境值如 INDIESEEK_MCP_SENTINEL_241,然后通过故意不可达的 MCP 配置中的 ${INDIESEEK_MCP_SENTINEL_241} 引用它。只捕获本地诊断输出。
当警告显示配置变量形式和服务器来源,但从不显示展开的标记、请求路径、查询、头部或凭证时,MCP 通道通过。在捕获的文件中搜索字面标记并要求零匹配后再删除。
对于权限预览通道,准备一个无害命令,该命令会将标记文件写入临时目录并包含一个伪造的键形状值。在审批屏幕停止。预览必须仍然显示可执行操作、目标路径和目标,同时完全遮蔽伪造的键。检查后取消命令。如果遮蔽隐藏了将要执行的内容,则审批不是知情审批,通道失败。
使用窄权限规则启动一个新会话,并使用一个需要额外审批的无害子任务,例如在可丢弃的工作树之外写入标记。用会话级拒绝回答提示。然后让后台子代理重试一次并返回其结果。
只有当标记不存在、子报告拒绝、父会话保留拒绝且无替代工具执行相同效果时,才算通过。在 Claude 工作时重新打开 /permissions 后重复。这测试状态持久性,而非模型遵守文本的意愿。
如果工作流在长上下文中使用自动模式,请在压缩前后运行相同的无害允许和拒绝网络 fixture。决策必须保持稳定;重复提示或改变的拒绝结果使该通道保持探针状态。
推广决策树
每个启动器都报告 2.1.234 或更高版本?
否 -> 在旧通道上保持自主运行暂停
是 -> 所有 NT 命名空间 fixture 都在访问前失败?
否 -> 隔离 Windows 文件层面
是 -> 市场策略是否遵循 effective Git 主机?
否 -> 禁用市场添加和更新
是 -> MCP 和审批预览是否无秘密但可读?
否 -> 停止日志共享和交互式审批
是 -> 后台拒绝是否持续且无副作用?
否 -> 保持子代理仅前台
是 -> 逐类工作流推广
用真实 API 令牌、私钥、SMB 共享或生产市场测试。
只检查 claude --version 并称安全升级完成。
将遮蔽预览视为安全,即使它同时隐藏了命令或目标。
允许列出显示的 Git 字符串而不记录 effective 连接主机。
使用文本指令作为后台子代理不能执行操作的证明。
在同一 rollout 中启用自动继续、更宽泛的权限和新插件。
可复制验收记录
date / owner / host / launcher / claude_version:
previous_version / rollback_route:
nt_path_surface / synthetic_fixture / rejected_before_access / positive_control:
marketplace_policy / source_form / effective_host / connection_attempt / result:
mcp_config_form / diagnostic_origin / expanded_sentinel_matches:
permission_preview_action_visible / path_visible / destination_visible / marker_hidden:
background_task / deny_scope / retry_result / side_effect_absent:
pre_compaction_result / post_compaction_result:
decision: hold | windows-only | foreground-only | limited-rollout | promote | rollback
2.1.234 是纯安全版本吗?
不是。它还添加了工作流和 UI 功能并修复了可靠性问题。本指南仅涵盖需要明确验收证据的安全相关和权限状态变更。
我应该对每个市场使用 hostPattern 吗?
不要。Anthropic 文档记录了特定源的精确匹配和批准主机类(如内部 Git 服务器)的 hostPattern。使用代表你真实源清单的最窄策略,然后测试每个支持的 URL 形式。
日志编辑能否证明底层 MCP 连接是安全的?
不能。编辑限制了诊断揭示的内容。MCP 认证、端点信任、工具权限和服务器返回的数据仍是独立控制项。
如果升级后一条通道失败怎么办?
尽可能仅禁用受影响的功能:保持后台工作在前台、锁定市场添加、停止共享诊断或隔离 Windows 文件工作流。如果边界无法控制则回滚探针,并保留确切的合成 fixture 和版本证据用于供应商报告。
Anthropic: Claude Code v2.1.234 发布
Anthropic: 插件市场与 strictKnownMarketplaces
Anthropic: Claude Code 权限
Anthropic: 子代理与后台权限行为
Anthropic: MCP 配置与环境变量