ความปลอดภัย ความเสี่ยง และข้อจํากัดของตัวแทนการเข้ารหัส Copilot

เสร็จสมบูรณ์เมื่อ

เอเจนต์การเข้ารหัส GitHub Copilot ได้รับการออกแบบตั้งแต่ต้นโดยคํานึงถึงความปลอดภัยและการกํากับดูแล แม้ว่าจะปลดล็อกวิธีใหม่ในการมอบหมายงานให้กับตัวแทนอิสระ แต่ก็ทํางานภายในรั้วที่มีอยู่ขององค์กรของคุณและเพิ่มการป้องกันของตัวเอง หน่วยนี้อธิบายวิธีที่ตัวแทนบังคับใช้นโยบายความปลอดภัยของคุณเน้นความเสี่ยงและการบรรเทาผลกระทบที่คุณควรทราบและกําหนดความคาดหวังเกี่ยวกับข้อจํากัดในปัจจุบัน

ในตอนท้ายของหน่วยนี้ คุณจะสามารถ:

  • อธิบายโมเดลความปลอดภัยและการป้องกันในตัวของเอเจนต์การเข้ารหัส Copilot
  • ระบุความเสี่ยงหลักที่เกี่ยวข้องกับการใช้เอเจนต์และการบรรเทาผลกระทบที่ GitHub นําไปใช้
  • ตระหนักถึงข้อจํากัดที่ทราบของเวิร์กโฟลว์และความเข้ากันได้ของตัวแทนเพื่อวางแผนการใช้งานของคุณให้เหมาะสม

รูปแบบการรักษาความปลอดภัยและการป้องกันในตัว

การรักษาความปลอดภัยเป็นรากฐานของเอเจนต์การเข้ารหัส Copilot มันเคารพการควบคุมที่มีอยู่ของคุณและใช้รั้วของตัวเองเพื่อให้เวิร์กโฟลว์ของคุณปลอดภัย:

  • ขึ้นอยู่กับการกํากับดูแล - การตั้งค่าองค์กรและองค์กรควบคุมความพร้อมใช้งาน นโยบายความปลอดภัยทั้งหมดของคุณยังคงมีผลบังคับใช้กับตัวแทน
  • สภาพแวดล้อมที่ถูกจํากัด - เอเจนต์ทํางานภายใน Sandbox บน GitHub Actions ด้วยการเข้าถึงอินเทอร์เน็ตแบบไฟร์วอลล์และการเข้าถึงที่เก็บของคุณแบบอ่านอย่างเดียว
  • ขีดจํากัดสาขา - สามารถสร้างและพุชไปยังสาขาที่ขึ้นต้นด้วย copilot/ เท่านั้น และการป้องกันสาขาทั้งหมดและการตรวจสอบที่จําเป็นยังคงมีผลบังคับใช้
  • รับรู้สิทธิ์ - เอเจนต์จะตอบสนองต่อผู้ใช้ที่มีสิทธิ์ในการเขียนเท่านั้น ความคิดเห็นจากผู้อื่นจะถูกละเว้น
  • กฎของผู้ร่วมงานภายนอก - การร่าง PR จากตัวแทนต้องได้รับการอนุมัติจากผู้ใช้ที่มีสิทธิ์ในการเขียนก่อนที่การดําเนินการจะทํางาน ผู้ที่ร้องขอการประชาสัมพันธ์จะไม่สามารถอนุมัติได้
  • การปฏิบัติตามข้อกําหนดและการระบุแหล่งที่มา - การคอมมิตทั้งหมดถูกเขียนร่วมกับนักพัฒนาที่มอบหมายงานหรือร้องขอ PR ดังนั้นการระบุแหล่งที่มาจึงชัดเจน กฎ "การอนุมัติที่จําเป็น" ที่มีอยู่ยังคงเหมือนเดิม

ความเสี่ยงและการบรรเทาผลกระทบ

แม้ว่าตัวแทนการเข้ารหัส Copilot จะสร้างขึ้นโดยคํานึงถึงความปลอดภัย แต่ก็ยังมีความเสี่ยงที่คุณควรวางแผน GitHub ใช้การบรรเทาผลกระทบเพื่อลดปัญหาเหล่านี้:

  • ความเสี่ยง: ตัวแทนพุชรหัส

    การบรรเทาผลกระทบ: เฉพาะผู้ใช้ที่มีสิทธิ์เขียนเท่านั้นที่สามารถทริกเกอร์การทํางานของตัวแทนได้ การผลักถูกจํากัดไว้ที่ copilot/ สาขา (ไม่ใช่หลัก/มาสเตอร์) ข้อมูลประจําตัวของตัวแทนอนุญาตให้กดอย่างง่ายเท่านั้น (ไม่มีโดยตรง git push) เวิร์กโฟลว์ GitHub Actions จะไม่ทํางานจนกว่าผู้ใช้ที่มีสิทธิ์เขียนจะคลิก "อนุมัติและเรียกใช้เวิร์กโฟลว์" ผู้ร้องขอไม่สามารถอนุมัติ PR ของตัวแทน โดยยังคงรักษาการอนุมัติที่จําเป็น

  • ความเสี่ยง: การเข้าถึงข้อมูลที่ละเอียดอ่อน

    การบรรเทา: การเข้าถึงอินเทอร์เน็ตของเอเจนต์ถูกจํากัดด้วยไฟร์วอลล์โดยค่าเริ่มต้น คุณสามารถปรับแต่งหรือปิดใช้งานไฟร์วอลล์ตามนโยบายได้

  • ความเสี่ยง: ฉีดให้ทัน

    การบรรเทา: อักขระที่ซ่อนอยู่ (เช่น ข้อคิดเห็น HTML) จะถูกกรองก่อนที่จะส่งข้อมูลของผู้ใช้ไปยังตัวแทน วิธีนี้จะช่วยลดโอกาสที่คําแนะนําที่เป็นอันตรายที่ซ่อนอยู่ในความคิดเห็นหรือปัญหา

การควบคุมเหล่านี้ให้พื้นฐานที่ปลอดภัยสําหรับการใช้เอเจนต์ แต่คุณยังคงควรตรวจสอบผลลัพธ์อย่างรอบคอบเช่นเดียวกับที่คุณเขียนโค้ดโดยสมาชิกในทีม

ข้อจำกัดที่ทราบ

ข้อจํากัดของเวิร์กโฟลว์

  • สามารถทําการเปลี่ยนแปลงในที่เก็บเดียวกันกับปัญหาหรือประชาสัมพันธ์ที่ได้รับมอบหมายเท่านั้น
  • ขอบเขตบริบทจะจํากัดเฉพาะที่เก็บที่กําหนดโดยค่าเริ่มต้น (สามารถขยายได้ผ่าน MCP)
  • เปิดคําขอดึงข้อมูลหนึ่งรายการต่องาน
  • ไม่สามารถแก้ไข PR ที่มีอยู่ที่ไม่ได้สร้างขึ้น (เพิ่มเป็นผู้ตรวจสอบหากคุณต้องการคําติชมแทนโดยใช้ประโยชน์จาก การตรวจสอบโค้ด GitHub Copilot)

ข้อจํากัดความเข้ากันได้

  • ไม่ลงนามในคอมมิต ถ้าคุณต้องการการคอมมิตที่ลงนาม คุณต้องเขียนประวัติการคอมมิตใหม่ก่อนที่จะรวม
  • ต้องใช้ตัววิ่ง Ubuntu x64 ที่โฮสต์โดย GitHub ไม่รองรับนักวิ่งที่โฮสต์เอง
  • ใช้ไม่ได้กับที่เก็บส่วนบุคคลที่บัญชีผู้ใช้ที่มีการจัดการ (รันไม่พร้อมใช้งาน)
  • ไม่ปฏิบัติตามการยกเว้นเนื้อหา ตัวแทนสามารถดูและอัปเดตไฟล์ที่ยกเว้นได้
  • นโยบาย "ข้อเสนอแนะที่ตรงกับรหัสสาธารณะ" ไม่ได้บังคับใช้โดยตัวแทน อาจไม่มีการอ้างอิง
  • ใช้งานได้กับที่เก็บที่โฮสต์โดย GitHub เท่านั้น
  • คุณไม่สามารถเปลี่ยนโมเดล AI ที่ตัวแทนใช้ได้ มันถูกเลือกโดย GitHub

ด้วยรั้วและขอบเขตที่ชัดเจน คุณก็พร้อมที่จะเริ่มมอบหมายงาน ติดตามความคืบหน้า และทําซ้ําผลลัพธ์โดยใช้เวิร์กโฟลว์การประชาสัมพันธ์มาตรฐานของคุณ