ความปลอดภัยขณะทำงาน

ความปลอดภัยขณะทำงาน

ภาพรวม

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

หน้าความปลอดภัยขณะทำงาน-CN


การจัดระดับสิทธิ์เครื่องมือ

เครื่องมือทั้งหมดถูกแบ่งเป็นสามระดับตามระดับความปลอดภัย:

ระดับ ชื่อ พฤติกรรม ตัวอย่างเครื่องมือที่ใช้ได้
P0 ทำงานอัตโนมัติ ไม่ต้องให้ผู้ใช้ยืนยัน ทำงานแบบเงียบ Read File, List Directory, Memory Query
P1 ยืนยันครั้งแรก แสดงหน้าต่างยืนยันสิทธิ์เมื่อเรียกใช้ครั้งแรก Bash, Web Fetch, Skill
P2 ยืนยันทุกครั้ง ต้องให้ผู้ใช้ยืนยันทุกครั้งที่เรียกใช้ การดำเนินการที่มีความเสี่ยงสูง

หน้าต่างยืนยันสิทธิ์

เมื่อ Agent เรียกใช้เครื่องมือระดับ P1/P2 อินเทอร์เฟซจะแสดงหน้าต่างยืนยันสิทธิ์:

หน้าต่างยืนยันสิทธิ์-CN

ข้อมูล คำอธิบาย
ชื่อเครื่องมือ เครื่องมือที่ขอเรียกใช้
คำอธิบายการดำเนินการ การดำเนินการเฉพาะที่เครื่องมือจะทำ
พารามิเตอร์อินพุต รายละเอียดพารามิเตอร์ที่เครื่องมือรับ
อนุญาต/ปฏิเสธ ปุ่มตัดสินใจของผู้ใช้

การตรวจสอบคำสั่งอันตรายล่วงหน้า

เครื่องมือ 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 ระบบตัดสินใจอัตโนมัติว่าจำเป็นต้องใช้แซนด์บ็อกซ์หรือไม่

ขั้นตอนการติดตั้ง

  1. ตรวจสอบระบบ: ตรวจสอบความเข้ากันได้ของระบบโฮสต์
  2. ดาวน์โหลด Runtime: ดาวน์โหลดรันไทม์การจำลองเสมือน
  3. ดาวน์โหลด Image: ดาวน์โหลดดิสก์อิมเมจ Linux
  4. พร้อมใช้งาน: แซนด์บ็อกซ์พร้อมใช้งาน

ความคืบหน้าการติดตั้งแซนด์บ็อกซ์-CN

ความคืบหน้าการติดตั้งแสดงผ่านคอมโพเนนต์ 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 ผู้ใช้ระดับสูง ระบบตัดสินใจอัตโนมัติตามความเสี่ยงของคำสั่ง ความเสี่ยงต่ำทำงานในเครื่อง ความเสี่ยงสูงเข้าแซนด์บ็อกซ์

วิธีติดตั้งแซนด์บ็อกซ์

  1. เปิด APP → การตั้งค่า → ความปลอดภัยขณะทำงาน → แท็บ แซนด์บ็อกซ์
  2. ระบบตรวจสอบอัตโนมัติว่าอุปกรณ์ปัจจุบันรองรับแซนด์บ็อกซ์หรือไม่
  3. หากรองรับ ให้คลิกปุ่ม ติดตั้ง
  4. รอดาวน์โหลด Runtime (ประมาณ 50-100MB) และ Image (ประมาณ 200-500MB)
  5. เมื่อดาวน์โหลดเสร็จ สถานะแซนด์บ็อกซ์จะแสดงเป็น "พร้อมใช้งาน"
  6. เลือก sandbox หรือ auto ในโหมดการทำงาน

หมายเหตุ: แซนด์บ็อกซ์ปัจจุบันรองรับเฉพาะ macOS (arm64 และ amd64) การรองรับ Windows อยู่ในแผน


ผลกระทบจริงของการมองเห็นโหนด

การตั้งค่า ผลกระทบ
account (ส่วนตัว) เฉพาะตัวคุณเองเมื่อล็อกอินบนอุปกรณ์อื่นเท่านั้นที่มองเห็นและเรียกใช้โหนดนี้ได้ สมาชิกในทีมมองไม่เห็น
enterprise (องค์กร) สมาชิกทุกคนในพื้นที่ทำงานเดียวกันมองเห็นโหนดนี้ และสามารถกระจายงานผ่าน Gateway ไปทำงานบนอุปกรณ์นี้ได้

เคล็ดลับ: การตั้งค่าเป็น enterprise หมายความว่าการสนทนาที่สมาชิกในทีมเริ่มต้นอาจทำงาน Agent บนคอมพิวเตอร์ของคุณ (รวมถึงการอ่านเขียนไฟล์และการเรียกใช้คำสั่ง) โปรดตรวจสอบให้แน่ใจว่าคุณเข้าใจผลกระทบนี้และไว้ใจสมาชิกในทีมของคุณ


เอกสารที่เกี่ยวข้อง