Как проверить, есть ли у версии известные уязвимости?

Для сред выполнения, серверов и библиотек, от которых вы зависите, со временем выпускают исправления безопасности. Возможно, используемая вами версия указана в опубликованном бюллетене безопасности как уязвимая. Бюллетени публикуются во множестве баз данных: GitHub, команд по безопасности Python и Go, RustSec, Bitnami и других. OSV.dev — проект Open Source Vulnerabilities, которым руководит Google, — собирает эти данные в едином формате и по точной версии определяет, какие бюллетени безопасности к ней относятся.

Описание инструмента

Выберите экосистему, введите название и точную версию, затем нажмите «Проверить версию». Для популярной среды выполнения или пакета, например Node.js, PHP, PostgreSQL, lodash или Django, вместо этого выберите его в разделе «Быстрый выбор» — поля «Экосистема» и «Название» заполнятся автоматически. Вы получите список всех известных уязвимостей, затрагивающих эту версию, начиная с самых критичных. Для каждой уязвимости указаны:

  • Её идентификатор со ссылкой на страницу на osv.dev, а также идентификатор CVE, если он есть
  • Уровень критичности, указанный в бюллетене безопасности: критический, высокий, средний или низкий
  • Версия, в которой уязвимость исправлена: первая исправленная версия, более поздняя, чем ваша, согласно бюллетеню безопасности
  • Краткое описание

Если несколько баз данных описывают одну и ту же проблему, например бюллетень безопасности GitHub и его копия в базе данных Python, они отображаются как одна уязвимость.

Проверка выполняется на нашем сервере, который обращается к общедоступному API OSV.dev. Передаются только экосистема, название и версия.

ИИ-ассистенты, подключённые к серверу Rapid Tool Set MCP, могут выполнять ту же проверку с помощью vulnerable_version_checker.

Поддерживаемые экосистемы

Экосистема Что входит Примеры названий
Среды выполнения и серверы, Bitnami Среды выполнения, веб-серверы и серверы баз данных, приложения node (Node.js), php, python, nginx, mariadb
npm Пакеты JavaScript lodash, express
PyPI Пакеты Python django, requests
Packagist Пакеты PHP, установленные с помощью Composer laravel/framework, symfony/http-kernel
Maven Пакеты Java в формате группа:артефакт org.apache.logging.log4j:log4j-core
NuGet Пакеты .NET Newtonsoft.Json
Go Модули Go, указанные по пути модуля github.com/gin-gonic/gin
crates.io Крейты Rust tokio
RubyGems Пакеты Ruby actionpack, nokogiri
Pub Пакеты Dart и Flutter http
Hex Пакеты Erlang и Elixir phoenix, plug
CRAN Пакеты R commonmark

Для сред выполнения и серверов используются названия Bitnami: node для Node.js (также подходит nodejs), postgresql и apache для Apache HTTP Server.

Ограничения

  • Версия должна быть указана точно в соответствии с правилами экосистемы, например 18.0.0 или 4.17.15. При ошибке в названии или если такой версии не существует, результаты не будут найдены — как и в случае с версией, для которой нет известных уязвимостей.
  • Учитываются только опубликованные бюллетени безопасности. В версии, для которой ничего не найдено, всё ещё могут быть недостатки, о которых никто не сообщил.
  • Для некоторых бюллетеней безопасности не указан уровень критичности; в этом случае отображается пометка «Уровень не указан».
  • Версия, в которой уязвимость исправлена, берётся из диапазонов версий, указанных в бюллетене безопасности. В более новой версии могут быть собственные уязвимости, поэтому проверьте и ту версию, на которую планируете обновиться.