Giriş
GitHub, Dependabot aracında yeni bir bekleme mekanizması tanıtarak, bir sürüm yayınlandıktan sonra en az üç gün beklemesini sağlıyor. Bu değişiklik, yazılım tedarik zincirindeki saldırılara karşı ek bir koruma katmanı oluşturmayı amaçlıyor.
Saldırı Nasıl Çalışıyor?
Yeni bekleme süresi, bir saldırganın popüler bir paketin zehirlenmiş bir versiyonunu yayımladığı senaryoları hedef alıyor. Bu tür badireler genellikle hızlı bir şekilde tespit edilse de, saldırganlar başarılı olurlarsa bu kötü amaçlı paketler, downstream projeleri tarafından hızla kullanılabilir hale gelebiliyor.
GitHub, üç gün süresinin “altın bölge” olduğunu belirterek iki hedefin dengelendiğini ifade ediyor:
- Çoğu saldırının gerçekleştiği zaman aralığını aşmak.
- Bağımlılıkları gereksiz yere daha uzun süre bekletmemek.
Etkilenen Sistemler
Dependabot’ın bu yeni mekanizması, yalnızca yazılım versiyon güncellemeleri için geçerli olup, güvenlik güncellemeleri için değişik bir yaklaşım benimseniyor. Böylece güvenlik güncellemeleri derhal gönderilmeye devam ediyor ve Dependabot, projeyi yamanmış versiyona geçirmesi için bir pull request açabiliyor.
Çözüm ve Korunma
GitHub, bu bekleme mekanizmasının bir katman savunması olduğunu vurguluyor. Yazılımcılar, projelerinde aşağıdaki önlemleri almalıdır:
- Bağımlılıkları lockfile ile sabitlemek.
- CI’deki kurulum betiklerini devre dışı bırakmak.
- Yapı hatlarında belirteçlerin kapsamını sınırlamak.
- Güncellemeleri birleştirmeden önce gözden geçirmek.
GitHub, bu bekleme mekanizmasının yalnızca hızlı yayılan kötü amaçlı sürümlere karşı etkili olduğunu belirtirken, daha uzun süreli saldırılara karşı yeterince etkili olmayabileceğine dikkat çekiyor.
Sonuç
Yazılım geliştiricilerinin, Dependabot’ı güncelleyerek ve yukarıdaki önlemleri alarak, projelerini bu gibi tedarik zinciri saldırılarından korumaları kritik öneme sahiptir. Ayrıca, paket ekosistemlerindeki benzer savunma mekanizmalarını takip etmekte fayda vardır.


