Jak sprawdzić, czy dana wersja ma znane luki w zabezpieczeniach?

Każde środowisko uruchomieniowe, serwer i biblioteka, od których zależysz, z czasem otrzymują poprawki zabezpieczeń. Używana przez Ciebie wersja może być wymieniona w opublikowanym komunikacie jako podatna. Komunikaty są rozproszone w wielu bazach danych: GitHuba, zespołów ds. bezpieczeństwa Pythona i Go, RustSec, Bitnami i innych. OSV.dev, projekt Open Source Vulnerabilities prowadzony przez Google, zbiera je w jednym formacie i wskazuje, które komunikaty dotyczą konkretnej wersji.

Opis narzędzia

Wybierz ekosystem, wpisz nazwę i dokładną wersję, a następnie kliknij „Sprawdź wersję”. W przypadku popularnego środowiska uruchomieniowego lub pakietu, takiego jak Node.js, PHP, PostgreSQL, lodash czy Django, możesz zamiast tego wybrać pozycję z listy „Szybki wybór” — ekosystem i nazwa zostaną uzupełnione automatycznie. Otrzymasz listę wszystkich znanych luk w zabezpieczeniach dotyczących tej wersji, uporządkowaną od najpoważniejszych, wraz z:

  • Identyfikatorem luki z linkiem do jej strony w serwisie osv.dev oraz identyfikatorem CVE, jeśli został przypisany
  • Poziomem zagrożenia określonym w komunikacie: krytyczny, wysoki, średni lub niski
  • Wersją, w której luka została naprawiona: najniższą wersją zawierającą poprawkę, wyższą od używanej przez Ciebie, zgodnie z komunikatem
  • Krótkim podsumowaniem

Jeśli kilka baz danych opisuje ten sam problem, na przykład komunikat GitHuba i jego kopia w bazie Pythona, są one wyświetlane jako jedna luka.

Sprawdzenie odbywa się na naszym serwerze, który wysyła zapytanie do publicznego API OSV.dev. Wysyłane są tylko ekosystem, nazwa i wersja.

Asystenci AI połączeni z serwerem MCP Rapid Tool Set mogą wykonać to samo sprawdzenie za pomocą narzędzia vulnerable_version_checker.

Obsługiwane ekosystemy

Ekosystem Zakres Przykładowe nazwy
Środowiska uruchomieniowe i serwery, Bitnami Środowiska uruchomieniowe, serwery WWW i baz danych, aplikacje node (Node.js), php, python, nginx, mariadb
npm Pakiety JavaScript lodash, express
PyPI Pakiety Pythona django, requests
Packagist Pakiety PHP instalowane za pomocą Composera laravel/framework, symfony/http-kernel
Maven Pakiety Java w formacie grupa:artefakt org.apache.logging.log4j:log4j-core
NuGet Pakiety .NET Newtonsoft.Json
Go Moduły Go identyfikowane ścieżką modułu github.com/gin-gonic/gin
crates.io Pakiety Rust tokio
RubyGems Pakiety Ruby actionpack, nokogiri
Pub Pakiety Dart i Flutter http
Hex Pakiety Erlang i Elixir phoenix, plug
CRAN Pakiety R commonmark

W przypadku środowisk uruchomieniowych i serwerów używane są nazwy Bitnami: node dla Node.js (działa również nodejs), postgresql oraz apache dla serwera HTTP Apache.

Ograniczenia

  • Wersję należy zapisać dokładnie w formacie używanym w danym ekosystemie, na przykład 18.0.0 lub 4.17.15. Błędnie wpisana nazwa lub nieistniejąca wersja nie zwróci żadnych wyników — tak samo jak wersja bez znanych luk w zabezpieczeniach.
  • Uwzględniane są tylko opublikowane komunikaty. Wersja, dla której nie znaleziono żadnego komunikatu, nadal może zawierać usterki, których nikt jeszcze nie zgłosił.
  • Niektóre komunikaty nie zawierają oceny poziomu zagrożenia — w takim przypadku wyświetlany jest status „Brak oceny”.
  • Informacja o wersji zawierającej poprawkę pochodzi z zakresów wersji podanych w komunikacie. Nowsza wersja może mieć własne luki, dlatego sprawdź również wersję, do której planujesz przejść.