Результаты сканирований
Результаты выполненных в системе сканирований отображаются на трех уровнях:
- Результаты всех выполненных сканирований (отображаются в пункте меню Scans на глобальной странице).
- Результаты сканирований для выбранного приложения (отображаются в пункте меню Scans на странице приложения).
- Результаты сканирований для выбранного пайплайна (отображаются на вкладке Scans на странице пайплайна, см. раздел «История сканирований пайплайна»).
Информация о сканировании, отображаемая на каждом из этих уровней, является полностью идентичной. Разница заключается в том, какой список сканирований выводится на экран.
Выберите на глобальной странице пункт меню Scans, чтобы получить подробную информацию о результатах всех выполненных в системе сканирований.
Настроить список отображаемых сканирований можно по нескольким параметрам с помощью расположенного справа вверху фильтра:
- by status — по статусу сканирования;
- by application — по имени приложения;
- by pipeline — по имени пайплайна;
- by date — по дате сканирования;
- by release object — по релизным объектам;
- by codebase — по кодовым базам;
- by artifact — по артефактам;
- by instance — по инстансам (экземплярам приложения);
- by structure unit — по структурным единицам приложения.
Примечание
При фильтрации с использованием полей by codebase, by artifact, by instance и by structure unit отображаются первые десять объектов. При поиске объекта в этих полях необходимо ввести не менее трех символов.
С помощью селектора Auto refresh можно включить автоматическое обновление отображаемых на странице результатов сканирований каждые 15 секунд. Настройка автоматического обновления является глобальной – ее значение применяется как на странице с результатами всех выполненных сканирований, так и на странице с результатами сканирований для выбранного приложения.
Каждое выполненное сканирование представлено отдельной строкой. Чтобы получить более подробную информацию о сканировании, нажмите значок рядом с его идентификатором.
Строка сканирования содержит следующие поля:
-
# — идентификатор выполненного сканирования в AppSec.Hub. Нажмите на него, чтобы перейти на страницу с подробной информацией о сканировании (см. раздел «Страница информации о сканировании»).
-
Общий статус сканирования: SUCCESS/FAILED/IN PROGRESS/CANCELED/BROKEN. Более детальная информация приведена в поле Details.
- Application — имя приложения.
- Started — дата и время начала сканирования.
- Duration — продолжительность сканирования.
- В зависимости от типа пайплайна, для кодовой базы могут быть представлены поля Branch и Commit, а для артефакта — поле Version, содержащее версию просканированной сборки. Для нескольких объектов сканирования представлено поле Scans targets.
- Pipeline — имя пайплайна, запускавшегося для сканирования.
- CI/CD — используемый инструмент CI/CD.
- External build — внешний идентификатор сканирования. При нажатии на значение осуществляется переход в соответствующий инструмент CI/CD.
-
Details — краткий статус сканирования в инструменте оркестрации и результат применения Quality Gates, например:
- Job failed. No QG checks will be applied (для сканирования с общим статусом FAILED).
- Scan is finished. One or more QG checks are not passed (для сканирования с общим статусом FAILED).
- Scan job is finished. No QG checks have been applied (для сканирования с общим статусом SUCCCCES).
- Scan job is finished. All QG checks are done (для сканирования с общим статусом SUCCCCES).
- Jenkins job build status: ABORTED (для сканирования с общим статусом CANCELED).
-
Unable to read build 7 status for codebase 'new_cb': Unable to find 'max/DVJA/SAST_new_cb' job: Connect to jenkins.dev.yourcompany.com:80 failed: Connection refused (Connection refused) (для сканирования с общим статусом BROKEN).
Важное замечание
Заметим, что с учетом установленного Quality Gate, результаты сканирования с точки зрения инструмента оркестрации, например, Jenkins, и с точки зрения AppSec.Hub могут значительно различаться. Выполнение сканирования в инструменте оркестрации могло пройти успешно, однако определенные в QG критерии с точки зрения серьезности обнаруженных рисков безопасности (security risks) и рисков, связанных с корректностью использования лицензии (compliance risks), при этом могут быть не выполнены. В этом случае статус QG Check в AppSec.Hub может иметь значение Failed, и выполнение пайплайна должно быть прервано, поскольку критерии QG не были выполнены. Например, после невыполнения критерия QG не должен быть осуществлен шаг по разворачиванию этой сборки в целевом окружении. Если QG не был установлен, то результат сканирования в AppSec.Hub определяется как Passed, если оно успешно прошло в инструменте оркестрации. Статус сканирования в AppSec.Hub с точки зрения QG отображается в поле SCAN QG.
-
SCAN QG — статус выполнения сканирования в AppSec.Hub с точки зрения установленных критериев качества SAST QG, SCA QG и DAST QG. Если эти QG не были установлены, поле будет пустым. Если какой-либо QG установлен, но не применим для данного вида тестирования, это поле также не будет содержать информации об этом QG. Если какой-либо QG был установлен, но критерий, заданный в QG, не был выполнен, это поле будет содержать соответствующий значок с названием практики в красном овале, например, SAST. Если QG был установлен и критерий, заданный в QG, был выполнен, это поле будет содержать соответствующий значок с названием практики в зеленом овале, например, SAST. Нажмите идентификатор выполненного сканирования, чтобы получить детальную информацию о результате сканирования.
В конце строки с информацией о завершившемся сканировании находится кнопка Re-run scan , см. раздел «Перезапуск сканирования».
Страница информации о сканировании
При нажатии на идентификатор выполненного сканирования в списке результатов сканирований на экране появится страница, содержащая детальную информацию о выбранном сканировании.
На данной странице приведена следующая информация:
- Scan task — номер сканирования в системе.
- Общий статус сканирования SUCCESS/FAILED/IN PROGRESS/CANCELED/BROKEN.
- Application — имя приложения.
- Pipeline — ссылка на пайплайн, запускавшийся для сканирования.
- Started — время и дата запуска сканирования.
- Duration — продолжительность сканирования.
- CI system — используемый инструмент CI/CD.
- External build ID — внешний идентификатор сканирования. При нажатии на значение осуществляется переход в соответствующий инструмент CI/CD.
- Details — сводная информация о сканировании.
- Scan target — информация об объекте сканирования.
- Quality gates — информации о прохождении установленных критериев качества (Quality gates).
- Quality gate condition violations — информация о превышении пороговых значений, определенных в профиле подключенного Quality gates.
- Issue import results — результат импорта security issues в виде диаграммы с распределением по статусам (New, Repeated, Fixed). Рядом с диаграммой располагается иконка, нажав которую можно перейти к перечню security issues, обнаруженных в ходе данного сканирования. Предусмотрена возможность обновления данных на странице (кнопка Refresh data).
- Release object — ссылка на релизный объект, см. рис. ниже.
- Tagging — статус тегирования и информация о тегируемом артефакте, например, как это показано на рисунке ниже.
Перезапуск сканирования
В конце строки с информацией о завершившемся сканировании находится кнопка Re-run scan .
Примечание
При отсутствии у пользователя роли Менеджер кнопка перезапуска сканирования Re-run scan не будет отображаться. Это относится к глобальной странице с результатами всех выполненных сканирований, к странице с результатами сканирований для выбранного приложения и к странице с результатами сканирований для выбранного пайплайна.
Такая же кнопка расположена справа вверху на странице с подробной информацией о сканировании.
Примечание
При отсутствии у пользователя роли Менеджер кнопка перезапуска сканирования Re-run scan не будет отображаться на странице с подробной информацией о сканировании.
Кнопка Re-run scan запускает новое сканирование с теми же параметрами, с которыми было запущено сканирование. При нажатии этой кнопки окно с параметрами запускаемого сканирования не отображается на экране, требуется просто подтвердить запуск сканирования нажатием кнопки Confirm в появившемся окне.
Перезапуск сканирования будет работать корректно только в случае, если не было изменений в конфигурации пайплайна. Если конфигурация пайплайна менялась (например, была изменена конфигурация объекта сканирования, или в пайплайн был добавлен еще один объект сканирования), то возможна некорректная работа сканирования с недостоверным результатом, так как для измененного пайплайна будут применены устаревшие параметры от выбранного сканирования.
Возможна ситуация, когда пайплайн на момент перезапуска неактивен (переключатель Pipeline activity на вкладке Settings данного пайплайна выключен).
В этом случае попытка перезапуска сканирования с помощью кнопки Re-run scan приведет к предупреждению о невозможности запуска сканирования из-за неактивного состояния пайплайна.
Использование Hub Engine
В пайплайне можно использовать или внешний инструмент CI/CD, например Jenkins, или внутренние агенты сканирований - Hub Engine (см. раздел «Hub Engine»).
При использовании Hub Engine страница с результатами сканирований имеет следующие особенности:
-
После запуска сканирования во время его выполнения можно произвести остановку сканирования, нажав на кнопку Cancel scan
в конце строки с информацией о сканировании. После остановки сканирование получит статус Failed, а в поле Details появится надпись Scan cancelled.
-
Существует возможность скачать лог сканирования, нажав на Download log.