Sandboxing ภาพรวม
Sandbox สร้างขอบเขตที่ช่วยให้ Codex ทำงานอัตโนมัติได้โดยไม่ต้องเข้าถึงเครื่องอย่างไม่จำกัด เมื่อ Codex รันคำสั่งผ่าน app, IDE หรือ CLI การทำงานจะเกิดขึ้นภายในสภาพแวดล้อมที่ถูกจำกัดแทนที่จะมี full permissions โดยค่าเริ่มต้น
หน้าที่ของ Sandbox
Sandbox ใช้กับคำสั่งที่ spawn และ built-in file operations เมื่อ Codex รัน tools เช่น git, package manager หรือ test runner เครื่องมือเหล่านั้นจะรับขอบเขต sandbox เดียวกัน Platform-native enforcement แตกต่างกันระหว่าง macOS, Linux, WSL2 และ Windows แต่รักษา operational limits ที่สอดคล้องกันทุก platform
ประโยชน์
Sandbox ลด approval fatigue โดยให้งาน routine ที่มีความเสี่ยงต่ำทำงานอัตโนมัติได้ภายในขอบเขตที่กำหนด สร้าง trust model ที่ชัดเจน — คุณ trust ขอบเขตทางเทคนิคที่บังคับใช้แทนที่จะพึ่ง agent intentions เพียงอย่างเดียว ช่วยให้ทำงานอิสระพร้อม transparency ว่าเมื่อใดจะต้อง escalate
ข้อกำหนดการตั้งค่า
macOS: Sandbox ทำงานอัตโนมัติโดยใช้ built-in Seatbelt framework
Windows: ใช้ native Windows sandbox ใน PowerShell และ Linux sandbox implementation ใน WSL2
Linux/WSL2: ติดตั้ง bubblewrap ผ่าน package manager:
sudo apt install bubblewrap # Ubuntu/Debian
sudo dnf install bubblewrap # Fedora
Sandbox Modes
ผู้ใช้เลือก permission mode ผ่าน permissions selector ใน app และ IDE:
| Mode | คำอธิบาย |
|---|---|
read-only | ดูไฟล์ได้เท่านั้น |
workspace-write | อ่าน แก้ไขใน workspace รันคำสั่ง routine (ค่าเริ่มต้น) |
danger-full-access | ไม่มีข้อจำกัด sandbox |
Approval Policies
| Policy | คำอธิบาย |
|---|---|
untrusted | ถามก่อนรันคำสั่งที่ไม่ trusted |
on-request | ทำงานอัตโนมัติ ถามเมื่อเกินขอบเขต |
never | ไม่มี approval prompt |
การตั้งค่า
ค่าเริ่มต้นเก็บใน config.toml โดยใช้ keys เช่น sandbox_mode, approval_policy, approvals_reviewer และ sandbox_workspace_write.writable_roots
Rules ให้ command-level exceptions โดยไม่ต้องขยาย access กว้างขึ้น
ดูเพิ่มเติม
- Auto-review — แทนที่การอนุมัติด้วยตัวเองด้วย reviewer agent อัตโนมัติ