Bağımlılık Taraması Nedir?
İngilizce: Software Composition Analysis
Yayın: · Son güncelleme:
Bağımlılık Taraması Nedir? Kısaca
Bağımlılık taraması (SCA), bir yazılımın kullandığı açık kaynak kütüphaneleri ve paketleri listeleyip bunlarda bilinen güvenlik açıkları veya lisans sorunları olup olmadığını kontrol eden analizdir.

Bağımlılık taraması nedir?
Bağımlılık taraması, uygulamanızın kendi kodunu değil, kullandığı hazır kütüphaneleri inceler. İngilizcede "Software Composition Analysis" (SCA) olarak geçer. Modern bir web uygulamasının kodunun büyük kısmı açık kaynak paketlerden oluşabildiği için bu tarama ayrı bir güvenlik katmanı sayılır.
Nasıl çalışır?
Araç önce paket dosyalarını okuyarak hangi kütüphanelerin hangi sürümlerinin kullanıldığını çıkarır. Doğrudan eklediğiniz paketler kadar, onların da bağlı olduğu dolaylı paketler listeye girer. Ardından bu liste, CVE gibi kamuya açık zafiyet veritabanlarıyla karşılaştırılır.
Sonuçta hangi paketin hangi açıktan etkilendiği, açığın önem puanı ve sorunu çözen sürüm raporlanır. Bazı araçlar güncelleme için otomatik değişiklik önerisi de hazırlar.
Örnek: dolaylı bağımlılık
Bir ekip, tarih biçimlendirmek için küçük bir kütüphane ekliyor. Bu kütüphanenin içinde kullanılan başka bir paketin eski sürümünde uzaktan kod çalıştırmaya izin veren bir açık bulunuyor. Ekip bu paketi hiç doğrudan eklemediği için farkında değildir, ama tarama aracı riski yakalar ve güncel sürüme geçilmesini önerir.
Nelere dikkat etmeli?
Taramayı yalnızca bir kez değil, sürekli yapın. Bugün temiz görünen bir kütüphane için yarın yeni bir açık yayımlanabilir. Kullanmadığınız paketleri projeden çıkarmak hem saldırı yüzeyini hem de bakım yükünü azaltır.
Lisans kontrolü de taramanın bir parçasıdır. Ticari bir üründe, kaynak kodunuzu açmanızı gerektirebilecek bir lisansla gelen paketi fark etmeden kullanmak hukuki sorun yaratabilir. Bu tür riskler tedarik zinciri saldırısı senaryolarıyla birlikte değerlendirilmelidir.
Sıkça Sorulan Sorular
Bağımlılık taraması SAST ile aynı mı?
Hayır. SAST sizin yazdığınız kodu inceler; bağımlılık taraması ise projeye dahil ettiğiniz üçüncü taraf kütüphaneleri ve bunların bilinen açıklarını kontrol eder.
Her açık hemen düzeltilmeli mi?
Önceliği açığın önem puanı ve uygulamanızda gerçekten kullanılan bir kod yolunu etkileyip etkilemediği belirler. Kritik ve erişilebilir açıklar önce ele alınmalıdır.