深度

Claude Code 沙箱隔离深度指南:OS 级文件系统与网络隔离、Auto-allow 模式与逃生舱机制

Claude Code 沙箱隔离深度指南:传统权限模型三大问题(审批疲劳/效率损失/自主性受限)、文件系统隔离(写入限当前目录/读取全系统/OS 级子进程继承)、网络隔离(代理服务器域名控制/allowManagedDomainsOnly)、三平台实现(macOS Seatbelt/Linux bubblewrap/WSL2 支持/WSL1 不支持)、安装启用(/sandbox 命令)、两种沙箱模式(Auto-allow 自动批准 vs Regular 标准流程)、settings.json 完整配置(allowWrite/denyWrite/denyRead/路径前缀/多层合并行为)、工具兼容性(kubectl/watchman/docker 处理方式)、逃生舱机制(dangerouslyDisableSandbox/allowUnsandboxedCommands 禁用)、三项安全收益和沙箱局限性。

2026/3/95分钟 阅读ClaudeEagle

沙箱(Sandboxing)是 Claude Code 的原生安全功能,通过 OS 级原语实现文件系统和网络双重隔离,让 Agent 在定义好的边界内自主运行,同时大幅减少权限提示疲劳。

为什么需要沙箱?

传统基于权限的安全依赖用户持续审批 Bash 命令,导致:

  • 审批疲劳:反复点击「批准」导致注意力下降,反而不安全
  • 效率损失:频繁中断开发流程
  • 自主性受限:Claude 必须等待审批,无法高效工作

沙箱通过预先定义边界解决这些问题:边界内的安全命令无需审批,超出边界则立即触发通知。

有效的沙箱需要同时启用文件系统和网络隔离。只有网络隔离而无文件系统隔离时,受攻击的 Agent 可能通过文件系统后门获取网络访问;反之则可能通过网络泄露敏感文件(如 SSH Key)。

沙箱工作原理

文件系统隔离

默认行为说明
写入权限当前工作目录及其子目录
读取权限整个系统(部分被拒目录除外)
外部写入需要显式授权才能修改工作目录外的文件

这些限制在 OS 级别强制执行,所有子进程命令(包括 kubectlterraformnpm 等)都继承同样的边界,不仅限于 Claude 的文件工具。

网络隔离

通过运行在沙箱外的代理服务器控制网络访问:

  • 域名限制:只有批准的域名可被访问
  • 用户确认:新域名请求触发权限弹窗(启用 allowManagedDomainsOnly 后直接拒绝未允许域名)
  • 全面覆盖:限制适用于所有脚本、程序和子进程

OS 级实现

平台沙箱技术
macOSSeatbelt(内置,开箱即用)
Linux / WSL2bubblewrap
WSL1❌ 不支持(bubblewrap 需要 WSL2 内核特性)

安装与启用

macOS:无需安装,开箱即用。

Linux / WSL2:先安装依赖:

bash
# Ubuntu / Debian
sudo apt-get install bubblewrap socat

# Fedora
sudo dnf install bubblewrap socat

启用沙箱

/sandbox

打开菜单选择沙箱模式。若缺少依赖,菜单显示平台安装指引。

两种沙箱模式

模式说明
Auto-allow mode沙箱内的 Bash 命令自动允许,无需权限提示。无法沙箱化的命令(如需访问非允许主机)回退到常规权限流程;已配置的 ask/deny 规则始终有效
Regular permissions mode所有 Bash 命令经过标准权限流程,即便在沙箱内也需审批,提供更多控制

注意:Auto-allow mode 独立于权限模式设置。即使不在「accept edits」模式,沙箱内的 Bash 命令也会自动执行——包括修改文件的命令。

配置沙箱

通过 settings.jsonsandbox 键配置:

json
{
  "sandbox": {
    "enabled": true,
    "filesystem": {
      "allowWrite": ["~/.kube", "//tmp/build"],
      "denyWrite": ["/secrets/**"],
      "denyRead": ["~/.ssh/**"]
    }
  }
}

路径前缀含义

前缀含义示例
//从文件系统根的绝对路径//tmp/build/tmp/build
~/相对于 home 目录~/.kube$HOME/.kube
/相对于 settings 文件所在目录/build$SETTINGS_DIR/build
./ 或无前缀相对路径(由沙箱运行时解析)./output

多层 settings 合并行为

allowWritedenyWritedenyRead 数组在多层 settings 中合并(不覆盖)。如 managed settings 允许写 //opt/company-tools,用户添加 ~/.kube,最终配置包含两者。

工具兼容性说明

工具/情况处理方式
kubectlterraformnpm 需写外部路径使用 allowWrite 授权特定路径
watchman(Jest 默认使用)与沙箱不兼容,使用 jest --no-watchman
docker与沙箱不兼容,在 excludedCommands 中排除
CLI 工具需要访问特定主机首次使用时授权,后续自动允许

逃生舱机制(Escape Hatch)

Claude Code 内置一个有意为之的逃生舱:当命令因沙箱限制失败时,Claude 会分析失败原因,并可能用 dangerouslyDisableSandbox 参数重试——这类命令进入常规权限流程,需用户审批。

禁用逃生舱(强制所有命令必须在沙箱内运行):

json
{
  "sandbox": {
    "allowUnsandboxedCommands": false
  }
}

禁用后,dangerouslyDisableSandbox 参数被完全忽略,命令要么在沙箱内运行,要么在 excludedCommands 中显式排除。

安全收益

安全能力说明
防止提示词注入即使恶意内容触发危险命令,沙箱边界也能阻止影响超出项目目录
缩小攻击面OS 级强制限制,所有子进程继承边界
透明运行沙箱完全透明,不影响 Claude 正常工作,违规尝试立即通知

沙箱的局限性

  • 不保护 Claude 文件工具本身(Read/Edit/Write),仅限制 Bash 子进程
  • 沙箱是权限系统的补充,不是替代
  • 内存攻击、内核漏洞利用等超出沙箱防护范围

开源

Claude Code 的沙箱实现是开源的,可在 GitHub 查看。


原文:Sandboxing - Claude Code Docs | 来源:Anthropic 官方文档

相关文章推荐

深度Claude Code 沙箱凭据保护体系再升级:v2.1.224 拒绝规则绕过漏洞与实践检查清单Claude Code v2.1.224 修复沙箱文件系统拒绝规则(denyRead 带结尾斜杠)在 Linux/macOS 上可被静默绕过的问题,提供实用的沙箱配置自检清单。2026/8/10深度Claude Code 沙箱凭据保护完全指南:从明文拒绝到 JWT 感知脱敏的演进之路梳理 Claude Code 沙箱凭据保护体系的四种模式——结构化脱敏、JWT 感知脱敏、AWS SigV4 重签名、文件级哨兵替换,帮你选择适合的安全策略。2026/8/7深度Claude Code 沙箱隔离完全指南:文件系统隔离、网络访问控制与 OS 级安全边界Claude Code 沙箱隔离完全指南:文件系统(默认读全机/写当前目录)和网络隔离机制、macOS Seatbelt 和 Linux bubblewrap OS 级执行、两种沙箱模式(Auto-allow/Regular 权限)、allowWrite/denyRead/denyWrite 路径配置、自定义网络代理,以及提示注入防护和已知安全限制。2026/3/3深度Claude Code v2.1.207 安全深度解析:插件 headersHelper Shell 注入漏洞修复始末深度解析 Claude Code v2.1.207 修复的插件系统 Shell 注入漏洞:${user_config.*} 在 Shell 形式命令中被拒绝,Hooks 需改用 exec 形式或环境变量,Monitors 和 headersHelper 需在脚本内部读取配置。同步解析关联的 pluginConfigs 读取来源收紧措施。2026/7/11深度Claude Code 安全强化速览:Auto Mode 防误删、后台通知防伪造双重防线解析深度解析 Claude Code v2.1.205 两项容易被忽略但意义重大的安全强化:Auto Mode 对变量值不明的 rm -rf 命令先询问再执行,以及后台任务通知明确标注「无真实人工输入」防止伪造批准被误信。分析两者背后共同的「默认保守」设计哲学。2026/7/10深度Claude Code 团队协作安全实践:MCP 服务器审批机制与工作区信任详解Claude Code v2.1.196 起引入的 MCP 服务器审批机制,确保克隆仓库无法自动获得已提交的 MCP 服务器信任。本文详解工作区信任模型如何防止供应链投毒攻击,并提供团队 Onboarding 安全检查清单。2026/7/6