คืออะไร การวิเคราะห์ส่วนประกอบซอฟต์แวร์
การวิเคราะห์ช่องโหว่ของ dependency
SCA (Software Composition Analysis) คือกระบวนการวิเคราะห์ส่วนประกอบซอฟต์แวร์และ dependencies โดยอัตโนมัติเพื่อระบุช่องโหว่ที่รู้จัก
SCA วิเคราะห์อะไร
- ไลบรารีโอเพนซอร์ส — แพ็คเกจ npm, PyPI, Maven
- ใบอนุญาต — การปฏิบัติตามนโยบายบริษัท
- เวอร์ชันที่ล้าสมัย — ส่วนประกอบที่ไม่รองรับ
- ช่องโหว่ที่รู้จัก — CVE จากฐานข้อมูล
ฐานข้อมูลช่องโหว่
- NVD (National Vulnerability Database) — ฐานข้อมูลหลักของ NIST
- GitHub Advisory Database — ช่องโหว่ GitHub
- Snyk Vulnerability DB — ฐานข้อมูลเชิงพาณิชย์
- OSV (Open Source Vulnerabilities) — ฐานข้อมูล Google
เครื่องมือ SCA ที่นิยม
- Snyk — บริการคลาวด์พร้อมการรวม CI/CD
- Dependabot — PR อัตโนมัติพร้อมอัปเดต
- OWASP Dependency-Check — สแกนเนอร์ฟรี
- WhiteSource (Mend) — โซลูชันองค์กร
การรวมเข้ากับกระบวนการพัฒนา
- ตรวจสอบทุกการ commit
- บล็อกการ build เมื่อมีช่องโหว่ร้ายแรง
- สร้าง ticket อัตโนมัติ
- รายงานความปลอดภัยรายสัปดาห์