Bir sürümde bilinen güvenlik açıkları olup olmadığını nasıl denetlersiniz?

Bağımlı olduğunuz her çalışma zamanı, sunucu ve kitaplık zaman içinde güvenlik düzeltmeleri alır. Kullandığınız sürüm, yayımlanmış bir güvenlik duyurusunda etkilendiği belirtilen sürümlerden biri olabilir. Güvenlik duyuruları GitHub, Python ve Go güvenlik ekipleri, RustSec, Bitnami ve diğerleri gibi birçok veritabanına dağılmıştır. Google tarafından yürütülen Açık Kaynak Güvenlik Açıkları projesi OSV.dev, bu duyuruları tek bir biçimde toplar ve belirli bir sürümün hangi duyurulardan etkilendiğini bildirir.

Araç açıklaması

Ekosistem'i seçin, Ad'ı ve tam Sürüm'ü girin, ardından Sürümü denetle'ye basın. Node.js, PHP, PostgreSQL, lodash veya Django gibi popüler bir çalışma zamanı ya da paket için Hızlı seçim'den seçim yapabilirsiniz; bu seçenek Ekosistem ve Ad alanlarını sizin için doldurur. İlgili sürümü etkileyen bilinen tüm güvenlik açıklarını, en ciddisinden başlayarak şu bilgilerle birlikte görürsünüz:

  • osv.dev'deki sayfasına bağlantı veren kimliği ve varsa CVE kimliği
  • Güvenlik duyurusunda belirtilen Önem derecesi: Kritik, Yüksek, Orta veya Düşük
  • Düzeltmenin yer aldığı sürüm: duyuruda belirtilen, sizinkinden daha yüksek en düşük düzeltilmiş sürüm
  • Kısa bir Özet

GitHub güvenlik duyurusu ile bunun Python veritabanındaki kopyası gibi birden fazla veritabanı aynı sorunu açıklıyorsa, bu sorun tek bir güvenlik açığı olarak gösterilir.

Denetim sunucumuzda çalışır; sunucumuz OSV.dev'nin herkese açık API'sine istek gönderir. Yalnızca ekosistem, ad ve sürüm gönderilir.

Rapid Tool Set MCP sunucusuna bağlı AI asistanları aynı denetimi vulnerable_version_checker olarak çalıştırabilir.

Desteklenen ekosistemler

Ekosistem Kapsam Ad örnekleri
Çalışma zamanları ve sunucular, Bitnami Çalışma zamanları, web ve veritabanı sunucuları, uygulamalar node (Node.js), php, python, nginx, mariadb
npm JavaScript paketleri lodash, express
PyPI Python paketleri django, requests
Packagist Composer ile yüklenen PHP paketleri laravel/framework, symfony/http-kernel
Maven group:artifact biçimindeki Java paketleri org.apache.logging.log4j:log4j-core
NuGet .NET paketleri Newtonsoft.Json
Go Modül yolu ile belirtilen Go modülleri github.com/gin-gonic/gin
crates.io Rust paketleri tokio
RubyGems Ruby gem'leri actionpack, nokogiri
Pub Dart ve Flutter paketleri http
Hex Erlang ve Elixir paketleri phoenix, plug
CRAN R paketleri commonmark

Çalışma zamanları ve sunucular için Bitnami adları kullanılır: Node.js için node (nodejs de çalışır), postgresql ve Apache HTTP Server için apache.

Sınırlamalar

  • Sürüm, 18.0.0 veya 4.17.15 gibi, ekosistemde kullanıldığı biçimiyle tam olarak yazılmalıdır. Yanlış yazılmış bir ad veya mevcut olmayan bir sürüm, bilinen güvenlik açığı olmayan bir sürümde olduğu gibi sonuç döndürmez.
  • Yalnızca yayımlanmış güvenlik duyuruları bilinir. Listelenmemiş bir sürümde, henüz kimsenin bildirmediği kusurlar yine de bulunabilir.
  • Bazı güvenlik duyurularında önem derecesi belirtilmez; bu duyurular Derecelendirilmemiş olarak gösterilir.
  • Düzeltmenin yer aldığı sürüm, güvenlik duyurusundaki sürüm aralıklarından alınır. Daha yeni bir sürümün kendine ait güvenlik açıkları olabilir; bu nedenle yükseltme yapacağınız sürümü de denetleyin.