ในยุคที่ซอฟต์แวร์ทางการค้าเกือบทั้งหมด มักจะประกอบได้ด้วยโค้ดโปรเจ็คโอเพ่นซอร์ส คำถามคือจะมีหนทางไหนที่สามารถช่วยตรวจสอบซอฟต์แวร์ Open Source เหล่านั้นได้ง่ายและรวดเร็ว ตัวช่วยในวันนี้ก็คือโปรเจ็ค Scorecards 2.0 จากความร่วมมือของ Google และ Open Source Security Foundation (OSSF) นั่นเอง

Scorecards เป็นเครื่องมือที่จะช่วยประเมินเรื่องความมั่นคงปลอดภัยของโปรเจ็ค Open Source อย่างอัตโนมัติ ซึ่งปกติแล้วองค์กรอาจจะทำได้ด้วยตัวเองแต่ก็ต้องเปลืองทรัพยากรบุคคลไปมากทั้งๆที่ก็หายากอยู่แล้ว สำหรับเวอร์ชันใหม่มีฟีเจอร์เพิ่มเติมในด้านต่างๆดังนี้
- Identifying Risk – เพิ่มการตรวจสอบใหม่ตามเฟรมเวิร์ก Know, Prevent, Fix ของ Google
- Malicious Contributor – มีการตรวจสอบ Branch Protection ซึ่งนักพัฒนาสามารถรีวิวโค้ดก่อน Commit ได้
- Vulnerable Code – ตรวจสอบว่าโปรเจ็คมีการใช้งานเครื่องมือ Fuzzing และ SAST ในขั้นตอนของ CI/CD ไหมซึ่งเป็นสิ่งที่ควรทำตั้งแต่ขั้นตอนการพัฒนา
- System Compromise – เครื่องมือ CI/CD ที่มักถูกใช้โดย GitHub Project ก็คือ GitHub Action ซึ่งความอันตรายก็คืออาจรับเอาอินพุตน์ที่ไม่น่าเชื่อถือเข้ามาได้ เช่น สามารถ Pull Request เพื่อเข้าถึง GitHub Token ที่สำคัญ หรือ Push โค้ดโดยไม่ผ่านการรีวิว ดังนั้น Scorecards สามารถตรวจสอบ Token Permission ว่า GitHub Workflows มีการปฏิบัติตาม Least Privilege หรือไม่
- Dependency – ตรวจสอบข้อมูลว่าเปิดเผย Dependencies ที่นำเข้ามาใช้หรือไม่
ในส่วนของการป้องกันเทคนิคอันตรายอย่าง Scorecards ยังมีความสามารถตรวจสอบไบนารีด้วยเครื่องมือ Binary-artifact รวมถึงสามารถตรวจสอบ Hash ของ Dependency ที่เรียกเข้ามาเทียบกับ Hash ที่ทำเอาไว้ด้วย Frozen-Dep นอกจากนี้ปกติแล้วเมื่อเราทำ hash-pinning ก็ต้องมีการอัปเดต Hash หาก Dependency ต้นทางมีการอัปเดต ซึ่งปกติแล้วมีเครื่องมือช่วยอย่างเช่น Dependabot หรือ renovatebot โดยทาง Scorecards จะเข้าไปดูด้วยว่าโปรเจ็คมีการใช้เครื่องอัปเดต Hash ตามหรือเปล่า
ท่านใดสนใจรายละเอียดทั้งหมดสามารถเข้าชมได้ที่ https://github.com/ossf/scorecard/
ที่มา : https://www.zdnet.com/article/google-releases-new-open-source-security-software-program-scorecards/