Hasty Briefsbeta

双语

A deep dive on agent sandboxes

4 months ago
  • #coding-agents
  • #sandboxing
  • #security
  • 现代编程代理之所以强大,源于其访问权限,其中bash是它们最具表现力也最危险的工具。
  • 在虚拟化环境(如容器)中运行编程代理是最安全的做法,但实际应用却很少见。
  • 命令白名单机制(如Claude Code和Cursor采用)在权限与风险间取得平衡,但存在脆弱性和使用不便的缺点。
  • Codex CLI提供三种权限模式:只读模式、自动模式(当前默认)和完全访问模式,各自具有不同的限制级别。
  • Codex的自动模式最值得关注,它在无需显式容器化的情况下限制网络和外部工作区访问。
  • Codex采用macOS的Seatbelt和Linux的Landlock+seccomp进行沙箱隔离,在操作系统层面实施限制。
  • Linux实现更为复杂:Landlock负责文件系统限制,seccomp处理系统调用过滤。
  • 子进程管理机制确保沙箱进程被正确隔离和清理,同时控制环境变量传递。
  • 命令白名单和信任列表将命令分类为安全命令、需审批命令和需非沙箱执行的命令。
  • 调试工具如`codex debug seatbelt`和`codex debug landlock`可用于测试沙箱行为。
  • Codex采用的原生操作系统沙箱技术实现了低开销的高效隔离,这对安全执行代理程序至关重要。