Перейти к содержанию

Информация о компоненте

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

Страница имеет два представления:

  • Результаты сканирования — открывается по умолчанию и показывает состояние компонента на момент последнего сканирования.
  • Актуальные данные — открывается по кнопке Актуальные данные и показывает актуальное состояние компонента со списком всех его версий. До версии 4.5.0 это представление было единственным на странице информации о компоненте.

Результаты сканирования

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

В верхней части страницы приведены:

  • Компонент — имя компонента и его версия.
  • Атрибуты компонента:
    • для компонента репозитория — PURL, Формат, Менеджер (репозиториев) и Репозиторий;
    • для компонента приложения — PURL, Формат, Имя приложения и Группа.
  • Состояние компонента:
    • статус блокировки (например, Заблокирован);
    • количество обнаруженных уязвимостей;
    • количество нарушений политик;
    • Достижимость — результат анализа достижимости уязвимых функций (см. раздел «Анализ достижимости уязвимых функций»). Если анализ не проводился, отображается значение Не проводился.
  • Кнопка Актуальные данные — переход к актуальному состоянию компонента (см. раздел «Актуальные данные» ниже).
  • Кнопка Задачи в Jira — создание задач в Jira, относящихся к версии компонента (см. раздел «Создание задач в Jira»).

Примечание

Если компонент репозитория не нарушает блокирующих политик, он доступен для скачивания по нажатию на ссылку в поле Репозиторий в верхней части страницы. Попытка скачивания компонента, нарушающего блокирующую политику, приведет к переходу на страницу 403 Компонент заблокирован (см. раздел «Работа в менеджере репозиториев»).

Примечание

Начиная с версии 3.12.0, доступ к странице с детальной информацией о компоненте приложения зависит от значения переменной anonymousInfo в конфигурационном файле application.yml. Если эта переменная отсутствует или имеет значение true, страница доступна для всех пользователей, а при установленном значении false она будет доступна только тем пользователям, у которых есть права доступа Просмотр страницы информации о компоненте для данного приложения.

Информация о компоненте сгруппирована по вкладкам Нарушения политик, Уязвимости, Исключения, Запросы на разблокировку и Наличие в объектах. Для компонентов из репозиториев Hugging Face дополнительно отображается вкладка Файлы с информацией о файлах модели ИИ.

Нарушения политик

На вкладке Нарушения политик представлена информация о нарушениях политик безопасности, включая название каждой нарушенной политики и список нарушающих ее уязвимостей, свойств и лицензий, а также совместимости лицензий (см. раздел «Проверка совместимости лицензий»).

Каждое нарушение представлено отдельной карточкой, в которой указаны критичность нарушенной политики, ее название и количество сработавших проверок. При раскрытии карточки отображается список сработавших проверок: для каждой приведены идентификатор уязвимости или проверяемое значение, условие проверки и компонент, в котором найдено нарушение.

Уровень критичности нарушенной политики выделяется соответствующим цветом.

Сведения о добавлении исключений для политики или отдельного срабатывания приведены в разделе «Добавление исключения на странице информации о компоненте».

Уязвимости

На вкладке Уязвимости представлена информация обо всех обнаруженных уязвимостях, включая уязвимости, нарушающие политики.

Для каждой уязвимости приведены ее идентификатор, оценки CVSS (единая, а также CVSS v2, v3, v4), оценки EPSS и Percentile, а также информация по CISA KEV.

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

С этой же информацией, включая статус, описание, обнаружение, объяснение, рекомендации по устранению и полезные ссылки, также можно ознакомиться с помощью пункта меню «Поиск уязвимостей».

В случае обнаружения неточностей в описании уязвимости нажмите на кнопку Ошибка в уязвимости? справа вверху. В почтовом клиенте будет создано новое письмо на адрес службы поддержки support@appsec.global с темой обращения «Некорректное описание уязвимости <идентификатор_уязвимости>». Изложите детали в теле письма и отправьте его в службу поддержки.

Исключения

На вкладке Исключения представлена информация обо всех распространяющихся на компонент исключениях.

Запросы на разблокировку

На вкладке Запросы на разблокировку представлена информация обо всех запросах на разблокировку компонента. Запросы можно отфильтровать по их статусу с помощью выпадающего списка Показывать, содержащего пункты Все, Новые, Одобренные, Отклоненные и Неактуальные.

Чтобы узнать больше о запросе, нажмите на кнопку Подробнее в конце строки запроса. На экране появится окно с детальной информацией о запросе, см. раздел «Разблокировка».

Наличие в объектах

На вкладке Наличие в объектах представлена информация о том, в каких объектах (репозиториях и приложениях) присутствует эта версия компонента. Для практики OSA приведены данные о менеджере репозиториев и репозитории, для практики SCA — о команде и приложении. Пользователям, имеющим права для просмотра страницы информации о компоненте, предоставляется информация о наличии версии компонента во всех объектах системы.

Примечание

Для получения информации о наличии версии компонента в объектах необходимо глобальное право Просмотр страницы информации о компоненте, см. раздел «Пользователи и роли».

В случае, если администратор хочет предоставить такую возможность пользователю, ограниченному каким-либо объектом, необходимо делать связку {локальная роль с привилегиями в объекте} + {глобальная роль с правом Просмотр страницы информации о компоненте}.

Примечание

Вкладка Наличие в объектах не отображается, если страница просматривается анонимным пользователем.

Актуальные данные

По нажатию на кнопку Актуальные данные открывается актуальное состояние компонента со списком всех его версий.

В верхней части приведены имя компонента и его атрибуты, а для компонентов с признаком окончания жизненного цикла - значок End of life.

Список версий содержит сведения о доступных версиях компонента. Если версий немного, в список загружаются все версии. Если версий много, то загружается только текущая версия, а также рекомендуемая версия при ее наличии. Над списком в поле Показано версий отображается количество загруженных версий от их общего количества. Чтобы расширить список отображаемых версий, нажмите на кнопку Показать все, Показать версии Х.* или Показать версии Х.Х.*.

Если существует версия компонента, не нарушающая установленных политик, она рекомендуется как безопасная и выделяется в списке версий.

Для каждой версии в списке в колонках Уязвимости, Свойства и Лицензия цветом, соответствующим уровню критичности нарушенной политики, выделяется причина блокировки. В колонке Блокировка указывается, блокируется ли загрузка версии существующими в системе политиками. В колонке Запросы указывается количество запросов на разблокировку компонента. Строка выбранной версии подсвечивается.

Для выбранной версии справа отображается панель, в которой приведены номер версии с пометкой Текущая, кнопки Добавить в исключения и Разблокировать, а также вкладки Информация о версии, Нарушения политик, Уязвимости, Исключения, Запросы на разблокировку и Наличие в объектах.

Вкладки Нарушения политик, Уязвимости, Исключения, Запросы на разблокировку и Наличие в объектах содержат те же сведения, что и в представлении результатов сканирования (см. выше), но для выбранной в списке версии.

Информация о версии

На вкладке Информация о версии приводятся дополнительные сведения о выбранной версии:

  • PURL версии.
  • Квалификатор.
  • Расширение.
  • Дата публикации версии.
  • Дата обновления версии.
  • Лицензии — идентификаторы лицензий версии компонента.
  • Ссылка на репозиторий со ссылкой на компонент. Ссылка может оказаться нерабочей, если компонент (например, определенный как malware) уже был удален из репозитория.
  • Авторы — информация об авторах версии компонента. Для каждого автора приведены его имя, e-mail и логин (при наличии данной информации в источнике, иначе поля могут остаться незаполненными).

    Примечание

    Информация в разделах Авторы и Ссылка на репозиторий предоставляется только для следующих форматов: NPM (только для JavaScript), NuGet, Maven, PyPI.

  • Для версий с признаком окончания жизненного цикла дополнительно представлен значок End of life.

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

Начиная с версии 4.4.0, в модуле SCA для версии компонента с несколькими лицензиями добавлена возможность выбирать «основную» лицензию на уровне конкретного приложения, управляя тем, какая лицензия участвует в проверках политик. На другие приложения выбор «основной» лицензии для компонента распространяться не будет.

Примечание

  • У компонента может быть только одна «основная» лицензия. Все остальные лицензии в проверках политик будут игнорироваться.
  • У компонента может не быть «основной» лицензии. В этом случае проверки политик будут применяться ко всем доступным лицензиям.

Для выбора «основной» лицензии:

  1. Нажмите на идентификатор лицензии, расположенной в поле Доступные лицензии.
  2. В появившемся окне лицензии нажмите на кнопку Сменить и далее на кнопку Подтвердить. Лицензия переместится в поле Основная лицензия.

«Основную» лицензию можно перевести в общий список лицензий, выполнив следующие шаги:

  1. Нажмите на идентификатор лицензии, расположенной в поле Основная лицензия.
  2. В появившемся окне лицензии нажмите на кнопку Открепить и далее на кнопку Подтвердить. Лицензия переместится в поле Доступные лицензии.

Примечание

В момент выбора или открепления «основной» лицензии для компонента осуществляется перепроверка политик по лицензиям. Обновленная информация о нарушениях политик отображается на вкладке Нарушения политик.

Добавление исключения на странице информации о компоненте

Добавить исключения на странице информации о компоненте можно для нескольких типов объектов:

  • Выбранную версию компонента можно добавить в исключения нажатием на кнопку Добавить в исключения в представлении Актуальные данные.
  • На вкладке Нарушения политик в исключения можно добавить политику или срабатывание на нарушающую эту политику уязвимость или значение. Нажмите на значок в конце строки политики или уязвимости, чтобы добавить исключение для этого элемента.

В появившемся окне необходимо задать параметры создаваемого исключения.

При создании исключения для версии компонента репозитория должны быть заданы следующие параметры:

  • Уровень применения (Глобальный, Менеджер репозиториев, Репозиторий, Проекты).
  • Дата окончания – указывается для всех уровней применения. Исключение можно сделать бессрочным, то есть не имеющим даты окончания его действия, если оставить поле Дата окончания пустым.
  • Менеджер репозиториев – указывается только для уровней Менеджер репозиториев и Репозиторий.
  • Репозиторий – указывается только для уровня Репозиторий.
  • Проект – указывается только для уровня Проекты.
  • Распространить на версии – в этом поле можно выбрать из списка версий компонента неограниченное количество версий, на которые будет распространяться создаваемое исключение. С помощью флага Выбрать все можно выбрать сразу все существующие версии компонента.
  • Комментарий можно добавить в соответствующем поле.

При создании исключения для версии компонента приложения должны быть заданы следующие параметры:

  • Уровень применения (Глобальный, Команды, Приложения, Проекты).
  • Дата окончания — указывается для всех уровней. Исключение можно сделать бессрочным, то есть не имеющим даты окончания его действия, если оставить поле Дата окончания пустым.
  • Команда — указывается только для уровней Команды и Приложения.
  • Приложение — указывается только для уровня Приложения.
  • Проект – указывается только для уровня Проекты.
  • Распространить на версии — в этом поле можно выбрать из списка версий компонента неограниченное количество версий, на которые будет распространяться создаваемое исключение. С помощью флага Выбрать все можно выбрать сразу все существующие версии компонента.
  • Комментарий можно добавить в соответствующем поле.

После заполнения всех полей нажмите на кнопку Добавить. Информация о вновь созданном исключении появится на вкладке Исключения на странице информации о компоненте и на вкладке Исключения на странице репозитория/приложения.

При создании исключения для политики должен быть задан такой же набор параметров.

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

Создание задач в Jira

Начиная с версии 3.17.0, в системе существует возможность создавать в Jira задачи, относящиеся к текущей версии компонента.

Примечание

Для создания задач в Jira необходимо предварительно настроить интеграцию с Jira.

Для создания задачи в Jira нажмите на кнопку Задачи в Jira.

Примечание

Для создания задач в Jira пользователь должен иметь права Создание связанной задачи в Jira, см. раздел «Пользователи и роли». В случае отсутствия прав, кнопка Задачи в Jira не будет отображаться на странице информации о компоненте.

В появившемся окне Задачи в Jira на вкладке Новая задача можно заполнить поля создаваемой задачи.

Примечание

Поля создаваемой задачи будут предзаполнены значениями, заданными при настройке соответствия полей задач проекта в Jira и полей в AppSec.Track.

Заполнение значений в окне Задачи в Jira имеет ряд особенностей:

  • В этом окне в поля нельзя вводить множественные значения. Например, если ввести в поле Метки два значения, разделенные запятой, то все введенные в поле символы будут переданы в Jira как одно значение (как одна метка, содержащая в середине запятую).

    Примечание

    Задать несколько значений в поле Метки можно в процессе предзаполенения на этапе настройки соответствия полей в Jira и полей в AppSec.Track.

  • Пробелы в поле Метки недопустимы, в случае их наличия система выдаст сообщение об ошибке.

  • В полях Компоненты и Приоритет можно выбрать значения из выпадающих списков.
  • В поле Epic link можно ввести идентификатор задачи, которая является эпиком в Jira.
  • В поле Sprint можно ввести идентификатор открытого или будущего спринта в Jira.
  • В поле Исполнитель можно ввести логин одного из пользователей Jira.
  • Если не были заполнены все обязательные поля, кнопка Создать на вкладке Новая задача будет недоступна.

После заполнения полей задачи нажмите на кнопку Создать.

Все ранее созданные задачи отображаются в окне Задачи в Jira на вкладке Созданные задачи. Для каждой задачи приведены ссылка на задачу и ее статус в Jira. Если ранее не было создано ни одной задачи, вкладка Созданные задачи будет отсутствовать.