NVIDIA OpenShell

NVIDIA OpenShell

NVIDIA OpenShell คือสภาพแวดล้อมการทำงาน (Runtime) แบบโอเพนซอร์สที่ใช้สำหรับแยก AI Agent ไว้ในแซนด์บ็อกซ์ โดยควบคุมการทำงานด้านไฟล์ เครือข่าย กระบวนการ (Process) และการอนุมาน (Inference) ด้วยนโยบายแบบประกาศ (Declarative Policy)

ทำไมจึงจำเป็นต้องมีสภาพแวดล้อมการทำงานเฉพาะสำหรับ Agent

AI Agent จะทำการเขียนโค้ด ติดตั้งแพ็กเกจ และแก้ไขไฟล์การตั้งค่า ซึ่งเป็นการเปลี่ยนแปลงสภาพแวดล้อมการทำงานของตัวมันเอง ในขณะที่ Docker container ทั่วไปมีจุดประสงค์หลักเพื่อแยกแอปพลิเคชันออกจากกัน แต่ OpenShell ออกแบบมาเพื่อการรัน "Agent ที่เปลี่ยนแปลงสภาพแวดล้อมอยู่ตลอดเวลา" นี้โดยเฉพาะ จุดเด่นคือการบังคับใช้แบบ "Out-of-process" ซึ่งเป็นการกำหนดข้อจำกัดไว้ที่ตัวสภาพแวดล้อมที่ Agent ทำงานอยู่ แทนที่จะควบคุม Agent ผ่านทาง Prompt (คำสั่งการทำงาน) เนื่องจากข้อจำกัดเหล่านี้ทำงานจากภายนอก Agent ต่อให้ Agent ถูกบุกรุก ก็ไม่สามารถเขียนทับข้อจำกัดเหล่านั้นได้ OpenShell ถูกเผยแพร่โดย NVIDIA ภายใต้สัญญาอนุญาต Apache 2.0 และสามารถดูซอร์สโค้ดได้ที่ github.com/NVIDIA/OpenShell

4 โดเมนการป้องกันและการแยกส่วนในระดับ Kernel

OpenShell สร้างการป้องกันแบบหลายชั้นใน 4 ด้าน ได้แก่ ระบบไฟล์ (Filesystem), เครือข่าย (Network), กระบวนการ (Process) และการอนุมาน (Inference) เพื่อป้องกันการขโมยข้อมูลรับรอง (Credential), การนำข้อมูลออกนอกระบบ (Data exfiltration), การยกระดับสิทธิ์ (Privilege escalation) และการส่งข้อมูลไปยังโมเดลที่ไม่ได้รับอนุญาต โดยใช้ Landlock LSM ของ Linux kernel ในการแยกส่วนระบบไฟล์ และใช้ seccomp ในการจำกัดกระบวนการ ส่วนโดเมนการอนุมานจะทำหน้าที่เป็น privacy router ที่เก็บรักษาบริบทที่เป็นความลับไว้ในเครื่องด้วยโมเดลแบบเปิด (Open model) และจะส่งไปยัง Frontier model ก็ต่อเมื่อนโยบายอนุญาตเท่านั้น นโยบายต่างๆ จะถูกเขียนด้วย YAML แบบประกาศ (Declarative) โดยไฟล์และกระบวนการจะถูกกำหนดไว้ตั้งแต่ตอนสร้าง ส่วนเครือข่ายและการอนุมานสามารถทำ Hot-reload ได้ในขณะที่ระบบกำลังทำงาน หลักการ "ปฏิเสธโดยค่าเริ่มต้น และอนุญาตเฉพาะสิ่งที่จำเป็นเท่านั้น" (Default deny, explicitly allow) สอดคล้องกับแนวคิด Privacy-by-isolation ที่เน้นการปกป้องข้อมูลด้วยการแยกส่วนทางกายภาพ

Agent ที่รองรับและแนวทางการใช้งาน

CLI จะตรวจหาข้อมูลรับรองของ Agent ที่รู้จัก (เช่น Claude Code, Codex, OpenCode ฯลฯ) จากสภาพแวดล้อม Shell โดยอัตโนมัติ ทำให้ในหลายกรณีสามารถรันภายใน Sandbox ได้ทันทีโดยไม่ต้องแก้ไขโค้ด ในส่วนของ Backend ของคอนเทนเนอร์ นอกจาก Docker และ Podman แล้ว ยังสามารถเลือกใช้ MicroVM อย่าง Firecracker ซึ่งเป็นเครื่องเสมือนขนาดเบาได้ ยิ่งมอบสิทธิ์ให้ Agent ที่ทำงานแบบอัตโนมัติมากเท่าใด การออกแบบ Guardrail และการกักกัน (Containment) ก็ยิ่งมีความสำคัญมากขึ้นเท่านั้น ทางบริษัทของเรายึดหลักการเริ่มต้นตรวจสอบพฤติกรรมใน Sandbox ขนาดเล็กก่อน แล้วจึงค่อยๆ ขยายขอบเขตนโยบายออกไปทีละน้อย สำหรับขั้นตอนการติดตั้งโดยละเอียด สามารถดูได้ในบทความที่เกี่ยวข้องเรื่อง "NVIDIA OpenShell คืออะไร? เริ่มต้นใช้งาน Sandbox สำหรับรัน AI Agent อย่างปลอดภัย"

คำศัพท์ที่เกี่ยวข้อง

AI ROI (ผลตอบแทนจากการลงทุนด้าน AI)
AI สำหรับธุรกิจ

AI ROI (ผลตอบแทนจากการลงทุนด้าน AI)

AI ROI คือ ตัวชี้วัดที่ใช้วัดผลลัพธ์เชิงปริมาณของการปรับปรุงประสิทธิภาพการทำงานและการเพิ่มรายได้ที่ไ

AI พยากรณ์ความต้องการ (Demand Forecasting AI)
AI สำหรับธุรกิจ

AI พยากรณ์ความต้องการ (Demand Forecasting AI)

AI คาดการณ์ความต้องการ (Demand Forecasting AI) คือระบบที่วิเคราะห์ข้อมูลการขายในอดีตและปัจจัยภายนอกด

AI ออบเซอร์แวนบิลิตี้ (AI Observability)
AI สำหรับธุรกิจ

AI ออบเซอร์แวนบิลิตี้ (AI Observability)

แนวปฏิบัติในการดำเนินงานเพื่อติดตามและแสดงผลข้อมูลการทำงานของระบบ AI ที่ใช้งานจริงอย่างต่อเนื่อง ทั้

BPO (การจ้างภายนอกเพื่อดำเนินกระบวนการทางธุรกิจ)
AI สำหรับธุรกิจ

BPO (การจ้างภายนอกเพื่อดำเนินกระบวนการทางธุรกิจ)

BPO คือรูปแบบการ outsourcing ที่องค์กรมอบหมายกระบวนการทางธุรกิจเฉพาะด้านให้กับผู้ให้บริการภายนอกที่ม