Puan ders bitince hesaba yazılır. Bu dersi tamamlayınca +50 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.
Yazılım bileşen analizi: bağımlılıklardaki gizli risk
Bugünün uygulamaları neredeyse hiç sıfırdan yazılmaz. Bir web sunucusu birkaç kütüphaneyle kurulur, o kütüphaneler kendi bağımlılıklarını çeker, onlar da kendilerininkini çeker. Sen yalnız doğrudan bağımlılıkları (direct dependencies) seçersin; geri kalan katman, senin hiç görmediğin dolaylı bağımlılıklar (transitive dependencies) olarak otomatik gelir. Küçük bir Altay Kargo mikroservisi, on paket seçse bile kurulum sonunda yüz elli, iki yüz pakete varabilir. Her paket, güvenlik açısından senin kodun kadar önemlidir; hangi satırın onu çalıştırdığını bilmesen bile, o kod üretimde çalışır. Bu yüzden 'ben bu paketi hiç kullanmıyorum' savunması, dolaylı katmanda geçerli değildir.
Bilinen açıklar CVE (Common Vulnerabilities and Exposures) kimliğiyle kayıt altına alınır ve açık veritabanlarında yayınlanır. Bir paketin belirli sürümünde CVE bulunması, o açığın senin uygulamanda otomatik olarak sömürülebilir olduğu anlamına gelmez. Asıl soru erişilebilirliktir (reachability): açık taşıyan fonksiyonu senin kodun gerçekten çağırıyor mu, çağırdığın yol saldırganın kontrol ettiği veriye açık mı? Büyük bir kütüphanenin uzak bir köşesindeki açık, sen o köşeyi hiç kullanmıyorsan pratikte risksiz kalabilir. Bazı SCA araçları bu değerlendirmeyi kısmen otomatikleştirir, çağrı grafiğini (call graph) tarayıp açık taşıyan fonksiyona giden gerçek bir yol olup olmadığını kontrol eder.