Zafiyetli bağımlılıklar: senin yazmadığın kod
Tipik bir web projesi kendi kodundan çok daha fazla üçüncü taraf kod gönderir; çoğu dolaylı olarak gelir. Bunların herhangi birindeki bilinen bir zafiyet, uygulamandaki bilinen bir zafiyettir.
Örnek
"node_modules/lodash": {
"version": "4.17.15"
}
// prototype pollution and command injection advisories apply"node_modules/lodash": {
"version": "4.17.21"
}
// one upgrade clears every advisory against 4.17.15Nasıl oluşur
Paketler bir kez eklenir ve nadiren yeniden ele alınır; lockfile onları o gün kurulan sürümde sabit tutar. Zafiyetler daha sonra tam o sürümlere karşı yayımlanır. Dolaylı paketler — bağımlılıkların bağımlılıkları — çoğunluktur ve en az görünenlerdir; bir siteye CDN'den kopyalanan kütüphaneler de genelde sayfanın yapıldığı günkü sürümde kalır.
Nasıl düzeltilir
Tahminle değil, kanıtla yükselt.
- Manifest'teki aralıkları değil, lockfile'daki sürümleri kontrol et
- Mevcut ana sürüm hattında tüm zafiyetleri kapatan yükseltmeyi tercih et
- Dolaylı paketler için onları getiren doğrudan bağımlılığı yükselt
- Kullanımdan kaldırılmış veya düzeltilmiş sürümü olmayan paketleri değiştir
RepoVerse bunu nasıl bulur
- YüksekBilinen zafiyetleri olan front-end kütüphanesi
Sayfa, yayımlanmış zafiyetleri olan bir kütüphane sürümü gönderiyor; zafiyetli kod her ziyaretçinin tarayıcısında çalışıyor.
web sitesi · CWE-1104
- DüşükÜçüncü taraf script bütünlük kontrolü olmadan yükleniyor
CDN veya diğer site ele geçirilirse sunduğu script sayfalarında tam yetkiyle çalışır — birçok kart bilgisi çalma saldırısının arkasındaki tedarik zinciri yolu.
web sitesi · CWE-353
Sorular
- Geliştirme bağımlılıkları risk mi?
- Kullanıcılara gönderilmedikleri için çalışma zamanı bağımlılıklarından daha az, ama geliştirici makinelerinde ve CI'da çalışırlar. RepoVerse önce production riski okunsun diye onları işaretler.
- Bağımlılıklar ne sıklıkla kontrol edilmeli?
- Lockfile'daki her değişiklikte ve düzenli aralıklarla; çünkü zaten sahip olduğun sürümlere karşı yeni zafiyetler yayımlanır.
İlgili
- Lockfile'ını okuyan bağımlılık zafiyet taramasınpm, yarn, pnpm, PyPI, Cargo, Composer ve RubyGems lockfile'larını OSV zafiyet veritabanına karşı kontrol et. Kurulu kesin sürümler, dolaylı yollar ve düzeltilmiş sürümler.
- Canlı bir sitede zafiyetli JavaScript kütüphanelerini bulHerhangi bir sitede eski ve zafiyetli JavaScript kütüphanelerini bul: jQuery, lodash, Bootstrap, moment, Next.js — küçültülmüş Vite ve webpack paketlerinde bile.
- Kod, secret ve bağımlılıklar için GitHub güvenlik taramasıGitHub reposunu injection açıkları, sızmış secret'lar ve zafiyetli bağımlılıklar için tara. İstekten tehlikeli çağrıya veri akışı izi ve çözüm önerileri.
Güncellendi 2026-10-11