Skip to content

沙箱

Codex 的代码执行安全机制

概述

沙箱是 Codex 执行代码的安全隔离环境,防止恶意代码对系统造成损害。

沙箱类型

1. 本地沙箱

在用户机器上运行:

- Docker 容器
- 虚拟机
- 系统隔离

2. 云端沙箱

在云端环境运行:

- Codex Cloud
- 隔离执行环境
- 自动销毁

安全隔离

文件系统隔离

沙箱内:
- 只能访问项目目录
- 无法访问系统文件
- 无法访问用户主目录

网络隔离

网络访问:
- 默认禁止出站
- 白名单允许
- 监控所有流量

进程隔离

进程限制:
- 无法启动新进程
- 资源使用限制
- 自动终止超时

权限控制

默认权限

允许:
- 读取项目文件
- 写入项目文件
- 运行允许的命令
禁止:
- 访问系统目录
- 安装系统包
- 修改系统配置

权限提升

需要明确批准:
- 执行系统命令
- 访问网络
- 修改 Git 历史

资源配置

资源限制

yaml
resources:
  cpu: 2 核
  memory: 4GB
  disk: 10GB
  timeout: 300 秒

超时处理

当超过时限时:
1. 终止执行
2. 保存当前状态
3. 报告用户

安全策略

命令白名单

json
{
  "allowedCommands": [
    "npm",
    "npx",
    "node",
    "python",
    "pip",
    "git"
  ]
}

危险操作检测

自动检测并阻止:
- rm -rf /
- DROP TABLE
- 加密货币挖矿
- 端口扫描

审计和日志

执行日志

记录所有操作:
- 执行的命令
- 访问的文件
- 网络请求

审计报告

定期生成报告:
- 资源使用
- 异常行为
- 安全事件

使用场景

安全执行

"运行这个 Python 脚本"
→ 在沙箱中执行
→ 输出结果

代码测试

"测试这个函数"
→ 沙箱中运行测试
→ 报告结果

依赖安装

"安装项目依赖"
→ 沙箱中安装
→ 不影响系统

限制

不支持的操作

  • 图形界面应用
  • 系统服务管理
  • 硬件访问
  • 长期运行进程

性能影响

  • 启动时间增加
  • I/O 性能降低
  • 内存开销

最佳实践

1. 明确执行范围

好:"在项目目录中运行测试"
不好:"运行测试"(范围不明确)

2. 避免危险命令

好:使用包管理器
不好:直接修改系统文件

3. 监控资源使用

定期检查:
- 内存使用
- CPU 占用
- 磁盘空间

故障排除

常见问题

问题解决方案
沙箱启动失败检查 Docker/依赖
执行超时增加超时时间
资源不足请求增加配额

禁用沙箱

⚠️ 仅在信任环境下禁用

codex --no-sandbox "命令"

下一步

基于 OpenAI Codex 官方文档翻译