深度

Claude Code 沙箱隔离完全指南:文件系统隔离、网络访问控制与 OS 级安全边界

Claude Code 沙箱隔离完全指南:文件系统(默认读全机/写当前目录)和网络隔离机制、macOS Seatbelt 和 Linux bubblewrap OS 级执行、两种沙箱模式(Auto-allow/Regular 权限)、allowWrite/denyRead/denyWrite 路径配置、自定义网络代理,以及提示注入防护和已知安全限制。

2026/3/34分钟 阅读ClaudeEagle

Claude Code 的沙箱功能通过操作系统级别的隔离,在不需要每次都询问权限的情况下,为 AI 执行创建安全边界。

为什么需要沙箱?

传统的权限审批模式有明显缺点:

  • 审批疲劳:反复点击「允许」会让用户放松警惕,潜在危险操作更容易被误批
  • 效率低下:频繁中断打断开发节奏
  • 限制自主性:Claude Code 无法在等待审批期间高效工作

沙箱的解决方案:提前定义清晰边界,边界内自动执行,边界外立即拦截并通知。

核心隔离机制

文件系统隔离

默认行为:

操作默认范围
读取允许读取整台电脑(部分目录除外)
写入仅限当前工作目录及子目录

写入范围之外的文件修改请求会被立即拦截。可通过 sandbox.filesystem.allowWrite 扩展写权限。

网络隔离

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

  • 只有批准的域名可以访问
  • 新域名请求触发权限提示
  • 支持自定义���理规则
  • 覆盖所有子进程:包括 kubectlterraformnpm 等工具调用的网络请求

OS 级执行

平台使用技术
macOSSeatbelt(内置沙箱框架)
Linuxbubblewrap
WSL2bubblewrap(同 Linux)
WSL1❌ 不支持(缺少内核功能)

关键特性:所有子进程继承相同安全边界——Claude Code 执行的命令及其子命令都受同等约束。

快速启用

Linux / WSL2 先安装依赖

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

# Fedora
sudo dnf install bubblewrap socat

启用沙箱

bash
/sandbox

打开模式选择菜单(缺少依赖时会显示安装说明)。

两种沙箱模式

模式说明
Auto-allow沙箱内命令自动执行无需审批;无法沙箱化的命令(如访问未批准域名)退回常规权限流程
Regular 权限即使在沙箱内,所有 Bash 命令仍需标准权限审批

两种模式的文件系统和网络限制完全相同,区别仅在于沙箱内命令是否自动批准。

settings.json 配置示例

基础配置

json
{
  "sandbox": {
    "enabled": true
  }
}

扩展写权限(子进程需要写出工作目录时)

json
{
  "sandbox": {
    "enabled": true,
    "filesystem": {
      "allowWrite": ["~/.kube", "//tmp/build"]
    }
  }
}

路径前缀规则:

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

限制读写权限

json
{
  "sandbox": {
    "filesystem": {
      "denyRead": ["~/.ssh", "~/.gnupg"],
      "denyWrite": ["~/.bashrc", "~/.zshrc"]
    }
  }
}

自定义网络代理

json
{
  "sandbox": {
    "network": {
      "httpProxyPort": 8080,
      "socksProxyPort": 8081
    }
  }
}

适合需要解密检查 HTTPS 流量、自定义过滤规则或集成现有安全基础设施的组织。

安全防护效果

防提示注入:即使攻击者通过提示注入操控 Claude Code 的行为:

  • 无法修改 ~/.bashrc 等配置文件
  • 无法向攻击者控制的服务器传输数据
  • 无法从未授权域名下载恶意脚本
  • 无法调用未批准服务的 API

降低攻击面:限制恶意 NPM 包、被攻击的构建脚本、社会工程学攻击的潜在危害。

沙箱 vs 权限:互补而非替代

机制作用层级适用范围
权限系统工具调用前评估所有工具(Bash/Read/Edit/WebFetch/MCP)
沙箱OS 级执行隔离仅 Bash 命令及其子进程

sandbox.filesystemEdit/Read 权限规则的路径会合并生效,两者共同构建最终的沙箱配置。

已知安全限制

  • 网络过滤:仅限制域名,不检查流量内容,用户需自行确保只允许可信域名
  • Unix SocketallowUnixSockets 配置可能意外开放强大系统服务(如 /var/run/docker.sock 相当于访问宿主机)
  • 写权限扩展:允许写入包含 $PATH 可执行文件的目录,可能导致权限提升攻击
  • Docker 内 Linux 沙箱enableWeakerNestedSandbox 模式大幅降低安全性,仅在有额外隔离保障时使用

原文: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 级文件系统与网络隔离、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/9深度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