Сравнение сканирований и SBOM

На странице Сравнение сканов можно сопоставить два успешных SCA-сканирования одного проекта: увидеть сводные метрики обоих сканов и различия в составе SBOM в формате CycloneDX.

Сравниваются сканирования любых версий одного родительского проекта — например, разные ветки, теги или повторные запуски одной версии.

Как открыть сравнение

Сравнение открывается кнопкой Сравнить сканирования:

  • на вкладке SCA страницы проекта — в блоке метрик последнего сканирования;
  • на странице истории сканирований SCA — в заголовке списка.

Кнопка сравнения сканирований

Выбор сканирований

  1. Выберите Версия 1 и Скан 1.
  2. Выберите Версия 2 и Скан 2.
  3. Нажмите Сравнить.

В списках сканирований отображаются только успешно завершённые SCA-анализы выбранной версии (по дате начала, от новых к старым).

Форма выбора версий и сканирований

Info

Нельзя сравнить один и тот же скан с самим собой. Неуспешные, отменённые и незавершённые анализы в выборе недоступны. Сканирования другого проекта сравнить нельзя.

Обзор

После сравнения отображается блок Обзор:

  • таблица с параметрами обоих сканирований (дата начала, версия, продолжительность, тип запуска, инициатор, статус);
  • столбчатые диаграммы по числу алертов, зависимостей и уязвимостей;
  • круговые диаграммы распределения по технологиям зависимостей и по лицензиям / категориям лицензий.

Метрики показываются для каждого скана отдельно, чтобы оценить, как изменился профиль проекта между двумя точками истории.

Обзор сравнения сканирований

Различия SBOM

Ниже обзора отображается блок Различия SBOM — unified diff нормализованного SBOM в формате CycloneDX v1.6 JSON.

Перед сравнением из SBOM исключаются нестабильные поля (serialNumber, metadata.timestamp), а списки компонентов и связанных объектов упорядочиваются. Это снижает шум от повторной генерации и делает видимыми изменения состава, версий, лицензий и уязвимостей.

По кнопке Экспорт можно скачать файл diff (sbom_diff_<дата скана 1>_vs_<дата скана 2>.diff).

Различия SBOM

Warning

Сравнение SBOM в веб-интерфейсе — это текстовый diff JSON, а не дерево компонентов со статусами «добавлен / удалён / изменён». Семантическое сравнение BOM в IDE описано в разделах VS Code и IntelliJ.

Если нормализованные SBOM совпадают, блок различий будет пустым.

Ограничения

  • Сравниваются только успешные SCA-сканирования версий одного проекта.
  • Diff строится по пересобранному из результатов анализа SBOM, а не по исходному загруженному файлу.
  • В интерфейсе для diff используется формат CycloneDX v1.6 JSON.
  • Сравнение произвольных SBOM без привязки к сканам проекта в платформе недоступно — для этого используйте импорт SBOM в CLI-проект с последующим сравнением полученных сканов или сравнение BOM в IDE.
Страница была полезна?