安全沙箱
概述
代码执行的隔离运行环境,通过容器化技术(如 Docker/gVisor)限制文件系统访问、网络访问和资源消耗,防止任意代码执行导致的安全风险。
关键内容
- 安全风险:
- 任意代码执行可能导致文件系统破坏
- 可能导致网络泄露,访问外部敏感服务
-
可能导致资源耗尽(无限循环、内存泄漏)
-
安全架构设计:
MCP Client (Claude) → 发送代码字符串 → MCP Server → 在隔离容器中执行(Docker/gVisor) → 文件系统访问受限(仅沙箱目录) → 网络访问可控(白名单或完全隔离) → 执行超时(防止无限循环) → 内存限制(防止资源耗尽) → 返回标准输出/错误 -
关键限制措施:
- 文件系统:仅允许访问沙箱目录,不允许直接的文件系统写入
- 网络访问:白名单模式或完全隔离,防止数据泄露
- 执行超时:通常设置 30 秒最大执行时间,防止无限循环
-
内存限制:防止资源耗尽攻击
-
与 代码执行 的关系:
- 安全沙箱是代码执行能力的前提条件
- 没有安全沙箱的代码执行在生产环境中不可接受
-
最佳实践:
- 始终在沙箱中执行,不允许绕过沙箱直接执行
- 对超时和内存设置合理限制
- 审查 Agent 生成的代码(特别是涉及外部系统时)
- 沙箱目录外禁止写入,确保隔离性
来源
- raw/articles/ai-engineering/anthropic-engineering/claude-engineering/20_code_execution_mcp — 通过 MCP 的代码执行:构建更高效的 Agent
相关
- 代码执行 — used_by,安全沙箱为代码执行提供隔离环境
- MCP — part_of,安全沙箱是 MCP 代码执行服务器的核心组件
- Agent 架构与设计原则 — relates_to,安全沙箱是 Agent 安全设计的关键原则