ตรวจสอบเครื่องมือรักษาความปลอดภัยและคุณภาพของโค้ดของ GitHub
GitHub มีชุดเครื่องมือด้านความปลอดภัยและคุณภาพของโค้ดที่ครอบคลุม ซึ่งช่วยคุณปกป้องโค้ด จัดการช่องโหว่ และรักษาฐานรหัสให้แข็งแรง ก่อนที่จะเจาะลึกข้อมูลเฉพาะของการสแกนลับ คุณควรทําความเข้าใจว่าการสแกนลับเหมาะสมกับระบบนิเวศความปลอดภัยที่กว้างขึ้นของ GitHub ที่ใด
ภาพรวมของเครื่องมือรักษาความปลอดภัยและคุณภาพโค้ดของ GitHub
GitHub จัดระเบียบคุณลักษณะด้านความปลอดภัยและคุณภาพของโค้ดออกเป็นหลายหมวดหมู่: ความปลอดภัยของห่วงโซ่อุปทาน ความปลอดภัยลับ ความปลอดภัยของโค้ด และคุณภาพของโค้ด คุณลักษณะบางอย่างมีอยู่ในแผน GitHub ทั้งหมด ในขณะที่คุณสมบัติอื่นๆ ต้องใช้ผลิตภัณฑ์เสริมแบบชําระเงิน: GitHub Secret Protection หรือ GitHub Code Security คุณสมบัติแบบชําระเงินจํานวนมากยังมีให้ใช้งานฟรีในที่เก็บสาธารณะ
ความปลอดภัยของห่วงโซ่อุปทาน
คุณลักษณะการรักษาความปลอดภัยของห่วงโซ่อุปทานช่วยให้คุณเข้าใจและปกป้องการพึ่งพาที่โครงการของคุณพึ่งพา
กราฟการขึ้นต่อกัน
กราฟการพึ่งพาช่วยให้คุณสํารวจแพ็คเกจและระบบนิเวศที่ที่เก็บของคุณพึ่งพา รวมถึงที่เก็บและแพ็คเกจที่ขึ้นอยู่กับที่เก็บของคุณ ช่วยให้มองเห็นแผนผังการพึ่งพาแบบเต็มของโครงการ ช่วยให้คุณเข้าใจว่าโค้ดของคุณมีการพึ่งพาภายนอกที่ใด
รายการวัสดุซอฟต์แวร์ (SBOM)
คุณสามารถส่งออกกราฟการขึ้นต่อกันของที่เก็บของคุณเป็นรายการวัสดุซอฟต์แวร์ (SBOM) ที่เข้ากันได้กับ SPDX SBOM จัดเตรียมสินค้าคงคลังที่เป็นทางการและเครื่องอ่านได้ของส่วนประกอบและการพึ่งพาของโครงการของคุณ ซึ่งจําเป็นมากขึ้นสําหรับวัตถุประสงค์ในการปฏิบัติตามข้อกําหนดและการตรวจสอบ
ฐานข้อมูลที่ปรึกษา GitHub
ฐานข้อมูลที่ปรึกษา GitHub เป็นรายการช่องโหว่ด้านความปลอดภัยที่ทราบซึ่งคุณสามารถเรียกดู ค้นหา และกรองได้ เมื่อพบช่องโหว่ในการขึ้นต่อกันอย่างใดอย่างหนึ่ง คุณสามารถตรวจสอบฐานข้อมูลนี้เพื่อดูรายละเอียดเกี่ยวกับช่องโหว่และผลกระทบของช่องโหว่ได้
การแจ้งเตือน Dependabot และการอัปเดตความปลอดภัย
Dependabot ตรวจสอบการพึ่งพาของคุณเพื่อหาช่องโหว่ด้านความปลอดภัยที่ทราบ เมื่อพบช่องโหว่ Dependabot จะสร้างการแจ้งเตือนและสามารถสร้างคําขอดึงข้อมูลโดยอัตโนมัติเพื่ออัปเดตการพึ่งพาที่ได้รับผลกระทบเป็นเวอร์ชันที่ปลอดภัย กฎการคัดกรองอัตโนมัติเริ่มต้นที่ดูแลโดย GitHub ช่วยกรองผลบวกที่ผิดพลาดออก
การอัปเดตเวอร์ชัน Dependabot
Dependabot ยังสามารถทําให้การพึ่งพาของคุณ up-toวันที่โดยการสร้างคําขอดึงข้อมูลโดยอัตโนมัติเมื่อมีเวอร์ชันที่ใหม่กว่า การรักษาการพึ่งพาให้เป็นปัจจุบันทําให้ง่ายต่อการใช้แพตช์ความปลอดภัยและลดความเสี่ยงต่อช่องโหว่
การตรวจสอบการพึ่งพา
การตรวจสอบการขึ้นต่อกันแสดงผลกระทบทั้งหมดของการเปลี่ยนแปลงการขึ้นต่อกันในคําขอดึงข้อมูล ก่อนที่จะรวมคําขอดึงข้อมูล คุณสามารถตรวจสอบการขึ้นต่อกันที่เพิ่ม ลบ หรืออัปเดต และดูว่ามีการแนะนําเวอร์ชันที่มีช่องโหว่หรือไม่ การตรวจสอบการขึ้นต่อกันต้องใช้ GitHub Code Security สําหรับที่เก็บส่วนตัว แต่พร้อมใช้งานฟรีในที่เก็บสาธารณะ
การรักษาความปลอดภัยที่เป็นความลับ
คุณลักษณะด้านความปลอดภัยที่เป็นความลับจะตรวจจับและป้องกันการเปิดเผยข้อมูลประจําตัวในฐานรหัสของคุณ
การแจ้งเตือนการสแกนลับสําหรับคู่ค้า
สําหรับที่เก็บสาธารณะ GitHub จะสแกนหารูปแบบลับที่รู้จักจากผู้ให้บริการกว่า 200 รายโดยอัตโนมัติ เมื่อตรวจพบข้อมูลลับที่รั่วไหล GitHub จะแจ้งให้ผู้ให้บริการที่เกี่ยวข้องทราบเพื่อให้พวกเขาสามารถเพิกถอนหรือหมุนเวียนข้อมูลประจําตัวที่ถูกบุกรุกได้ คุณลักษณะนี้เปิดใช้งานโดยค่าเริ่มต้นบนที่เก็บสาธารณะทั้งหมดโดยไม่มีค่าใช้จ่าย
การป้องกันแบบพุชสําหรับผู้ใช้
การป้องกันการพุชสําหรับผู้ใช้เป็นคุณลักษณะด้านความปลอดภัยส่วนบุคคลที่บล็อกคุณโดยอัตโนมัติไม่ให้ส่งข้อมูลลับไปยังที่เก็บสาธารณะโดยไม่ได้ตั้งใจ คุณลักษณะนี้เปิดอยู่ตามค่าเริ่มต้นสําหรับผู้ใช้ทุกคนและสามารถจัดการได้ผ่านการตั้งค่าบัญชีส่วนตัว
การแจ้งเตือนการสแกนลับสําหรับผู้ใช้
การแจ้งเตือนการสแกนข้อมูลลับสําหรับผู้ใช้จะขยายความสามารถในการตรวจจับเพื่อแจ้งให้ผู้ดูแลระบบที่เก็บและทีมรักษาความปลอดภัยทราบเมื่อพบข้อมูลลับในที่เก็บ คุณสามารถดูการแจ้งเตือนในแท็บความปลอดภัยของที่เก็บพร้อมรายละเอียดเกี่ยวกับประเภทข้อมูลลับ ตําแหน่ง และความถูกต้อง คุณลักษณะนี้ต้องใช้ GitHub Secret Protection สําหรับที่เก็บส่วนตัว แต่มีให้ใช้งานฟรีในที่เก็บสาธารณะ
การสแกนข้อมูลลับของ Copilot
การสแกนข้อมูลลับของ Copilot ใช้การตรวจจับข้อมูลลับทั่วไปที่ขับเคลื่อนด้วย AI เพื่อระบุความลับที่ไม่มีโครงสร้าง (เช่น รหัสผ่าน) ในซอร์สโค้ดของคุณที่ไม่ตรงกับรูปแบบที่รู้จักเฉพาะ คุณลักษณะนี้ขยายการตรวจจับนอกเหนือจากรูปแบบที่มีโครงสร้างที่การสแกนข้อมูลลับมาตรฐานระบุ
การป้องกันการกด (ระดับที่เก็บ)
การป้องกันแบบพุชจะบล็อกการคอมมิตที่มีรูปแบบความลับที่มีความเชื่อมั่นสูงก่อนที่จะถูกส่งไปยังที่เก็บ หากผู้สนับสนุนข้ามการบล็อก GitHub จะสร้างการแจ้งเตือน สําหรับที่เก็บส่วนตัว การป้องกันแบบพุชต้องใช้ GitHub Secret Protection มีให้บริการฟรีในที่เก็บสาธารณะ
บายพาสที่ได้รับมอบหมายสําหรับการป้องกันการกด
การบายพาสที่ได้รับมอบหมายช่วยให้คุณควบคุมได้ว่าบุคคล บทบาท และทีมใดสามารถเลี่ยงการป้องกันการพุชได้ ใช้กระบวนการตรวจสอบและอนุมัติสําหรับการพุชที่มีความลับ โดยเพิ่มชั้นการกํากับดูแลเพิ่มเติม
รูปแบบที่กําหนดเองสําหรับการสแกนลับ
องค์กรสามารถกําหนดรูปแบบที่กําหนดเองสําหรับการสแกนข้อมูลลับเพื่อตรวจจับข้อมูลประจําตัวและโทเค็นที่เฉพาะเจาะจงสําหรับระบบภายในของตนและไม่ครอบคลุมโดยรูปแบบเริ่มต้น
ความปลอดภัยของรหัส
คุณลักษณะความปลอดภัยของโค้ดช่วยคุณค้นหาและแก้ไขช่องโหว่ด้านความปลอดภัยในฐานรหัสของคุณ
การสแกนโค้ด
การสแกนโค้ดใช้การวิเคราะห์แบบคงที่เพื่อตรวจจับช่องโหว่ด้านความปลอดภัยและข้อผิดพลาดในการเข้ารหัสในโค้ดใหม่หรือโค้ดที่แก้ไขโดยอัตโนมัติ ปัญหาที่อาจเกิดขึ้นจะถูกเน้นด้วยข้อมูลโดยละเอียด เพื่อให้คุณสามารถแก้ไขได้ก่อนที่จะรวมเข้ากับสาขาเริ่มต้น การสแกนโค้ดต้องใช้ GitHub Code Security สําหรับที่เก็บส่วนตัว แต่มีให้บริการฟรีในที่เก็บสาธารณะ
รหัสคิวแอล CLI
CodeQL CLI ช่วยให้คุณเรียกใช้การวิเคราะห์ CodeQL ในโปรเจ็กต์ซอฟต์แวร์ของคุณและสร้างผลการสแกนโค้ดเพื่ออัปโหลดไปยัง GitHub เป็นเครื่องมือวิเคราะห์เดียวกันที่อยู่เบื้องหลังคุณสมบัติการสแกนโค้ดของ GitHub
Copilot Autofix สําหรับการสแกนโค้ด
Copilot Autofix จะสร้างการแก้ไขที่แนะนําสําหรับการแจ้งเตือนการสแกนโค้ดโดยอัตโนมัติ เมื่อการสแกนโค้ดตรวจพบช่องโหว่ Copilot Autofix จะให้คําแนะนําในการแก้ไขที่คุณสามารถตรวจสอบและนําไปใช้ได้ ซึ่งช่วยลดเวลาที่ต้องใช้ในการแก้ไขปัญหาได้อย่างมาก
กฎการคัดกรองอัตโนมัติแบบกําหนดเองสําหรับ Dependabot
กฎการคัดกรองอัตโนมัติแบบกําหนดเองช่วยให้คุณควบคุมวิธีจัดการการแจ้งเตือน Dependabot ในวงกว้าง คุณสามารถกําหนดค่ากฎเพื่อปิด เลื่อนปลุก หรือทริกเกอร์การอัปเดตความปลอดภัยโดยอัตโนมัติสําหรับการแจ้งเตือนที่เฉพาะเจาะจงตามลําดับความสําคัญขององค์กรของคุณ
แคมเปญความปลอดภัย
แคมเปญการรักษาความปลอดภัยช่วยให้องค์กรสามารถแก้ไขการแจ้งเตือนด้านความปลอดภัยในวงกว้างโดยการสร้างความพยายามที่ประสานกันเพื่อลดงานค้างด้านความปลอดภัย แคมเปญการรักษาความปลอดภัยช่วยจัดระเบียบและจัดลําดับความสําคัญของงานแก้ไขในหลายที่เก็บ
คุณภาพโค้ด
ฟีเจอร์คุณภาพของโค้ดช่วยให้คุณรักษาฐานโค้ดให้แข็งแรง เชื่อถือได้ และบํารุงรักษาได้
คุณภาพโค้ด GitHub
คุณภาพโค้ด GitHub ใช้การวิเคราะห์ตามกฎ CodeQL และการวิเคราะห์ที่ขับเคลื่อนด้วย AI เพื่อตั้งค่าสถานะปัญหาคุณภาพของโค้ดในคําขอดึงข้อมูลและการสแกนที่เก็บ คุณภาพของโค้ดระบุปัญหาความน่าเชื่อถือและการบํารุงรักษา ให้การแก้ไขอัตโนมัติที่ขับเคลื่อนด้วย Copilot และช่วยให้คุณสามารถตั้งค่าชุดกฎที่บังคับใช้มาตรฐานคุณภาพของโค้ดในคําขอดึงข้อมูล
Note
ขณะนี้ GitHub Code Quality อยู่ในการแสดงตัวอย่างสาธารณะ และพร้อมใช้งานสําหรับที่เก็บขององค์กรในแผน GitHub Team และ GitHub Enterprise Cloud
คุณสมบัติด้านความปลอดภัยทั่วไป
GitHub ยังมีคุณสมบัติการรักษาความปลอดภัยพื้นฐานที่สนับสนุนเสถียรภาพการรักษาความปลอดภัยโดยรวมของคุณ
นโยบายความปลอดภัย
คุณสามารถเพิ่มนโยบายความปลอดภัยลงในที่เก็บของคุณที่ให้คําแนะนําสําหรับผู้ใช้ในการรายงานช่องโหว่ด้านความปลอดภัยที่พวกเขาค้นพบในโครงการของคุณเป็นความลับ
คําแนะนําด้านความปลอดภัย
คําแนะนําด้านความปลอดภัยช่วยให้คุณสามารถพูดคุยและแก้ไขช่องโหว่ด้านความปลอดภัยในโค้ดของที่เก็บสาธารณะของคุณเป็นการส่วนตัว จากนั้นเผยแพร่คําแนะนําเพื่อแจ้งเตือนชุมชนของคุณและสนับสนุนการอัปเกรด
ชุดกฎของที่เก็บ
ชุดกฎของที่เก็บบังคับใช้มาตรฐานโค้ด ข้อกําหนดด้านความปลอดภัย และนโยบายการปฏิบัติตามข้อกําหนดที่สอดคล้องกันในสาขาและแท็กในที่เก็บของคุณ
การรับรองสิ่งประดิษฐ์
การรับรองสิ่งประดิษฐ์สร้างที่มาที่มาที่ปลอมแปลงไม่ได้และการรับประกันความสมบูรณ์สําหรับซอฟต์แวร์ที่คุณสร้างสร้างการเชื่อมโยงที่ตรวจสอบได้ระหว่างสิ่งประดิษฐ์บิลด์ของคุณกับซอร์สโค้ดและกระบวนการสร้างที่สร้างสิ่งประดิษฐ์เหล่านั้น
ภาพรวมการรักษาความปลอดภัย
ภาพรวมการรักษาความปลอดภัยมีแดชบอร์ดส่วนกลางเพื่อตรวจสอบภูมิทัศน์การรักษาความปลอดภัยโดยรวมขององค์กรของคุณ แสดงแนวโน้ม ข้อมูลเชิงลึก และการกําหนดค่าความปลอดภัย ทําให้ง่ายต่อการตรวจสอบสถานะความปลอดภัยขององค์กรของคุณและระบุที่เก็บที่มีความเสี่ยงมากที่สุด ภาพรวมความปลอดภัยพร้อมใช้งานกับ GitHub Secret Protection และ GitHub Code Security
เครื่องมือรักษาความปลอดภัย GitHub ตามความพร้อมใช้งานของแผน
ตารางต่อไปนี้สรุปเครื่องมือความปลอดภัยและคุณภาพของโค้ดของ GitHub แผน GitHub ขั้นต่ําที่จําเป็นในการใช้งาน และจําเป็นต้องใช้ GitHub Secret Protection หรือ GitHub Code Security Add-on หรือไม่
Note
GitHub Secret Protection และ GitHub Code Security เป็นผลิตภัณฑ์เสริมแบบชําระเงินที่องค์กรสามารถซื้อได้ในแผน GitHub Team และ GitHub Enterprise Cloud คุณสมบัติมากมายที่รวมอยู่ในผลิตภัณฑ์เสริมเหล่านี้ยังมีให้ใช้งานฟรีบนที่เก็บสาธารณะตามที่ระบุไว้ในตารางด้านล่าง
| เครื่องมือ | แผน GitHub ขั้นต่ํา | ที่เก็บสาธารณะ | ที่เก็บส่วนตัว | การป้องกันความลับของ GitHub | ความปลอดภัยของรหัส GitHub |
|---|---|---|---|---|---|
| ความปลอดภัยของห่วงโซ่อุปทาน | |||||
| กราฟการขึ้นต่อกัน | แผนทั้งหมด | ✅ | ✅ | — | — |
| รายการวัสดุซอฟต์แวร์ (SBOM) | แผนทั้งหมด | ✅ | ✅ | — | — |
| ฐานข้อมูลที่ปรึกษา GitHub | แผนทั้งหมด | ✅ | ✅ | — | — |
| การแจ้งเตือน Dependabot และการอัปเดตความปลอดภัย | แผนทั้งหมด | ✅ | ✅ | — | — |
| การอัปเดตเวอร์ชัน Dependabot | แผนทั้งหมด | ✅ | ✅ | — | — |
| การตรวจสอบการพึ่งพา | แผนทั้งหมด (สาธารณะ) / ทีม GitHub (ส่วนตัว) | ✅ | — | — | ✅ |
| กฎการคัดกรองอัตโนมัติแบบกําหนดเองสําหรับ Dependabot | แผนทั้งหมด (สาธารณะ) / ทีม GitHub (ส่วนตัว) | ✅ | — | — | ✅ |
| การรักษาความปลอดภัยที่เป็นความลับ | |||||
| การแจ้งเตือนการสแกนลับสําหรับคู่ค้า | แผนทั้งหมด | ✅ | — | — | — |
| การป้องกันแบบพุชสําหรับผู้ใช้ | แผนทั้งหมด | ✅ | — | — | — |
| การแจ้งเตือนการสแกนลับสําหรับผู้ใช้ | แผนทั้งหมด (สาธารณะ) / ทีม GitHub (ส่วนตัว) | ✅ | — | ✅ | — |
| การป้องกันการกด (ระดับที่เก็บ) | แผนทั้งหมด (สาธารณะ) / ทีม GitHub (ส่วนตัว) | ✅ | — | ✅ | — |
| การสแกนข้อมูลลับของ Copilot | ทีมงาน GitHub | — | — | ✅ | — |
| บายพาสที่ได้รับมอบหมายสําหรับการป้องกันการกด | ทีมงาน GitHub | — | — | ✅ | — |
| รูปแบบที่กําหนดเองสําหรับการสแกนลับ | ทีมงาน GitHub | — | — | ✅ | — |
| ความปลอดภัยของรหัส | |||||
| การสแกนโค้ด | แผนทั้งหมด (สาธารณะ) / ทีม GitHub (ส่วนตัว) | ✅ | — | — | ✅ |
| รหัสคิวแอล CLI | แผนทั้งหมด (สาธารณะ) / ทีม GitHub (ส่วนตัว) | ✅ | — | — | ✅ |
| Copilot Autofix สําหรับการสแกนโค้ด | แผนทั้งหมด (สาธารณะ) / ทีม GitHub (ส่วนตัว) | ✅ | — | — | ✅ |
| แคมเปญความปลอดภัย | ทีมงาน GitHub | — | — | — | ✅ |
| คุณภาพของโค้ด | |||||
| คุณภาพโค้ด GitHub | ทีมงาน GitHub * | — | — | — | ✅ |
| ความปลอดภัยทั่วไป | |||||
| นโยบายความปลอดภัย | แผนทั้งหมด | ✅ | ✅ | — | — |
| คําแนะนําด้านความปลอดภัย | แผนทั้งหมด | ✅ | ✅ | — | — |
| ชุดกฎของที่เก็บ | แผนทั้งหมด | ✅ | ✅ | — | — |
| การรับรองสิ่งประดิษฐ์ | แผนทั้งหมด (สาธารณะ) / GitHub Enterprise Cloud (ส่วนตัว) | ✅ | ✅ ** | — | — |
| ภาพรวมการรักษาความปลอดภัย | ทีมงาน GitHub | — | — | ✅ | ✅ |
* คุณภาพโค้ด GitHub อยู่ในการแสดงตัวอย่างสาธารณะ
** การรับรองสิ่งประดิษฐ์สําหรับที่เก็บส่วนตัวต้องใช้ GitHub Enterprise Cloud
ในตารางด้านบน "แผนทั้งหมด" หมายความว่าเครื่องมือนี้พร้อมใช้งานโดยไม่มีค่าใช้จ่ายเพิ่มเติมในทุกแผน GitHub รวมถึงแผนฟรี (GitHub ฟรีสําหรับบัญชีส่วนตัวและ GitHub ฟรีสําหรับองค์กร) "ทีม GitHub" หมายถึงแผนขั้นต่ําที่จําเป็นคือ GitHub Team หรือ GitHub Enterprise Cloud ซึ่งทั้งสองแผนนี้เป็นแผนชําระเงินที่รองรับการซื้อผลิตภัณฑ์เสริม GitHub Secret Protection และ GitHub Code Security ข้อมูลราคาโดยละเอียดสามารถดูได้จาก GitHub
เครื่องมือรักษาความปลอดภัยของ GitHub ทํางานร่วมกันอย่างไร
เครื่องมือด้านความปลอดภัยและคุณภาพของโค้ดของ GitHub ได้รับการออกแบบมาให้ทํางานเป็นเลเยอร์เสริม โดยให้การป้องกันที่ครอบคลุมในมิติต่างๆ ของฐานโค้ดของคุณ
- ความปลอดภัยของห่วงโซ่อุปทาน (Dependabot, กราฟการขึ้นต่อกัน, การตรวจสอบการพึ่งพา) จะปกป้องคุณจากแพ็คเกจของบุคคลที่สามที่มีช่องโหว่
- การรักษาความปลอดภัยที่เป็นความลับ (การสแกนลับ การป้องกันการพุช) ป้องกันการเปิดเผยข้อมูลประจําตัว
- ความปลอดภัยของโค้ด (การสแกนโค้ด, CodeQL) จะระบุช่องโหว่ด้านความปลอดภัยในโค้ดของคุณเอง
- คุณภาพของโค้ด ช่วยรักษาโค้ดที่เชื่อถือได้และบํารุงรักษาได้เพื่อลดหนี้ทางเทคนิค
เครื่องมือเหล่านี้ร่วมกันสร้างแนวทางการรักษาความปลอดภัยในเชิงลึกที่จัดการกับช่องโหว่จากหลายมุม ตัวอย่างเช่น การสแกนข้อมูลลับอาจตรวจพบคีย์ API ที่รั่วไหล Dependabot จะแจ้งเตือนคุณถึงการพึ่งพาที่มีช่องโหว่ที่คีย์ API เข้าถึง และการสแกนโค้ดจะระบุช่องโหว่ในการแทรก SQL ในโค้ดที่ใช้การพึ่งพานั้น แต่ละชั้นเติมเต็มช่องว่างที่ชั้นอื่นไม่ครอบคลุม
ในโมดูลนี้ คุณจะมุ่งเน้นไปที่ การสแกนความลับ และการ ป้องกันการพุช ซึ่งเป็นรากฐานที่สําคัญของความสามารถด้านความปลอดภัยที่เป็นความลับของ GitHub