ความปลอดภัยขณะทำงาน
ภาพรวม
การตั้งค่าความปลอดภัยขณะทำงานใช้สำหรับกำหนดค่านโยบายความปลอดภัยระหว่างที่ Agent ทำงาน ประกอบด้วยแท็บสามแท็บ ได้แก่ รายชื่อผู้ติดต่อ, โหนด และ แซนด์บ็อกซ์

การจัดระดับสิทธิ์เครื่องมือ
เครื่องมือทั้งหมดถูกแบ่งเป็นสามระดับตามระดับความปลอดภัย:
| ระดับ | ชื่อ | พฤติกรรม | ตัวอย่างเครื่องมือที่ใช้ได้ |
|---|---|---|---|
| P0 | ทำงานอัตโนมัติ | ไม่ต้องให้ผู้ใช้ยืนยัน ทำงานแบบเงียบ | Read File, List Directory, Memory Query |
| P1 | ยืนยันครั้งแรก | แสดงหน้าต่างยืนยันสิทธิ์เมื่อเรียกใช้ครั้งแรก | Bash, Web Fetch, Skill |
| P2 | ยืนยันทุกครั้ง | ต้องให้ผู้ใช้ยืนยันทุกครั้งที่เรียกใช้ | การดำเนินการที่มีความเสี่ยงสูง |
หน้าต่างยืนยันสิทธิ์
เมื่อ Agent เรียกใช้เครื่องมือระดับ P1/P2 อินเทอร์เฟซจะแสดงหน้าต่างยืนยันสิทธิ์:

| ข้อมูล | คำอธิบาย |
|---|---|
| ชื่อเครื่องมือ | เครื่องมือที่ขอเรียกใช้ |
| คำอธิบายการดำเนินการ | การดำเนินการเฉพาะที่เครื่องมือจะทำ |
| พารามิเตอร์อินพุต | รายละเอียดพารามิเตอร์ที่เครื่องมือรับ |
| อนุญาต/ปฏิเสธ | ปุ่มตัดสินใจของผู้ใช้ |
การตรวจสอบคำสั่งอันตรายล่วงหน้า
เครื่องมือ Bash มีกลไกตรวจสอบคำสั่งอันตรายล่วงหน้าในตัว (bashCommandPreflightCheck):
| ประเภทการตรวจสอบ | คำอธิบาย |
|---|---|
| การตรวจจับเส้นทางทำลายล้าง | ตรวจจับคำสั่งลบที่มีความเสี่ยงสูง เช่น rm -rf /, rm -rf ~ |
| การตรวจจับคำสั่งระบบ | ตรวจจับคำสั่งระดับระบบ เช่น shutdown, reboot |
| ความเสี่ยงข้อมูลสูญหาย | ตรวจจับการดำเนินการที่อาจทำให้ข้อมูลสูญหาย |
เมื่อตรวจพบคำสั่งอันตราย จะยกระดับเป็นระดับ P2 โดยอัตโนมัติ (ยืนยันทุกครั้ง)
การดักจับด้วย Hook
ระบบรองรับ Hook beforeToolUse และ afterToolUse:
| Hook | จังหวะที่ทริกเกอร์ | ความสามารถ |
|---|---|---|
| beforeToolUse | ก่อนที่เครื่องมือจะทำงาน | สามารถหยุดการทำงาน, แก้ไขพารามิเตอร์, บังคับยกระดับการยืนยันได้ |
| afterToolUse | หลังจากที่เครื่องมือทำงาน | สามารถบันทึกล็อก, ทริกเกอร์การดำเนินการต่อเนื่องได้ |
สภาพแวดล้อมการทำงานแบบแซนด์บ็อกซ์
แซนด์บ็อกซ์มอบสภาพแวดล้อมการทำงานของโค้ดที่แยกออกมา เพื่อปกป้องความปลอดภัยของระบบโฮสต์
ข้อกำหนดทางเทคนิค
| พารามิเตอร์ | ค่า |
|---|---|
| การจำลองเสมือน | ไมโครเวอร์ชวลแมชชีนที่สื่อสารผ่าน VirtIO Serial |
| สถาปัตยกรรมที่รองรับ | arm64, amd64 |
| รันไทม์ | สภาพแวดล้อม Linux แบบสมบูรณ์ (Bash, Python, Node.js) |
โหมดการทำงานสามแบบ
| โหมด | คำอธิบาย |
|---|---|
| local | ทำงานบนระบบโฮสต์โดยตรง (ค่าเริ่มต้น) |
| sandbox | บังคับให้ทำงานภายในแซนด์บ็อกซ์ |
| auto | ระบบตัดสินใจอัตโนมัติว่าจำเป็นต้องใช้แซนด์บ็อกซ์หรือไม่ |
ขั้นตอนการติดตั้ง
- ตรวจสอบระบบ: ตรวจสอบความเข้ากันได้ของระบบโฮสต์
- ดาวน์โหลด Runtime: ดาวน์โหลดรันไทม์การจำลองเสมือน
- ดาวน์โหลด Image: ดาวน์โหลดดิสก์อิมเมจ Linux
- พร้อมใช้งาน: แซนด์บ็อกซ์พร้อมใช้งาน

ความคืบหน้าการติดตั้งแสดงผ่านคอมโพเนนต์ CoworkSandboxProgress (ขั้นตอน, ดาวน์โหลดแล้ว/ยอดรวม, เปอร์เซ็นต์)
การตรวจสอบสถานะ
| ฟิลด์สถานะ | คำอธิบาย |
|---|---|
supported |
ระบบปัจจุบันรองรับแซนด์บ็อกซ์หรือไม่ |
runtimeReady |
รันไทม์ติดตั้งแล้วหรือไม่ |
imageReady |
อิมเมจติดตั้งแล้วหรือไม่ |
downloading |
กำลังดาวน์โหลดอยู่หรือไม่ |
ความปลอดภัยของโหนด
แท็บโหนดใช้กำหนดค่านโยบายความปลอดภัยในสถานการณ์ที่มีหลายโหนด:
| การกำหนดค่า | คำอธิบาย |
|---|---|
| การมองเห็นของโหนด | ควบคุมขอบเขตการมองเห็นของโหนดนี้ต่อภายนอก (account / enterprise) |
| การประกาศความสามารถ | กำหนดค่ารายการเครื่องมือและคำสั่งที่โหนดนี้เปิดเผยต่อภายนอก |
| สิทธิ์ระยะไกล | นโยบายการจัดการเมื่อโหนดระยะไกลร้องขอสิทธิ์ (ดูกฎการกระจายข้ามโหนดโดยละเอียดได้ที่ สถาปัตยกรรมหลายโหนด — กฎการกระจายหน้าต่างยืนยันสิทธิ์) |
ผลกระทบจริงของระดับความปลอดภัย
ทำความเข้าใจผลกระทบจริงของระดับความปลอดภัยต่อการใช้งานประจำวัน:
| สถานการณ์ | P0 (ทำงานอัตโนมัติ) | P1 (ยืนยันครั้งแรก) | P2 (ยืนยันทุกครั้ง) |
|---|---|---|---|
| Agent ต้องอ่านไฟล์ | อ่านแบบเงียบ ไม่รู้สึกตัว | ยืนยันครั้งแรก จากนั้นอัตโนมัติ | แสดงหน้าต่างถามทุกครั้ง |
Agent เรียกใช้ npm install |
ทำงานโดยตรง | ยืนยันครั้งแรก | แสดงหน้าต่างทุกครั้ง |
Agent เรียกใช้ rm -rf node_modules |
ทำงานโดยตรง (อันตราย!) | ยืนยันครั้งแรก | แสดงหน้าต่างทุกครั้ง |
| Agent ค้นหาเว็บ | ค้นหาโดยตรง | ยืนยันครั้งแรก | แสดงหน้าต่างทุกครั้ง |
หมายเหตุ: เครื่องมือ Bash ภายใต้ P0 จะทำงานแบบเงียบกับคำสั่ง Shell ใดๆ ก็ตาม รวมถึงการลบไฟล์ แม้จะมีการตรวจสอบคำสั่งอันตรายล่วงหน้าในตัว แต่ก็ไม่สามารถครอบคลุมคำสั่งที่มีความเสี่ยงได้ทั้งหมด แนะนำให้ตั้งค่า Bash เป็น P1 เป็นอย่างน้อย
คำแนะนำในการเลือกระดับความปลอดภัย
| สภาพแวดล้อมการใช้งาน | การกำหนดค่าที่แนะนำ | เหตุผล |
|---|---|---|
| เครื่องพัฒนาส่วนตัว ไว้ใจได้ทั้งหมด | Bash: P1, อื่นๆ: P0 | มีประสิทธิภาพสูง Bash ยืนยันครั้งแรกเพื่อป้องกันการดำเนินการผิดพลาด |
| อุปกรณ์ที่ใช้ร่วมกัน / สภาพแวดล้อมทีม | Bash: P2, Web Fetch: P1, อื่นๆ: P0 | ทุกคำสั่งที่เรียกใช้ต้องยืนยัน ป้องกันการดำเนินการผิดพลาดที่กระทบผู้อื่น |
| ผู้ใช้มือใหม่ | ทั้งหมด P1 หรือ P2 | เรียนรู้รูปแบบพฤติกรรมของ Agent ผ่านหน้าต่างยืนยัน |
| สภาพแวดล้อมสาธิต | ทั้งหมด P2 | ความปลอดภัยสูงสุด ควบคุมได้เต็มที่ |
ผลกระทบจริงของแซนด์บ็อกซ์
| มิติเปรียบเทียบ | ปิดแซนด์บ็อกซ์ (โหมด local) | เปิดแซนด์บ็อกซ์ (โหมด sandbox) |
|---|---|---|
| การดำเนินการกับไฟล์ | Agent อ่านเขียนไฟล์ในเครื่องของคุณโดยตรง | Agent ทำงานในสภาพแวดล้อมที่แยกออกมา ไม่กระทบไฟล์ในเครื่อง |
| การติดตั้งซอฟต์แวร์ | npm install ติดตั้งลงในโปรเจกต์ของคุณโดยตรง |
ติดตั้งภายในแซนด์บ็อกซ์ หายไปหลังออกจากระบบ |
| คำสั่งอันตราย | rm -rf ลบไฟล์ของคุณโดยตรง |
กระทบเฉพาะระบบไฟล์เสมือนภายในแซนด์บ็อกซ์ |
| ความเร็วในการทำงาน | ความเร็วดั้งเดิม | ช้ากว่าเล็กน้อย (ค่าใช้จ่ายจากการจำลองเสมือน) |
| สถานการณ์ที่เหมาะสม | งานพัฒนาประจำวันที่ไว้ใจได้ | เรียกใช้โค้ดที่ไม่ไว้ใจ, การดำเนินการเชิงทดลอง |
เลือกโหมดการทำงานสามแบบอย่างไร
| โหมด | กลุ่มผู้ใช้ที่เหมาะสม | คำอธิบาย |
|---|---|---|
| local (ค่าเริ่มต้น) | นักพัฒนาทั่วไป | ทุกคำสั่งทำงานบนเครื่องโดยตรง เร็วที่สุด |
| sandbox | ผู้ใช้ที่ให้ความสำคัญกับความปลอดภัย | ทุกคำสั่งทำงานในแซนด์บ็อกซ์ แยกออกอย่างสมบูรณ์ |
| auto | ผู้ใช้ระดับสูง | ระบบตัดสินใจอัตโนมัติตามความเสี่ยงของคำสั่ง ความเสี่ยงต่ำทำงานในเครื่อง ความเสี่ยงสูงเข้าแซนด์บ็อกซ์ |
วิธีติดตั้งแซนด์บ็อกซ์
- เปิด APP → การตั้งค่า → ความปลอดภัยขณะทำงาน → แท็บ แซนด์บ็อกซ์
- ระบบตรวจสอบอัตโนมัติว่าอุปกรณ์ปัจจุบันรองรับแซนด์บ็อกซ์หรือไม่
- หากรองรับ ให้คลิกปุ่ม ติดตั้ง
- รอดาวน์โหลด Runtime (ประมาณ 50-100MB) และ Image (ประมาณ 200-500MB)
- เมื่อดาวน์โหลดเสร็จ สถานะแซนด์บ็อกซ์จะแสดงเป็น "พร้อมใช้งาน"
- เลือก sandbox หรือ auto ในโหมดการทำงาน
หมายเหตุ: แซนด์บ็อกซ์ปัจจุบันรองรับเฉพาะ macOS (arm64 และ amd64) การรองรับ Windows อยู่ในแผน
ผลกระทบจริงของการมองเห็นโหนด
| การตั้งค่า | ผลกระทบ |
|---|---|
| account (ส่วนตัว) | เฉพาะตัวคุณเองเมื่อล็อกอินบนอุปกรณ์อื่นเท่านั้นที่มองเห็นและเรียกใช้โหนดนี้ได้ สมาชิกในทีมมองไม่เห็น |
| enterprise (องค์กร) | สมาชิกทุกคนในพื้นที่ทำงานเดียวกันมองเห็นโหนดนี้ และสามารถกระจายงานผ่าน Gateway ไปทำงานบนอุปกรณ์นี้ได้ |
เคล็ดลับ: การตั้งค่าเป็น enterprise หมายความว่าการสนทนาที่สมาชิกในทีมเริ่มต้นอาจทำงาน Agent บนคอมพิวเตอร์ของคุณ (รวมถึงการอ่านเขียนไฟล์และการเรียกใช้คำสั่ง) โปรดตรวจสอบให้แน่ใจว่าคุณเข้าใจผลกระทบนี้และไว้ใจสมาชิกในทีมของคุณ
เอกสารที่เกี่ยวข้อง
- ราวกันความปลอดภัย — นโยบายความปลอดภัยระดับองค์กร
- การจัดการเครื่องมือ — รายละเอียดระดับความปลอดภัยของเครื่องมือ
- สถาปัตยกรรมหลายโหนด — กลไกความปลอดภัยของโหนด
