Здоровье зависимостей
Дашборд Здоровье зависимостей показывает все библиотеки, которые используют приложения парка, распределение их версий и те из них, что больше не развиваются активно.

Здоровье зависимостей в интерфейсе Axelix
Здоровье зависимостей показывает статусы библиотек, которые используют ваши приложения: какие из них больше не развиваются активно, какие получают только критические исправления, а какие, скорее всего, не получают никаких. Так вы заранее знаете, в каких библиотеках, скорее всего, не получите патч, если завтра выйдет CVE. Страница не ищет уязвимости и ничего не меняет в приложениях. Её задача в том, чтобы вы знали об этом риске до того, как он станет проблемой.
Страница доступна только для чтения всем пользователям, прошедшим аутентификацию: ее могут открыть VIEWER, EDITOR,
ADMIN и SUPER_ADMIN. Полную матрицу ролей и полномочий см. в разделе Роли и
полномочия.
Что показывает страница
Сводка сверху показывает, сколько приложений сообщили о своих зависимостях и сколько из них используют библиотеку в каждом рискованном статусе:
- Прекращён: проект объявил о прекращении разработки или архивировал репозиторий. Новых релизов, включая исправления безопасности, не планируется.
- В режиме поддержки: проект заявил, что выпускает только критические исправления ошибок и уязвимостей. Новых возможностей не будет, и обычно рекомендуется преемник.
- Неактивный: релизов не было долгое время, при этом проект не объявлял ни о режиме поддержки, ни о прекращении разработки. Он может продолжать работать, но исправлять его, судя по всему, некому.
Ниже страница рассматривает тот же риск с двух сторон. Первая сторона — приложения: сколько из них используют рискованную зависимость, какая доля парка приходится на каждый статус и сколько приложений относятся к группе Ничего из этого. Приложение учитывается в каждом статусе, который у него есть, поэтому приложение с прекращённой и неактивной библиотеками считается дважды. Из-за этого сумма процентов может превышать 100%.
Вторая сторона — библиотеки: сколько из используемых библиотек рискованные и в каких категориях их больше всего, например Хранение данных, Логирование или Безопасность. На графике показаны пять категорий с наибольшим числом рискованных библиотек.
Поиск библиотеки
Список библиотек начинается с рискованных, а внутри каждой группы первыми идут самые распространённые, поэтому проблемы, затрагивающие больше всего приложений, оказываются наверху. Для каждой библиотеки можно увидеть:
- её статус, если он рискованный;
- есть ли у проекта преемник, если статус рискованный;
- её категорию;
- сколько приложений её используют и какая это доля парка.
Список можно сузить по категории и статусу. Например, выберите статус Прекращён и категорию Безопасность, чтобы увидеть, какие библиотеки безопасности больше не получают исправлений. Клик по категории на графике применяет к списку тот же фильтр по категории.
Библиотека без статуса в списке либо активно развивается, либо неизвестна Axelix, см. Как это работает. У библиотек, неизвестных Axelix, нет ни категории, ни статуса, поэтому любой фильтр по категории или статусу их скрывает.
Подробности о библиотеке
Раскройте библиотеку, чтобы решить, что с ней делать. Для рискованной библиотеки можно увидеть:
- краткое описание статуса проекта;
- проект, который её заменяет, или рекомендуемую замену, если она есть;
- ссылку на внешнюю страницу, подтверждающую статус.
Для любой библиотеки можно также увидеть, какие версии используются в парке, от новых к старым, сколько приложений работает на каждой версии и какая это доля приложений с этой библиотекой. Так видно, насколько парк отстаёт даже у здоровой библиотеки и сколько приложений затронет обновление.
Как это работает
Во время сборки плагин сборки Axelix записывает граф зависимостей времени выполнения в архив приложения в виде CycloneDX SBOM. Приложение передаёт этот SBOM в Master один раз, при регистрации. Следующая передача от того же приложения заменяет предыдущую, поэтому страница отражает сборку, зарегистрировавшуюся последней. Когда вы открываете страницу, Master рассчитывает показатели по сохранённым данным.
Приложение учитывается один раз, сколько бы у него ни было инстансов. Приложение, которое перестало выходить на связь, остаётся на странице с последними зависимостями, о которых оно сообщило.
Сообщают о зависимостях при регистрации только приложения со стартером Axelix 1.3.0 или новее, поэтому приложения на более старых версиях не учитываются. Если ни одно приложение о них не сообщило, страница показывает, что данных нет. Об обновлении см. Политику обновления Axelix.
Master сопоставляет библиотеки со своим каталогом проектов. Статус относится к проекту библиотеки, а не к конкретной версии, поэтому обновление прекращённой библиотеки до последней версии её статус не меняет. Библиотека, проекта которой нет в каталоге, например внутренняя библиотека вашей организации, всё равно входит в общее число библиотек. Это значит, что Axelix ничего о ней не утверждает, а не то, что проект здоров.