Codex Security เป็นพรีวิวงานวิจัยที่ช่วยทีมระบุ ยืนยัน และแก้ไขช่องโหว่ในโค้ด โดยออกแบบมาให้ทำงานคล้ายนักวิจัยด้านความปลอดภัยมากกว่าเครื่องสแกนแบบดั้งเดิม กล่าวคือ มันอ่านโค้ด รันการทดสอบ สำรวจเส้นทางการโจมตีที่สมจริง และเสนอแพตช์ให้ทีมตรวจสอบได้ในเวิร์กโฟลว์ปกติของตน
ภาพรวม
ปัจจุบัน Codex Security เชื่อมต่อกับ GitHub Repository ได้โดยตรง หลังจากที่คุณเปิดใช้งาน Repository แล้ว ระบบจะสร้างโมเดลภัยคุกคามที่เฉพาะกับโค้ดเบส สแกนประวัติ Repository ยืนยันช่องโหว่ที่อาจเกิดขึ้นในสภาพแวดล้อมแยก และแสดงการแก้ไขที่เสนอไว้เพื่อให้มนุษย์ตรวจสอบ
Codex Security สร้างขึ้นบน 3 ขั้นตอนหลัก ได้แก่ การระบุ การยืนยัน และการแก้ไข ในช่วงการระบุ ระบบจะวิเคราะห์ Repository และสำรวจเส้นทางการโจมตีที่สมจริง ในช่วงการยืนยัน ระบบจะพยายามทำซ้ำแต่ละปัญหาเพื่อยืนยันว่าเป็นปัญหาจริง ในช่วงการแก้ไข ระบบจะสร้างแพตช์ที่ชัดเจนซึ่งทีมสามารถตรวจสอบและยกระดับเป็น Pull Request ได้
Codex Security ทำงานอย่างไร
เมื่อ Codex Security เชื่อมต่อกับ Repository ระบบจะสแกน commit ย้อนตามลำดับเวลาและสร้างโมเดลภัยคุกคามที่เฉพาะกับโค้ดเบส โมเดลนั้นจะครอบคลุมจุดเข้าสำหรับผู้โจมตี ขอบเขตความเชื่อถือ ข้อมูลที่มีความอ่อนไหว และเส้นทางโค้ดที่มีผลกระทบสูง ซึ่ง Codex ใช้เพื่อมุ่งการวิเคราะห์ไปยังสถานการณ์การโจมตีที่สมจริง ทีมสามารถตรวจสอบและแก้ไขโมเดลภัยคุกคามได้ เพื่อให้สอดคล้องกับสมมติฐานการ deploy จริงของตน
Codex Security ใช้เวิร์กโฟลว์การแก้ไขแบบวงจรปิดดังนี้:
สแกน Repository: Codex เชื่อมต่อกับ GitHub Repository ของคุณ วิเคราะห์โค้ดเบส และสร้างโมเดลภัยคุกคามจาก Repository และประวัติ commit
ค้นพบช่องโหว่: Codex ใช้โมเดลภัยคุกคามนั้นเพื่อสำรวจเส้นทางโค้ดที่สมจริงและระบุช่องโหว่ที่อาจเกิดขึ้น
ยืนยันในแซนด์บ็อกซ์: Codex รันตัวตรวจสอบอัตโนมัติในสภาพแวดล้อมแยก เพื่อทำซ้ำปัญหา บันทึกรายละเอียดการทำงาน และยืนยันความสามารถในการโจมตีก่อนแสดงผลการค้นพบ
สร้างแพตช์: สำหรับช่องโหว่ที่ยืนยันแล้ว Codex จะสร้างข้อเสนอแพตช์แบบน้อยที่สุดที่แก้สาเหตุราก
การตรวจสอบโดยมนุษย์และ Pull Request: แพตช์จะไม่แก้ไขโค้ดของคุณโดยอัตโนมัติ แต่จะแสดงให้มนุษย์ตรวจสอบ และสามารถเปลี่ยนเป็น Pull Request สำหรับเวิร์กโฟลว์ปกติของคุณได้
ยืนยันซ้ำหลังการแก้ไข: หลังจากที่ปัญหาที่ยืนยันแล้วถูกแพตช์และ merge แล้ว Codex สามารถยืนยันการแก้ไขซ้ำได้ เพื่อปิดวงจรตั้งแต่การตรวจพบจนถึงการแก้ไข
สำหรับแต่ละผลการค้นพบ Codex Security สามารถสร้างการวิเคราะห์เส้นทางการโจมตีที่แสดงให้เห็นว่าอินพุตที่ผู้โจมตีควบคุมได้อาจเคลื่อนจากจุดเข้าไปสู่ผลลัพธ์ที่อ่อนไหวได้อย่างไร ระบบจะให้คะแนนเส้นทางนั้นตามความเป็นไปได้และผลกระทบ พร้อมแสดงสมมติฐานเบื้องหลังอย่างชัดเจน ซึ่งช่วยให้ทีมจัดลำดับความสำคัญของความเสี่ยงที่สมจริงมากกว่าการแจ้งเตือนแบบแยกส่วน
ก่อนแสดงผลการค้นพบ Codex Security จะพยายามทำซ้ำในสภาพแวดล้อมแยก ตัวตรวจสอบจะบันทึกผลการทำซ้ำ รายละเอียดการทำงาน และอาร์ติแฟกต์ proof-of-concept เพื่อให้ทีมมุ่งเน้นกับผลการค้นพบที่พิสูจน์แล้วว่าใช้งานได้จริง
สำหรับผลการค้นพบที่ยืนยันแล้ว Codex Security จะเสนอแพตช์แบบน้อยที่สุดที่แก้สาเหตุราก ระบบจะไม่แก้ไขโค้ดของคุณโดยอัตโนมัติ แต่จะแสดงแพตช์เพื่อให้มนุษย์ตรวจสอบ และสามารถเปลี่ยนเป็น Pull Request ในเวิร์กโฟลว์ที่คุณใช้อยู่ได้
เริ่มต้นใช้งาน
ไปที่ chatgpt.com/codex/security
เชื่อมต่อและเปิดใช้งาน GitHub Repository ที่คุณต้องการให้ Codex Security สแกน
รอให้การสแกนครั้งแรกเสร็จสิ้น โดย Codex Security จะสร้างโมเดลภัยคุกคามสำหรับโปรเจกต์ก่อน แล้วสแกนประวัติ Repository เพื่อหาช่องโหว่ที่มีอยู่ กระบวนการนี้อาจใช้เวลานานขึ้นสำหรับโปรเจกต์ขนาดใหญ่ ส่วนการสแกนโค้ดใหม่จะเร็วกว่า
ตรวจสอบผลการค้นพบ รายละเอียดการยืนยัน และแพตช์ที่เสนอ
การควบคุมการเข้าถึงตามบทบาท (RBAC)
สำหรับเวิร์กสเปซ Enterprise และ Edu ผู้ดูแลระบบสามารถจัดการการเข้าถึง Codex Security ได้ในการอนุญาตของเวิร์กสเปซ Codex Security ต้องเปิดใช้งานทั้ง Codex Cloud และ Codex Security สำหรับเวิร์กสเปซ นอกจากนี้ยังสามารถจำกัดการเข้าถึงตามบทบาทหรือกลุ่มที่เฉพาะเจาะจงผ่าน RBAC รวมถึงกลุ่มที่ซิงก์ผ่าน SCIM
หากต้องการอัปเดตการอนุญาตของเวิร์กสเปซ:
ใน ChatGPT ให้คลิกไอคอนโปรไฟล์ของคุณ แล้วเลือก Workspace Settings -> Permissions เพื่อไปที่หน้า workspace permissions
เลื่อนลงไปที่ Codex Cloud
ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานการเข้าถึง Codex Cloud แล้ว
เปิดหรือปิดการเข้าถึงโดยสลับ Allow members to use Codex Security.
ดูข้อมูลเพิ่มเติมเกี่ยวกับการควบคุมการเข้าถึงตามบทบาทในเวิร์กสเปซ ChatGPT ของคุณ
แนวทางปฏิบัติที่แนะนำ
เริ่มจากชุด Repository ขนาดเล็กและกลุ่มผู้ตรวจสอบเฉพาะทาง เราแนะนำให้ทยอยเปิดใช้งานอย่างจำกัดก่อน โดยเฉพาะในช่วงที่การเริ่มใช้งานและการแชร์ช่องโหว่ยังค่อนข้างเป็นงานแบบทำด้วยตนเอง
ปรับแต่งโมเดลภัยคุกคามไปตามสิ่งที่คุณเรียนรู้ การอัปเดตโมเดลเพียงเล็กน้อยสามารถเพิ่มบริบทและทำให้ผลการค้นพบแม่นยำขึ้นเมื่อเวลาผ่านไป
หากปัจจุบันคุณยังไม่ได้ใช้ GitHub Cloud ให้พิจารณาเริ่มต้นด้วย Repository ที่มีความเสี่ยงต่ำหรือไม่ใช่โปรดักชันเพื่อการประเมิน วิธีนี้ช่วยให้ทีมสร้างความมั่นใจในเวิร์กโฟลว์ก่อนขยายการใช้งานในวงกว้าง
ตรวจสอบ PR ของแพตช์ที่สร้างขึ้นด้วยกระบวนการรีวิวตามปกติของคุณ นอกจากนี้ เรายังแนะนำให้ใช้ Codex Code Review กับ PR ของ Codex Security เพื่อให้การแก้ไขไม่ก่อให้เกิด regression
คำถามที่พบบ่อย
Codex Security เปลี่ยนโค้ดของฉันโดยอัตโนมัติหรือไม่?
ไม่ Codex Security จะเสนอแพตช์เพื่อให้มนุษย์ตรวจสอบ ข้อเสนอนั้นสามารถเปลี่ยนเป็น Pull Request ได้ แต่จะไม่แก้ไขโค้ดของคุณโดยอัตโนมัติ
Codex Security พึ่งพา fuzzing หรือการสแกนแบบอิง signature หรือไม่?
ไม่ Codex Security ใช้การให้เหตุผลของ language model, test-time compute, การใช้เครื่องมือ และบริบทขนาดใหญ่ แทนที่จะใช้ fuzzing หรือการสแกนแบบอิง signature
ฉันสามารถตรวจสอบหรือแก้ไขโมเดลภัยคุกคามได้หรือไม่?
ได้ โมเดลภัยคุกคามสามารถมองเห็นและแก้ไขได้ ดังนั้นทีมจึงสามารถตรวจสอบได้ว่า Codex Security เข้าใจแอปพลิเคชันอย่างไร และอัปเดตสมมติฐานให้ตรงกับสภาพแวดล้อมของตน
การยืนยันหมายถึงอะไร?
การยืนยันคือขั้นตอนที่ Codex Security พยายามทำซ้ำช่องโหว่ที่อาจเกิดขึ้นในสภาพแวดล้อมแยกก่อนแสดงผล จุดประสงค์คือเพื่อลดผลบวกลวงและทำให้ผลการค้นพบมีสัญญาณรบกวนน้อย
เกิดอะไรขึ้นหลังจากยืนยันผลการค้นพบแล้ว?
หลังการยืนยัน Codex Security จะเสนอแพตช์ที่แก้สาเหตุราก และสามารถเปลี่ยนเป็น Pull Request เพื่อการตรวจสอบได้
