Приложения¶
Выберите пункт Приложения в меню слева, чтобы посмотреть список входящих в систему команд разработки и их приложений.
Страница Приложения состоит из нескольких частей:
- Слева расположен иерархический список, в котором представлены команды разработки и их приложения.
- Справа вверху приводятся сведения о выбранном в списке объекте.
- Также справа расположены вкладки для работы с выбранным объектом:
- Для команды - Сканирования приложений, Исключения и Пользователи.
- Для приложения - Сканирования приложения, Исключения, Пользователи, Авторы и Настройки.
Добавление команды¶
Чтобы добавить команду через пользовательский интерфейс, выберите пункт Приложения в меню слева и нажмите кнопку Добавить .
В появившемся окне введите имя создаваемой команды и нажмите на кнопку Создать.
Удаление команды¶
Чтобы удалить команду, в списке команд и приложений нажмите на расположенный справа от имени команды значок , в появившемся меню выберите пункт Удалить команду и подтвердите это действие в диалоговом окне.
Вместе с командой будут удалены все ее приложения.
Добавление приложения¶
Чтобы добавить приложение в команду через пользовательский интерфейс, нажмите на расположенный справа от имени команды значок и в появившемся меню выберите пункт Создать приложение.
В появившемся окне введите имя создаваемого приложения и нажмите на кнопку Создать.
Удаление приложения¶
Чтобы удалить приложение, в списке команд и приложений нажмите на расположенный справа от имени приложения значок , в появившемся меню выберите пункт Удалить и подтвердите это действие в диалоговом окне.
Сканирования приложений¶
На первой вкладке страницы Приложения представлен лог сканирований, содержащий информацию обо всех произведенных сканированиях, относящихся к выбранному в списке команд и приложений объекту.
Для выбранной команды в списке сканирований указаны имя приложения и его версия, среда сканирования, способ запуска (CLI – запуск из командной строки, UI – запуск из пользовательского интерфейса, SCM – сканирование git-репозитория, AUTO – автоматический запуск, см. раздел «Непрерывное сканирование»), статус результата сканирования (заблокирован/не заблокирован), дата и время последнего сканирования данной версии приложения.
При нажатии на строку с информацией о приложении и его версии на экране появится детальная информация о каждом из проведенных сканирований этой версии, включая информацию о количестве найденных нарушений и о просканированном коммите приложения.
Для выбранного приложения в списке сканирований указаны версия приложения, среда сканирования, способ запуска (CLI – запуск из командной строки, UI – запуск из пользовательского интерфейса, AUTO – автоматический запуск, см. раздел «Непрерывное сканирование»), имя пользователя, запустившего сканирование, статус результата сканирования (заблокирован/не заблокирован), количество выполненных сканов данной версии приложения, дата и время последнего сканирования данной версии приложения. В конце строки расположен значок , нажав на который можно настроить мониторинг приложения, см. раздел «Непрерывное сканирование».
При нажатии на строку с информацией о версии приложения на экране появится детальная информация о каждом из проведенных сканирований этой версии, включая информацию о просканированном коммите приложения.
При нажатии на строку с информацией о сканировании версии приложения открывается страница с информацией о результатах сканирования и о каждом просканированном компоненте.
На странице приведены общие данные о сканировании версии приложения:
- Количество компонентов и результат их сканирования.
- Количество репозиториев с разбиением по формату.
- Окружение, в котором проводилось сканирование.
- Способ запуска.
- Дата сканирования.
- Статус сканирования.
- Коммит приложения. При нажатии на ссылку в поле Коммит произойдет переход на сборку приложения в соответствующем инструменте, например GitLab или TeamCity.
- Хэш коммита.
Ниже приведен список просканированных компонентов. Для каждого компонента указаны:
- PURL компонента.
- Репозиторий, где он расположен.
- Версия.
- CVSS v2, CVSS v3 и CVSS v4 оценки критичности найденных в нем уязвимостей.
- Нарушения политик (количество и критичность).
- Наличие блокировок, вызванных найденными нарушениями.
- Исключения, относящиеся к данному компоненту в системе.
При нажатии на строку с информацией о компоненте в таблице Сканирования на экране появится страница, содержащая детальную информацию о нем, см. раздел «Информация о компоненте».
Отчеты о сканировании¶
Для скачивания отчета о результатах сканирования версии приложения в необходимом формате нажмите на кнопку Скачать отчет и выберите из выпадающего списка пункт В формате HTML/PDF/JSON. Отчет содержит информацию о версии приложения, просканированных компонентах, количестве нарушений политик, заблокированных компонентах, исключениях, нарушенных правилах и найденных уязвимостях.
Существует возможность формирования содержания отчета о сканировании с помощью фильтров, расположенных на вкладке Сканирования компонентов. Если фильтры были установлены, отчет будет содержать информацию только о тех компонентах, которые отвечают заданным в фильтрах условиям. Информация о нарушениях и уязвимостях прочих компонентов не будет включена в отчет.
Примечание
Начиная с версии 3.11.0, формат экспорта отчета о сканировании в JSON совместим с DefectDojo, что позволяет настроить импорт результатов с использованием API или производить импорт в ручном режиме.
Примечание
Начиная с версии 3.12.0, доступ к отчетам о сканировании приложений зависит от значения переменной anonymousScaReport в конфигурационном файле application.yml. Если эта переменная отсутствует или имеет значение true, отчеты доступны для всех пользователей, а при установленном значении false отчеты будут доступны только тем пользователям, у которых есть права доступа VIEW_SCA_REPORT для данного приложения.
Прямые и транзитивные зависимости между компонентами приложения представлены на вкладке Компоненты, см. раздел «Дерево зависимостей между компонентами».
Сравнение двух сканирований¶
На странице с информацией о сканированиях версии приложения можно провести сравнение двух сканирований этой версии.
Для этого выберите в левой колонке два сканирования и нажмите на кнопку Сравнение.
На появившейся странице Сравнение сканирований доступна детальная информация о каждом из двух сканирований, а также список компонентов, в котором:
- Компоненты, появившиеся только в более позднем из сканирований, отмечены зеленым цветом.
- Компоненты, присутствующие в обоих сканированиях, отмечены белым цветом.
- Компоненты, присутствовавшие только в более раннем из сканирований, отмечены красным цветом.
В столбце Нарушения приводится количество нарушений политик для каждого компонента. В случае изменения количества нарушений в компоненте между двумя сканированиями, эта разница также отражается вместе с количеством нарушений, например, означает, что в более позднем сканировании появилось одно дополнительное нарушение.
При нажатии на строку компонента на странице Сравнение сканирований в правой ее части появляется дополнительная панель Нарушения по уровням с информацией о всех нарушениях политик в данном компоненте.
Исключения¶
На вкладке Исключения страницы Приложения представлены все установленные на уровне команды и/или на уровне приложения исключения для компонентов, на которые не будут срабатывать политики.
Исключения можно отфильтровать, указав значения в полях Компонент, Автор исключения, Дата создания, Дата окончания, Политика, Активность.
Для просмотра дополнительной информации об исключении нажмите на значок «» в конце строки исключения.
Исключение можно отредактировать, нажав на значок «» в строке исключения. В появившемся окне можно изменить дату окончания исключения и добавить комментарий. Чтобы сделать исключение бессрочным, оставьте поле Дата окончания пустым.
Исключение можно удалить, нажав на значок «» в строке исключения и подтвердив удаление в появившемся окне.
Добавление исключения может быть произведено на странице информации о компоненте, см. раздел «Добавление исключения на странице информации о компоненте».
Пользователи¶
На вкладке Пользователи можно при наличии прав доступа просмотреть список пользователей, имеющих доступ к выбранному объекту (команде или приложению), а также производить стандартные действия по добавлению, удалению пользователей и присваиванию им локальных ролей, относящихся к выбранному объекту (см. детали в разделе «Пользователи и роли»).
Так, для добавления пользователя необходимо нажать на кнопку Добавить пользователя, в появившемся окне Добавление пользователя выбрать пользователя из числа существующих в системе, присвоить ему необходимую роль или роли и нажать на кнопку Добавить.
Примечание
Возможна ситуация, когда пользователю для работы с конкретным объектом будут присвоена роль SUPER_ADMIN. Таким образом, пользователь получит не только все права в своем объекте, но и некоторые глобальные права доступа в рамках всей системы в целом, например, EDIT/DELETE/VIEW_UNBLOCK для работы с запросами на разблокировку, а также другие глобальные права доступа к настройкам системы, таким как CONFIG_LDAP, CONFIG_KASPERSKY, VIEW_USER_LOG, VIEW_REQUEST_LOG, EDIT/DELETE/VIEW_PROXY, EDIT/DELETE/VIEW_BACKEND.
Эта возможность будет устранена в следующих релизах системы.
Непрерывное сканирование¶
Система позволяет настроить мониторинг версии приложения с помощью механизма непрерывного автоматического сканирования.
Выберите приложение на странице Приложения.
В списке сканирований приложения выберите версию, для которой будет осуществляться непрерывное автоматическое сканирование. В конце строки выбранной версии нажмите на значок .
В появившемся окне Параметры мониторинга задайте настройки непрерывного сканирования выбранной версии приложения.
- Флаг Непрерывное сканирование позволяет включить или выключить мониторинг версии приложения.
- Частота сканирований — значение этого параметра можно выбрать из выпадающего списка (Раз в час, Раз в сутки, Раз в неделю).
- Флаг Уведомления пользователей позволяет выбрать пользователей для рассылки уведомлений о результатах непрерывного автоматического сканирования.
- Получатели уведомлений — в этом поле из выпадающего списка можно выбрать пользователей AppSec.Track, которые будут получать уведомления о результатах непрерывного автоматического сканирования.
- Email — в этом поле можно указать дополнительные адреса электронной почты, на которые будут рассылаться уведомления о результатах непрерывного автоматического сканирования.
- Флаг Уведомления webhook позволяет настроить параметры рассылки webhook-уведомлений (см. раздел «Вебхуки»).
После установки параметров нажмите на кнопку Применить.
У версии приложения с установленным непрерывным сканированием в колонке Способ запуска после завершения первого автоматического сканирования будет указано значение AUTO.
Результаты выполненного автоматического сканирования версии приложения будут отображаться в виде новой записи в списке сканирований в следующих случаях:
- При возрастании критичности нарушений политик относительно результатов предыдущего сканирования.
- При изменении действия нарушенной политики на блокирующее относительно результатов предыдущего сканирования.
- При увеличении количества нарушений политик относительно результатов предыдущего сканирования.
При создании новой записи о результатах автоматического сканирования производится рассылка уведомлений выбранным пользователям и на указанные дополнительные адреса электронной почты в соответствии с заданными параметрами мониторинга приложения.
Уведомление содержит информацию о приложении, о нарушениях политик, ссылку на подробный отчет о сканировании, а также дату и время создания отчета.
При необходимости непрерывное сканирование можно отключить с помощью флага Непрерывное сканирование или удалить, нажав на кнопку Очистить настройки в окне Параметры мониторинга.
Сканирование SBOM¶
В системе можно провести сканирование файла SBOM, представленного в формате CycloneDX.
Выберите пункт Приложения в меню слева и в списке команд и приложений выберите приложение. В правом верхнем углу поля с информацией о выбранном приложении нажмите на значок и в выпадающем меню выберите пункт Проверить SBOM.
В появившемся окне Проверка SBOM выберите окружение и загрузите файл SBOM в соответствующих полях.
Для запуска сканирования нажмите кнопку Проверить.
После завершения сканирования в окне появится краткое сообщение о его результатах.
Нажмите на кнопку Посмотреть отчет, чтобы ознакомиться с детальными результатами сканирования. На открывшейся странице можно найти результаты для всех компонентов, содержащихся в файле SBOM.
Если для заданного окружения есть активные политики, блокирующие компоненты, перечисленные в файле SBOM, это будет отображено в кратком сообщении о результатах сканирования.
В этом случае на странице с детальными результатами сканирования можно определить количество нарушений политик для каждого из компонентов, а также посмотреть все блокировки.
Дерево зависимостей между компонентами¶
После завершения сканирования SBOM-файла приложения по нажатию кнопки Смотреть отчет система предоставит детальные результаты сканирования в виде отдельной строки на вкладке Сканирования компонентов для каждого из компонентов.
Компоненты сканируемого приложения в файле SBOM могут быть связаны между собой прямыми и транзитивными зависимостями. Вкладка Компоненты позволяет получить информацию о зависимостях между компонентами приложения.
С помощью флага Показать зависимости можно вывести на экран существующие прямые и транзитивные зависимости в виде дерева зависимостей.
Нажмите на название компонента в дереве зависимостей.
Обратите внимание, что с помощью флага Скрыть несвязанные, расположенного ниже названия компонента, можно убрать из дерева все компоненты, не связанные с выбранным компонентом.
Нажмите на кнопку Подробная информация, расположенную ниже флага Скрыть несвязанные. На экране появится окно с информацией о собственных нарушениях политик для выбранного компонента и о нарушениях политик, наследованных от связанных компонентов.
При нажатии на название компонента в поле Пакет приложения на экране появится страница, содержащая детальную информацию о нем, см. раздел «Информация о компоненте».
Примечание
Для отображения многоуровневого дерева зависимостей в сканируемом SBOM-файле должен содержаться блок зависимостей dependencies. В случае его отсутствия, на вкладке Компоненты все компоненты будут отображаться на одном уровне LEVEL 0, а флаг Показать зависимости будет выключен и неактивен.
Сканирование файла манифеста¶
В системе можно провести сканирование файла манифеста приложения.
Выберите пункт Приложения в меню слева и в списке команд и приложений выберите приложение. В правом верхнем углу поля с информацией о выбранном приложении нажмите на значок и в выпадающем меню выберите пункт Проверить файл манифеста.
В появившемся окне Проверка файла манифеста выберите окружение, укажите версию и загрузите файл манифеста в соответствующих полях.
Для запуска сканирования нажмите на кнопку Проверить.
После завершения сканирования его результаты будут добавлены в список на вкладке Сканирования приложения.
Сканирование репозитория¶
На странице Приложения можно провести сканирование репозитория.
Для этого необходимо выбрать приложение, перейти на вкладку Настройки, задать URL репозитория и Токен, используемый для работы с данным репозиторием в соответствующем инструменте, например, GitLab или GitHub, и нажать на кнопку Применить.
Подключенный репозиторий будет отображен в поле Репозиторий кода в верхней части страницы с информацией о выбранном приложении.
Примечание
В текущей версии системы при некорректно указанных значениях в полях URL репозитория и Токен или при отсутствии соединения с репозиторием, проблема с подключением будет выявлена только в ходе сканирования и приведет к завершению сканирования с сообщением об ошибке Некорректный SBOM файл.
После завершения настройки перейдите на вкладку Сканирования приложения, в правом верхнем углу поля с информацией о выбранном приложении нажмите на значок и в выпадающем меню выберите пункт Сканирование репозитория.
В появившемся окне Сканирование репозитория выберите окружение, заполните одно из трех полей – Ветка, Коммит или Тег, а также укажите версию в соответствующем поле.
Примечание
В текущей версии системы некорректно указанное значение в полях Ветка, Коммит или Тег будет выявлено только в ходе сканирования и приведет к завершению сканирования с сообщением об ошибке Некорректный SBOM файл.
Для запуска сканирования нажмите на кнопку Сканировать.
После завершения сканирования его результаты будут добавлены в список на вкладке Сканирования приложения.
Анализ авторов¶
На вкладке Авторы страницы Приложения представлен список всех авторов коммитов в репозитории, подключенном на вкладке Настройки (см. раздел «Сканирование репозитория»).
Для каждого автора указаны:
- Имя автора в Git.
- Email - адрес электронной почты.
- Количество коммитов автора в подключенном репозитории.
Если репозиторий на вкладке Настройки не был подключен, список авторов на вкладке Авторы будет пустым.
Технический состав приложения отображается на странице информации о компоненте (Info), начиная с версии 3.19.
Поиск секретов¶
На вкладке Поиск секретов страницы Приложения доступна функциональность поиска секретов в репозитории, подключенном на вкладке Настройки (см. раздел «Сканирование репозитория»).
- Поиск секретов - это отдельная функция, не связанная с политиками и не влияющая на блокировки компонентов.
- Для поиска секретов не требуется специальных прав в системе, он доступен для ролей, имеющих доступ к интеграциям с репозиториями и их сканированию.
- Для поиска используются ключевые слова и регулярные выражения, которые нельзя кастомизировать со стороны пользователя.
Система ищет секреты в коде репозитория:
- Токены доступа (GitHub, GitLab, AWS, Google Cloud и др.).
- API-ключи (Twitter, Stripe, Twilio, Spotify и др.).
- Учетные данные (пароли, client IDs, JWT-токены).
Для запуска сканирования:
- На вкладке Поиск секретов нажмите на кнопку Сканировать.
- В появившемся окне укажите ветку (по умолчанию – main). Важно: Выбранная ветка не сохраняется в истории сканирований.
После выполнения сканирования на странице отображаются следующие результаты:
-
В верхней части страницы:
- Дата и время сканирования.
- Кнопка Перезапуск, с помощью которой можно перезапустить сканирование (с выбором ветки).
-
Ниже отображается сгруппированный по критичности список найденных секретов:
- Критичность (критическая, высокая, средняя, низкая).
- Путь к файлу.
- ID правила (регулярного выражения), которое сработало.
- Количество найденных секретов.
- Номера строк, где обнаружены секреты.
- Фрагмент кода с подсветкой проблемных участков.
Уведомления приложения¶
Система позволяет настроить рассылку уведомлений о сработавших блокирующих политиках для приложения при сканировании файла SBOM.
Примечание
Данная настройка уведомлений не относится к мониторингу приложения с помощью механизма непрерывного автоматического сканирования, см. раздел «Непрерывное сканирование».
Выберите пункт Приложения в меню слева и в списке команд и приложений выберите приложение. В правом верхнем углу поля с информацией о выбранном приложении нажмите на значок и в выпадающем меню выберите пункт Настроить уведомления.
В появившемся окне Параметры уведомлений задайте настройки для рассылки уведомлений.
- Флаг Уведомления пользователей позволяет включить или выключить уведомления для приложения.
- Частота уведомлений — значение параметра можно выбрать из выпадающего списка (При срабатывании, 1 раз в час, 1 раз в день).
- Получатели уведомлений — в этом поле из выпадающего списка можно выбрать пользователей, которые будут получать уведомления.
- Роль — в этом поле из выпадающего списка можно выбрать существующие роли пользователей в системе. Пользователи, имеющие указанные роли, будут автоматически добавлены к списку получателей.
- Email — в этом поле можно указать дополнительные адреса электронной почты, на которые будут рассылаться уведомления.
- Флаг Уведомления webhook позволяет настроить параметры рассылки webhook-уведомлений (см. раздел «Вебхуки»).
Нажмите на кнопку Сохранить.
После завершения настройки уведомления будут рассылаться в соответствии с заданными параметрами, а в списке Приложения и команды рядом с названием приложения появится значок .
При необходимости рассылку уведомлений можно отключить с помощью флага Включить уведомления в окне Уведомления.
Закрытый контур¶
В закрытом контуре сведения о новых компонентах в дампе базы данных обновляются один раз в месяц и нет возможности проверить версии онлайн.
Таким образом, может быть сделана попытка просканировать неизвестную версию компонента или неизвестный компонент, которых нет в дампе базы данных.
В случае проверки компонента, которого нет в дампе базы данных, даже если были установлены политики с проверками по дате, по лицензии и по хешу, этот компонент пройдет проверку.
Чтобы не пропустить такие компоненты без дополнительного анализа, в политики можно добавлять через условие ИЛИ еще одну проверку, где в поле Условие будет указано значение Пустой, например:
Для компонентов, которых нет в дампе базы данных, на странице информации о компоненте все поля на вкладке Информация о версии будут содержать прочерки.