• แยกรันไทม์ sandbox ของ Codex ออกมาเป็นเครื่องมืออิสระ เป็นเครื่องมือแยกกระบวนการน้ำหนักเบาที่สามารถใช้ ควบคุมไฟล์·เครือข่าย·ข้อมูลรับรอง กับคำสั่งใดก็ได้
  • แม้จะ รันโค้ดที่ AI สร้างขึ้นโดยตรง ก็ ไม่ต้องกังวลเรื่องไฟล์เสียหาย·ข้อมูลรั่วไหล
  • นโยบายเริ่มต้นตั้งเป็น deny-by-default จึงบล็อกการเขียน การเข้าถึงเครือข่าย และตัวแปรสภาพแวดล้อมทั้งหมดที่ไม่ได้อนุญาตไว้อย่างชัดเจน
  • เรียกใช้ API ภายนอกได้โดยไม่เปิดเผย API key ในโค้ด : ฟีเจอร์ Credential Injection ทำให้โปรเซสภายใน sandbox เห็นเพียง placeholder ส่วน API key จริงจะอยู่ที่ network proxy
  • ติดตั้งเสร็จได้ด้วยไบนารีเดียวผ่าน curl ... | sh หรือ npm install -g zerobox โดยไม่ต้อง build container image หรือรอ boot VM
  • ตรวจสอบและย้อนกลับได้ทันทีว่า npm install เปลี่ยนอะไรไปบ้าง: เพียงรัน zerobox --restore --allow-write=. -- npm install ก็จะกู้คืนอัตโนมัติเมื่อจบงาน หรือจะบันทึกไว้ก่อนด้วย --snapshot แล้วค่อยตรวจดูการเปลี่ยนแปลงภายหลังด้วย zerobox snapshot diff <id> ก่อน rollback ด้วย restore ก็ได้
  • แยกสิทธิ์ได้ในทุกการเรียกใช้เครื่องมือของ LLM: สร้าง sandbox แบบอ่านอย่างเดียว แบบเขียนอย่างเดียว และแบบที่อนุญาตเฉพาะบางโดเมนแยกกัน เพื่อให้แต่ละ tool call ของเอเจนต์ทำงานด้วยสิทธิ์ต่างกัน → ต่อให้ prompt injection สั่ง rm -rf ก็จะถูกเมินหากเป็น sandbox ที่ไม่มีสิทธิ์เขียน
  • บล็อกการเรียกเครือข่ายภายนอกที่ไม่ตั้งใจในขั้น build/test ได้อัตโนมัติ: หากรันทดสอบด้วย zerobox --allow-write=/tmp -- npm test แล้วโค้ดพยายามเรียก API ภายนอกแบบลับ ๆ ก็จะล้มเหลวทันที ช่วยตรวจพบ supply chain attack หรือ side effect ได้ตั้งแต่เนิ่น ๆ
  • ไม่จำเป็นต้องเขียนกฎบล็อกไดเรกทอรีสำคัญด้วยมือ: โปรไฟล์เริ่มต้นจะ deny เส้นทางอย่าง ~/.ssh, ~/.aws ให้อัตโนมัติ จึงมีชั้นป้องกันพื้นฐานโดยไม่ต้องตั้งค่าเพิ่ม
  • ไม่ต้องกังวลเรื่อง environment variable ปนเปื้อน : โดยปกติจะส่งต่อเฉพาะค่าที่จำเป็นอย่าง PATH, HOME เท่านั้น จึงไม่ทำให้ค่าประเภท AWS_SECRET_ACCESS_KEY หลุดไปยัง child process และสามารถ whitelist เฉพาะที่ต้องการได้ด้วยรูปแบบ --allow-env=DATABASE_URL
  • รองรับทั้ง Rust SDK และ TypeScript SDK และสามารถรันผ่าน CLI แบบไบนารีเดียวได้โดยไม่ต้องใช้ Docker หรือ VM ด้วย overhead ราว 10ms
  • เป็นเครื่องมือที่มีประโยชน์อย่างยิ่งต่อ ความปลอดภัยของ workflow AI เช่น การรันโค้ดที่ AI agent สร้างขึ้น การแยกการเรียกใช้เครื่องมือของ LLM และการปกป้อง build script
  • การรองรับแพลตฟอร์มและข้อมูลทางเทคนิค
    • macOS: รองรับเต็มรูปแบบบนพื้นฐาน Seatbelt(sandbox-exec)
    • Linux: รองรับเต็มรูปแบบบนพื้นฐาน Bubblewrap + Seccomp + Namespaces
    • Windows: มีแผนรองรับบนพื้นฐาน Restricted Tokens + ACLs + Firewall
    • สามารถใช้ตัวเลือก --strict-sandbox เพื่อบังคับให้ หยุดการทำงาน แทนการ fallback ไปใช้การแยกที่อ่อนลงในสภาพแวดล้อมที่ไม่มี bubblewrap (เช่น ภายใน Docker)
  • ไลเซนส์ Apache-2.0 / Rust + TypeScript

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น