การรักษาความปลอดภัยขั้นสูงของ GitHub คืออะไร

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

GitHub มีคุณลักษณะมากมายที่ช่วยให้คุณปรับปรุงและรักษาคุณภาพของโค้ดของคุณ คุณลักษณะบางอย่างเหล่านี้รวมอยู่ในแผนทั้งหมด เช่น กราฟการขึ้นต่อกันและการแจ้งเตือน Dependabot บางรายการมีฟังก์ชันการทํางานที่จํากัดในที่เก็บสาธารณะ ในขณะที่ความสามารถขั้นสูงสําหรับที่เก็บส่วนตัวต้องการ GitHub Code Security และ GitHub Secret Protection

ในหน่วยนี้ คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับ GitHub Advanced Security และค้นพบว่าโครงการที่มีความสามารถด้านความปลอดภัยขั้นสูงมีลักษณะอย่างไร

ภาพรวม GitHub Advanced Security

ความสามารถของ GitHub Advanced Security ถูกส่งมอบผ่านสองผลิตภัณฑ์หลัก:

  • ความปลอดภัยของรหัส GitHub (การตรวจจับและแก้ไขช่องโหว่)
  • GitHub Secret Protection (การตรวจจับและป้องกันความลับ)

ผลิตภัณฑ์เหล่านี้ร่วมกันเป็นแพลตฟอร์มการรักษาความปลอดภัยที่กว้างขึ้นซึ่งขยายออกไปนอกเหนือจากชุดคุณลักษณะ GitHub Advanced Security ดั้งเดิม

ความพร้อมใช้งานฟีเจอร์

ตารางต่อไปนี้สรุปความพร้อมใช้งานของคุณลักษณะด้านความปลอดภัย GitHub ในประเภทที่เก็บและผลิตภัณฑ์ต่างๆ

คุณลักษณะของ ที่เก็บข้อมูลสาธารณะของ ที่เก็บส่วนตัว ความปลอดภัยของรหัส GitHub การป้องกันความลับของ GitHub
การสแกนโค้ด (CodeQL) ใช่ ไม่ใช่ ใช่ ไม่ใช่
Copilot แก้ไขอัตโนมัติ มี (จํากัด) ไม่ใช่ ใช่ ไม่ใช่
ตรวจทานการขึ้นต่อกัน ใช่ ไม่ใช่ ใช่ ไม่ใช่
การแจ้งเตือน Dependabot ใช่ ใช่ ใช่ ไม่ใช่
กฎการคัดกรองอัตโนมัติของ Dependabot ไม่ใช่ ไม่ใช่ ใช่ ไม่ใช่
แคมเปญความปลอดภัย ไม่ใช่ ไม่ใช่ ใช่ ไม่ใช่
ภาพรวมความปลอดภัย ไม่ใช่ ไม่ใช่ ใช่ ไม่ใช่
การสแกนข้อมูลลับ มี (พื้นฐาน) ไม่ใช่ ไม่ใช่ ใช่
การป้องกันการกด ไม่ใช่ ไม่ใช่ ไม่ใช่ ใช่
รูปแบบลับที่กําหนดเอง ไม่ใช่ ไม่ใช่ ไม่ใช่ ใช่

คุณลักษณะด้านความปลอดภัยหลักหลายอย่าง รวมถึงการสแกนโค้ด การสแกนข้อมูลลับพื้นฐาน การตรวจสอบการขึ้นต่อกัน และการแจ้งเตือน Dependabot จะพร้อมใช้งานตามค่าเริ่มต้นสําหรับที่เก็บสาธารณะบน GitHub.com ความสามารถขั้นสูงสําหรับที่เก็บส่วนตัวและภายในจําเป็นต้องมี GitHub Enterprise Cloud หรือ GitHub Team ที่เปิดใช้งาน GitHub Code Security และ/หรือ GitHub Secret Protection

GitHub Code Security และ GitHub Secret Protection มอบความสามารถที่ได้รับการปรับปรุงต่อไปนี้สําหรับที่เก็บส่วนตัวและภายใน:

  • การสแกนโค้ด (CodeQL): ตรวจจับช่องโหว่และข้อผิดพลาดในการเข้ารหัสโดยอัตโนมัติ และรองรับการแก้ไขโดยใช้ AI ผ่าน Copilot Autofix (เมื่อเปิดใช้งาน)
  • การสแกนลับ: ตรวจจับความลับที่เปิดเผยในโค้ด บล็อกการรั่วไหลด้วยการป้องกันแบบพุช รองรับรูปแบบความลับแบบกําหนดเอง และให้เวิร์กโฟลว์การแจ้งเตือนและการแก้ไขที่ได้รับการปรับปรุง
  • การตรวจสอบการพึ่งพา: แสดงผลกระทบของการเปลี่ยนแปลงการพึ่งพาและเน้นเวอร์ชันที่มีช่องโหว่ก่อนที่จะรวมคําขอดึงข้อมูล
  • ภาพรวมความปลอดภัย: ให้การมองเห็นทั่วทั้งองค์กรเกี่ยวกับเสถียรภาพการรักษาความปลอดภัย ความเสี่ยง และการแจ้งเตือนระดับที่เก็บ
  • แคมเปญความปลอดภัย: ช่วยให้องค์กรสามารถจัดกลุ่ม จัดลําดับความสําคัญ และแก้ไขการแจ้งเตือนความปลอดภัยหลายรายการอย่างเป็นระบบทั่วทั้งที่เก็บ ซึ่งช่วยให้ทีมลดช่องโหว่ได้เร็วขึ้นและในวงกว้าง

หมายเหตุสําคัญ

GitHub ได้พัฒนาจากชุด GitHub Advanced Security ชุดเดียวเป็นแพลตฟอร์มโมดูลาร์ที่ประกอบด้วย:

  • ความปลอดภัยของรหัส GitHub
  • การป้องกันความลับของ GitHub

ประเด็นสําคัญอื่น ๆ ได้แก่ :

  • ที่เก็บสาธารณะยังคงได้รับพื้นฐานที่แข็งแกร่งของคุณสมบัติความปลอดภัยฟรี
  • คุณลักษณะขั้นสูงมุ่งเน้นไปที่การป้องกัน (เช่น การป้องกันการผลักดัน) ระบบอัตโนมัติ และการแก้ไขโดยใช้ AI ช่วย

การรักษาความปลอดภัยขั้นสูงของ GitHub ในวงจรชีวิตการพัฒนาซอฟต์แวร์

คุณลักษณะ GitHub Advanced Security สร้างความแตกต่างอย่างไรในวงจรการพัฒนาซอฟต์แวร์ ก่อนอื่นเรามาดูสถานการณ์การรักษาความปลอดภัยขั้นพื้นฐานกัน

ไดอะแกรมที่แสดงการแสดงขั้นตอนต่างๆ ของวงจรการพัฒนาซอฟต์แวร์ในแนวทางการรักษาความปลอดภัยแบบดั้งเดิม

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

ตอนนี้มาดูวงจรชีวิตการพัฒนาซอฟต์แวร์เดียวกันด้วย GitHub Advanced Security

แผนภาพที่แสดงถึงขั้นตอนต่างๆ ของวงจรชีวิตการพัฒนาซอฟต์แวร์ด้วยการรักษาความปลอดภัยขั้นสูงของ GitHub

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

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

นอกจากนี้ ภาพรวมความปลอดภัย ยังช่วยให้ผู้ดูแลระบบมีมุมมองระดับสูงเกี่ยวกับเสถียรภาพการรักษาความปลอดภัยขององค์กร มุมมองนี้ช่วยระบุที่เก็บที่ต้องให้ความสนใจหรือแก้ไข

เนื่องจากการตรวจสอบความปลอดภัยเกิดขึ้นตลอดวงจรการพัฒนา จึงมีการระบุและแก้ไขปัญหาที่อาจเกิดขึ้นก่อนหน้านี้ วิธีการนี้ช่วยลดปัญหาคอขวดระหว่างการประกันคุณภาพและลดหนี้ทางเทคนิคก่อนที่ซอฟต์แวร์จะเปิดตัว