Lockfile'ını okuyan bağımlılık zafiyet taraması
Manifest ^4.17.0 der; lockfile ise gerçekte neyin kurulu olduğunu söyler. RepoVerse kurulu sürümleri — doğrudan ve dolaylı — OSV zafiyet veritabanına karşı kontrol eder ve hangi yükseltmenin en çok zafiyeti kapattığını söyler.
Anladığı lockfile'lar
Lockfile varsa kesin sürümler ondan gelir; yoksa bildirilen her aralığın tabanı kontrol edilir ve rapor bunu belirtir.
- npm package-lock.json (v1, v2, v3) ve npm-shrinkwrap.json
- yarn.lock (classic ve Berry) ve pnpm-lock.yaml
- Python için Pipfile.lock ve poetry.lock
- Rust için Cargo.lock, PHP için composer.lock, Ruby için Gemfile.lock
Doğrudan, dolaylı, geliştirme — ve ne üzerinden
Senin bildirdiğin zafiyetli bir paket bir sürüm yükseltmesidir; başka bir bağımlılığın getirdiği paket ise o bağımlılığın yükseltilmesidir. Rapor hangisi olduğunu söyler, dolaylı bir paketi getiren doğrudan bağımlılığı adlandırır ve yalnızca geliştirmede kullanılan paketleri işaretler; böylece önce production riski okunur. Dolaylı geliştirme araçları sorguya hiç girmez.
Kendi sürüm hattın için düzeltme
Birden fazla bakımı süren hattı olan paketlerin zafiyetleri hat başına bir düzeltme listeler. Gösterilen düzeltilmiş sürüm gerçekten kullandığın hattakidir — 1.1.11'deki biri için 1.1.12, 5.x'e atlama değil — ve her paket, ona karşı tüm zafiyetleri kapatan tek bir yükseltme hedefi alır; düzeltme yoksa paketin değiştirilmesi gerektiğine dair bir not. Kullanımdan kaldırılmış ve uzun süredir bakımı yapılmayan npm paketleri de işaretlenir.
Sorular
- Hangi zafiyet veritabanını kullanıyor?
- GitHub Security Advisories'i, Python, Rust, Go ve RubyGems zafiyet veritabanlarını ve diğerlerini kesin paket sürümlerine göre bir araya getiren OSV.dev'i.
- Dolaylı bağımlılıkları kontrol ediyor mu?
- Evet, lockfile'dan. Her dolaylı paket, onu hangi doğrudan bağımlılığın getirdiğini gösterir. Yalnızca geliştirmede kullanılan dolaylı paketler gönderilmedikleri için atlanır.
- Repomda lockfile yoksa ne olur?
- Bildirilen her aralığın kabul ettiği en düşük sürüm kontrol edilir ve aralık tabanı olarak işaretlenir; çünkü gerçekte sahip olduğun sürüm zaten düzeltilmiş olabilir. Bir lockfile commit etmek sonucu kesinleştirir.
İlgili
- 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.
- Zafiyetli bağımlılıklar: senin yazmadığın kodUygulama kodunun çoğu üçüncü taraftır. Zafiyetli bağımlılıkların projeye nasıl girdiği (CWE-1395), neden önemli olanın lockfile olduğu ve düzelten yükseltmeyi nasıl seçersin.
- 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.
Güncellendi 2026-10-11