# Claude Code Sandboxing: Security Through Isolation

> 原文链接：https://www.anthropic.com/engineering/claude-code-sandboxing
> 作者/来源：Anthropic Engineering
> 阅读日期：2026-04-02

## 一句话总结
Anthropic 通过文件系统隔离和网络隔离两层沙箱机制，在保证 Claude Code 安全性的同时将权限提示减少了 84%，使 agent 能够在预定义的安全边界内更自主地运行。

## 核心论点

文章的核心主张是：**有效的 sandboxing 需要同时具备文件系统隔离和网络隔离**。单独的文件系统限制无法阻止被攻破的 agent 通过网络窃取数据；单独的网络限制无法阻止 agent 修改敏感系统文件或逃逸到更广的访问范围。两者必须配合使用才能构建真正的安全边界。

Anthropic 的 sandboxing 方案建立在操作系统级别的原语之上：Linux 上使用 bubblewrap，macOS 上使用 seatbelt。这些限制在内核层面强制执行，不仅覆盖 Claude 的直接交互，还覆盖所有由 Claude 生成的脚本和子进程。这一点至关重要——如果 sandbox 只限制了直接命令而不限制子进程，攻击者可以通过编写脚本来绕过限制。

具体实现上，Anthropic 发布了两个功能：**Sandboxed Bash Tool** 允许用户定义可访问的目录和网络主机，Claude 在这些限制内执行命令时无需逐个请求批准，访问受限资源时会立即触发通知；**Claude Code on the Web** 则将每个会话隔离在云端沙箱中，通过自定义 proxy service 处理 git 操作的认证，确保 git token 等敏感凭证始终保持在沙箱外部。

## 关键概念
- **双层隔离（Filesystem + Network Isolation）**：安全沙箱的两个互补边界——文件系统隔离防止修改敏感文件，网络隔离防止数据泄露和恶意下载
- **OS-level Primitives**：使用 Linux bubblewrap 和 macOS seatbelt 等内核级机制强制执行安全策略，确保限制不可被用户态代码绕过
- **子进程覆盖**：sandbox 不仅限制 Claude 直接执行的命令，还覆盖所有 spawned scripts 和 subprocesses
- **Credential Proxy**：在 Web 版本中，git token 等凭证通过独立的 proxy service 处理，永远不进入沙箱内部
- **84% 权限提示减少**：通过预定义安全边界，大幅减少了中断用户的权限确认弹窗

## 实践建议
1. 在 Claude Code 中运行 `/sandbox` 命令激活沙箱模式，配置允许访问的文件路径和网络域名
2. 始终同时配置文件系统和网络两层隔离——单独一层不够安全
3. 对于生产环境的 agent 部署，使用 OS-level 的沙箱机制而非应用层面的权限检查
4. 将 git token 等敏感凭证保持在沙箱外部，通过 proxy service 处理认证
5. 在 CI/CD 环境中运行 Claude Code 时，利用 sandboxed bash tool 限制 agent 的文件和网络访问范围

## 独到观点
这篇文章的独特贡献在于将安全性与可用性统一起来。传统的安全思维是"更多限制 = 更安全但更不方便"，而 Anthropic 的方案通过预定义边界实现了"更安全**且**更方便"——84% 的权限提示减少意味着用户体验显著改善。此外，使用 OS-level primitives 而非应用层限制是一个重要的工程决策，确保了安全保障不依赖于 LLM 的"遵守规则"能力，而是由操作系统内核强制执行。

## 与其他文章的关联
- 与 **OpenHands Prompt Injection**（#19）直接相关：sandboxing 是防御 prompt injection 攻击的关键基础设施层——即使 agent 被注入恶意指令，sandbox 限制了其可造成的损害
- 与 **Anthropic Code Execution with MCP**（#17）互补：MCP 服务器的代码执行同样需要 sandboxing 来确保安全
- 与 **HumanLayer Backpressure**（#13）关联：在 sandbox 内运行的 agent 可以更自由地执行命令（无需频繁权限确认），backpressure 策略可以进一步优化执行效率
- 与 **Fowler Humans and Agents**（#22）相关：sandboxing 改变了人机协作的动态——通过减少权限提示，让 agent 在安全范围内更加自主
- 与 **Claude Code Best Practices**（#23）关联：sandboxing 配置应成为 Claude Code 使用最佳实践的一部分
