การรักษาความปลอดภัยขั้นสูงของ 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
ในสถานการณ์สมมตินี้ การรักษาความปลอดภัยจะถูกรวมตั้งแต่เริ่มต้นผ่านนโยบายความปลอดภัยที่กําหนดค่าระหว่างการตั้งค่าโครงการ นักพัฒนาจะได้รับข้อเสนอแนะด้านความปลอดภัยตลอดกระบวนการพัฒนา
- การสแกนโค้ด: สแกนทุกคอมมิตและผสานเพื่อหาช่องโหว่และข้อผิดพลาดในการเข้ารหัส
- การสแกนลับ: สแกนทุกคอมมิตและผสานเพื่อหาความลับที่ผิดพลาดโดยไม่ได้ตั้งใจ เช่น โทเค็นและคีย์ส่วนตัว
- การตรวจสอบการพึ่งพา: ตรวจสอบการเปลี่ยนแปลงการพึ่งพาและประเมินผลกระทบต่อความปลอดภัยของโครงการโดยการเปรียบเทียบไฟล์ Manifest กับฐานข้อมูลของช่องโหว่ที่ทราบระหว่างทุกคําขอดึงข้อมูล
นอกจากนี้ ภาพรวมความปลอดภัย ยังช่วยให้ผู้ดูแลระบบมีมุมมองระดับสูงเกี่ยวกับเสถียรภาพการรักษาความปลอดภัยขององค์กร มุมมองนี้ช่วยระบุที่เก็บที่ต้องให้ความสนใจหรือแก้ไข
เนื่องจากการตรวจสอบความปลอดภัยเกิดขึ้นตลอดวงจรการพัฒนา จึงมีการระบุและแก้ไขปัญหาที่อาจเกิดขึ้นก่อนหน้านี้ วิธีการนี้ช่วยลดปัญหาคอขวดระหว่างการประกันคุณภาพและลดหนี้ทางเทคนิคก่อนที่ซอฟต์แวร์จะเปิดตัว