Claude Code 网络权限收紧:依赖安装结束即关闭访问
Claude Code 2.1.271 为沙箱自动模式加入按命令限定的网络权限。本文拆解 allowed_domains 与持久白名单的区别,并用 npm ci 展示如何只在依赖安装期间开放软件源、让后续测试重新回到无网络状态,同时说明托管策略、域名过滤与非沙箱回退仍会如何影响真实边界。

一次依赖安装,不必再把整个 Claude Code 任务的网络边界一并放宽。2026 年 9 月 14 日,Claude Code 2.1.271 为沙箱自动模式加入了按命令限定的网络访问。Claude Code 网络权限由此可以只为安装命令临时放行:该命令结束后,获准连接的软件源主机随即重新关闭。
Claude Code 网络权限究竟改了什么
这里涉及 Claude Code 两层不同的安全机制;只有拆开来看,才能理解这次更新。
自动模式决定某次工具调用能否执行。 独立的分类器会根据你的请求审查该操作。此前的 Claude Code 自动模式指南 详细介绍了这套通用权限模型。
沙箱决定正在运行的 shell 命令可以接触什么。 它限制文件写入,并通过代理转发网络流量,由代理核验目标主机。
2.1.271 版让这两层机制结合得更紧密。在沙箱自动模式下,Bash、PowerShell 或 Monitor 调用现在可以携带 allowed_domains 列表。Claude Code 会同时审查命令及其需要访问的主机;这些主机仅对当前命令开放,其他主机仍会被沙箱拒绝。更新日志明确说明了这一作用范围。
这个蛇形命名字段与 sandbox.network.allowedDomains 并不是一回事;后者位于 settings.json 中。
在这个版本之前,批准一个新的沙箱主机可能顺带产生范围更大的授权。手动批准会持续到当前会话结束,保存后的批准还可能延续至后续会话。自动模式也可能缓存对某个主机和端口的判定。新字段改变的是运行时可达范围:即使分类器复用了判定结果,网络开口也只属于当前命令。
它只影响更新日志点名的组合:自动模式、沙箱,以及 Bash、PowerShell 或 Monitor。手动会话、非沙箱命令、内置文件工具,以及完全不访问网络的任务,都不会因此获得这项边界控制。
这笔账算的是授权范围,不是套餐降价
Claude Code 的席位价格没有因此改变。Anthropic 也没有为按命令限定域名单独公布费用、SKU 或性能数据。
真正值得计算的是需要为之负责的授权范围:
standing grant = approved host × every later command that can reuse it
command-scoped grant = approved host × the reviewed command
以需要访问 registry.npmjs.org 的依赖安装为例。过去,运维层面常面临两难:要么让无人值守任务停下来等待网络授权,要么预先放行软件源,并接受之后每一条沙箱命令都能访问它。如今,自动模式可以把该主机和安装命令一并审批,并在构建、测试、打包和审查继续之前将其关闭。
订阅账单虽然没变,但两项成本会随之变化。平台团队需要设计和清理的常驻例外更少;安全审查人员也可以评估“命令—主机”这一具体组合,不必默认该主机在任务剩余阶段始终可用。
审查流程仍有计算成本。对于 Anthropic 权限模式文档 提到的 Enterprise 和按用量计费的提供商账户,分类器检查会计入 token 用量,并增加一次往返。此次发布没有给出耗时基准,本文也没有做计时测试,因此不能凭空宣称能节省多少秒。

哪些人明天就能用上
独立创业者:让长时间构建任务继续跑
独立创业者可以让 Claude Code 为 SaaS 代码仓库恢复锁定的依赖,然后继续执行测试和代码审查,而无需把公共软件源持续开放给后面的步骤。这样既能让任务不中断,也不会因为一次必要下载,就为整个会话留下常驻的出站通道。
技术服务公司负责人:在客户代码库之间切换
技术服务公司可以把客户的软件包主机仅绑定到需要它的安装步骤,不必再保存一条项目级例外。这样既减少了权限清理,也降低了下一阶段命令把客户代码发往某个主机的可能性——毕竟该主机原本只为依赖工作开放。
平台或安全负责人:治理无人值守 Agent
平台团队可以继续执行组织级拒绝规则和托管域名限制,同时允许日常命令在该策略内申请更窄的访问范围。审查记录也更容易解释:这条命令为了这个操作需要访问这个主机;它并不能证明该主机对 Agent 后续执行的所有操作都安全。
构建工程师:把安装阶段与测试阶段分开
构建工程师可以把软件包恢复设为联网阶段,把测试套件设为离线阶段。如果受入侵的测试或意外脚本在安装结束后尝试连接软件源,它不会继承上一条命令打开的通路,除非已有其他常驻规则允许访问该主机。
如何为依赖安装限定网络边界
最容易看清这项变化的场景,是一个提交了 package-lock.json、且依赖都通过一个已知软件源解析的代码仓库。npm 文档将 npm ci 定义为适用于自动化环境的全新安装:它要求存在锁文件;锁文件与清单不一致时会失败;会移除已有的 node_modules;并且不会修改清单和锁文件。--ignore-scripts 选项则会在安装期间禁用软件包生命周期脚本。npm 文档列出了这些行为。
确认 Claude Code 版本
按照更新日志运行版本检查:
Bashclaude --version请使用 2.1.271,或包含该功能的更高版本。
在失败即关闭的沙箱中启动自动模式
针对一次会话,将自动模式与必须成功启动、且无法在边界外重试受阻命令的沙箱组合使用:
Bashclaude --permission-mode auto --settings '{"sandbox":{"enabled":true,"failIfUnavailable":true,"allowUnsandboxedCommands":false}}'这里使用的是文档所述的
--permission-mode、--settings、failIfUnavailable和allowUnsandboxedCommands控制项。macOS 内置沙箱;Linux 和 WSL2 需要bubblewrap与socat;原生 Windows 不受内置沙箱支持。沙箱指南介绍了设置方法与平台限制。为安装步骤写清最小任务范围
把下面这段话作为任务发送;如果锁文件使用私有软件源,请替换其中的主机:
严格按照
package-lock.json中锁定的依赖执行npm ci --ignore-scripts。这条命令只能访问registry.npmjs.org。不要把该主机保存到项目或用户设置中。安装完成后,以单独的命令运行测试套件,且不得访问网络。如果安装还需要任何其他主机,请立即停止。你无需亲自填写
allowed_domains字段。Claude Code 会构造 shell 工具调用,再由自动模式连同所请求的主机一起审查。确认下一步从关闭状态开始
打开
/sandbox,查看解析后的 Config 标签页,并确认registry.npmjs.org尚未出现在常驻allowedDomains或已保存的WebFetch规则中。然后再运行单独的测试命令。如果后续命令尝试联网,它应当需要自己经过审查的域名集合,否则就会被现有策略拒绝。
最容易出错的细节其实是锁文件。软件包锁可能指向私有软件源、Git 主机或直接的 tarball URL。只写出 registry.npmjs.org,并不会让这些依赖自动出现在该主机上。应检查实际解析出的主机,保持列表精确;一旦锁文件请求意外主机,就让命令停止。
按命令开放网络仍解决不了什么
按命令限定的网络访问缩短了主机可达的时间,却不能证明主机可信、检查每一条加密请求,或确保下载的代码安全。
Anthropic 的内置代理按主机名过滤,默认不会检查 TLS 内容。在获准执行的命令内,进程可以访问该主机上的任何允许路径。命令生成的子进程共享同一沙箱边界,所以 npm ci --ignore-scripts 是一个合适的教学示例:它会从安装步骤中排除软件包生命周期脚本,但不会审计下载的软件包。
托管策略仍位于这项功能之上。strictAllowlist 可以拒绝配置列表之外的任何内容,allowManagedDomainsOnly 可以把允许访问的主机限定为托管设置中的条目。显式拒绝规则也会继续拦截;按命令域名无法穿透这些控制。
非沙箱重试是另一个必须正视的边界条件。Claude Code 通常为沙箱无法运行的命令保留了一条逃生通道。把 allowUnsandboxedCommands 设为 false 很重要,因为它能阻止失败的安装在不知不觉间把问题从“这条命令可以访问哪个主机?”变成“这条命令能否在沙箱外运行?”
本周一该怎么行动
如果你正在自动模式下使用 Claude Code 执行依赖更新、夜间维护或无人值守构建任务,并且目前把软件包源放在宽泛的沙箱允许列表中,那么本周就值得行动。借助这项功能,可以着手验证这些常驻条目能否移除。
如果组织通过托管网络策略,有意为每条命令预先批准软件源;或者外层容器或 CI 运行器已经实施了更严格的进程级出站限制,可以先观望。新字段或许仍能提供纵深防御,但它不会取代现有边界。
如果没有同时使用自动模式和沙箱,或者工作根本不会通过 Bash、PowerShell 或 Monitor 访问网络,这项变化与你无关。
周一要做的事情很小:确认 Claude Code 为 2.1.271 或更高版本,选择一次锁定依赖的安装任务,在失败即关闭的沙箱中以自动模式启动,只指定预期的软件源主机,然后证明紧随其后的测试命令无法复用该网络通路。只有这项检查在自己的环境中通过后,才移除常驻的软件源例外。
如果你希望下一项平台更新也能直接转化为可执行的工作流,欢迎订阅邮件通讯。
- 最近更新
- 2026年9月15日







