- รันไทม์แซนด์บ็อกซ์สำหรับงานวิจัยที่พัฒนาขึ้นเพื่อรับประกัน สภาพแวดล้อมการทำงานที่ปลอดภัยสำหรับ AI agent
- โครงสร้างน้ำหนักเบาที่ใช้ OS native sandboxing primitives โดยไม่ต้องพึ่งคอนเทนเนอร์ เพื่อแยก agent, เซิร์ฟเวอร์ภายในเครื่อง หรือคำสั่ง CLI ออกจากกันอย่างปลอดภัย
- บน macOS ใช้
sandbox-exec และ Seatbelt profile ส่วนบน Linux ใช้การแยก namespace ที่อิงกับ bubblewrap
- ทราฟฟิกเครือข่ายจะถูกกรองผ่าน พร็อกซีเซิร์ฟเวอร์ ทำให้เข้าถึงได้เฉพาะโดเมนที่อนุญาต
- ยึดตามแนวคิด secure-by-default โดยเริ่มต้นด้วยสิทธิ์ขั้นต่ำ
- ใช้แพตเทิร์น allow-only / deny-only ที่อนุญาตอย่างชัดเจนเฉพาะไฟล์หรือเส้นทางเครือข่ายที่จำเป็น
- ความสามารถหลัก
- Network restrictions: ควบคุมโดเมนที่เข้าถึงได้สำหรับ HTTP/HTTPS และโปรโตคอลอื่น ๆ
- Filesystem restrictions: ระบุไฟล์และไดเรกทอรีที่อ่าน/เขียนได้
- Unix socket restrictions: จำกัดการเข้าถึงซ็อกเก็ต IPC ภายในเครื่อง
- Violation monitoring: บน macOS มีความสามารถในการเฝ้าดูบันทึกการละเมิดแบบเรียลไทม์
- รองรับ MCP server sandboxing
- สามารถครอบการรัน Model Context Protocol server ด้วย
srt เพื่อจำกัดสิทธิ์ไฟล์และเครือข่าย
- สามารถกำหนดนโยบายการเข้าถึงอย่างละเอียดได้ในไฟล์ตั้งค่า (
~/.srt-settings.json)
- ใช้ Dual Isolation Model เพื่อแยกไฟล์ซิสเต็มและเครือข่ายพร้อมกัน
- การแยกไฟล์: ค่าเริ่มต้นอนุญาตให้อ่านได้ แต่การเขียนต้องอนุญาตอย่างชัดเจน
- การแยกเครือข่าย: ค่าเริ่มต้นบล็อกการเข้าถึงทั้งหมด และสื่อสารได้เฉพาะโดเมนที่อนุญาต
- รองรับทั้งในรูปแบบ CLI และไลบรารี
- เมื่อรันคำสั่งด้วย
srt ระบบจะใช้แซนด์บ็อกซ์โดยอัตโนมัติ
- ในสภาพแวดล้อม Node.js สามารถควบคุมผ่านโปรแกรมได้ด้วย API
SandboxManager
- การกรองเครือข่ายที่ขยายได้
- สามารถเชื่อมต่อ พร็อกซีแบบกำหนดเอง (เช่น mitmproxy) แทนพร็อกซีเริ่มต้นได้
- สามารถทำการตรวจสอบทราฟฟิก, audit logging และใช้ตรรกะการกรองแบบละเอียดได้
- การรองรับแพลตฟอร์ม
- รองรับ macOS และ Linux อย่างสมบูรณ์
- ยังไม่รองรับ Windows
- ในสภาพแวดล้อม Linux ต้องมี dependency เช่น
bubblewrap, socat, ripgrep
3 ความคิดเห็น
ค่อย ๆ สร้างสิ่งที่จำเป็นจริง ๆ ขึ้นมาทีละขั้นเลยนะ
Windows ก็ถูกมองข้ามอยู่เสมอเลยนะ MS ควรจะต้องตื่นตัวได้แล้ว ถึงตอนนี้จะเพิ่งตื่นตัวขึ้นมาก็คงไม่คิดว่าจะช่วยอะไรได้ก็ตาม
น่าจะออกมาพร้อมกับ mcp มากกว่า แต่กลับยกให้มูลนิธิโอเพนซอร์สไปก่อนแล้วค่อยออกมา รู้สึกว่าช้าไปมากเหมือนกันนะ
แต่ถึงอย่างนั้นก็ยังไม่รองรับ Windows อีกเหรอ T_T