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

Пайплайны

Примечание

Для выполнения нижеописанных действий требуется роль Менеджер.

Информация о пайплайне

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

Существует несколько типов пайплайнов:

  • Пайплайн исходного кода.
  • Пайплайн артефактов.
  • Пайплайн экземпляра приложения.
  • Периметр DevSecOps для работы с прокси-репозиториями.

Пайплайны создаются для конкретной кодовой базы/артефакта/экземпляра приложения/прокси-репозитория на основе конфигурации используемых инструментов разработки ПО и инструментов AST.

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

Выберите в меню пункт Applications и нажмите на идентификатор или название приложения.

Выберите элемент меню Pipelines. На экране появится список пайплайнов для выбранного приложения, включая элементы контура контроля разработки ПО DevSecOps perimeter для работы с прокси-репозиториями (см. раздел «Периметр DevSecOps»).

Каждый пайплайн представлен отдельной строкой, которая содержит следующую информацию:

  • ON/OFF — если этот переключатель выключен и отображается серым цветом, пайплайн не может быть запущен на сканирование. Если переключатель включен и отображается синим цветом, пайплайн может быть запущен на сканирование.

  • PIPELINE DETAILS — краткое описание пайплайна. Нажмите на значок , расположенный в этом столбце справа, чтобы получить больше информации об этом пайплайне. Чтобы получить более подробную информацию обо всех отображенных пайплайнах, нажмите значок рядом с названием столбца. PIPELINE DETAILS может включать в себя следующую информацию в зависимости от типа пайплайна (ряд полей является опциональным):

    • # — идентификатор пайплайна и его название в системе. Рядом может быть приведена дополнительная графическая информация о том, что:

      • пайплайн является шаблоном для создания новых пайплайнов (значок );
      • был создан с использованием другого пайплайна в качестве шаблона (значок );
      • конфигурация пайплайна содержит изменения, еще не экспортированные в инструмент CI/CD (значок ).
    • Type — тип пайплайна (Codebase, Artifact, Instance, Devsecops perimeter).

    • Quality Gate — название установленного в пайплайне QG. Значок означает наследование Quality Gates с более высокого уровня, см. раздел «Иерархия и наследование Quality Gates» Руководства администратора.
    • Target tool — инструмент, в котором находится сканируемый в пайплайне объект (кодовая база, артефакт или экземпляр приложения).
    • CI/CD tool — инструмент CI/CD, применяемый в пайплайне.
    • Scan tools — инструменты сканирования, применяемые в пайплайне.
    • Updated — время, прошедшее с момента последнего обновления пайплайна.
    • Last export to CI/CD — время, прошедшее с момента последнего экспорта пайплайна в инструмент CI/CD.
    • Last scan — время, прошедшее с момента последнего сканирования с использованием этого пайплайна.
    • Webhook — указывает на использование webhook-механизма в пайплайне.
    • Notification — указывает на использование в пайплайне рассылки уведомлений о статусе пайплайна с помощью механизма Notification в инструменте GitLab CI.
    • Custom webhook — указывает на использование custom webhook-механизма в пайплайне.
    • Scan target — ссылка на объект(ы) сканирования.
    • TAGGING — этот переключатель позволяет разрешить или запретить тегирование релизного объекта. Если этот переключатель включен, тегирование релизного объекта разрешено.
    • PROTECTION — этот переключатель позволяет защитить от перезаписи пайплайн, настроенный вручную извне. Если этот переключатель включен, пайплайн не может быть экспортирован в инструмент CI/CD.

Кроме того, справа в строке каждого пайплайна представлено выпадающее меню «», содержащее пункты:

  • Export CI/CD - с его помощью можно экспортировать пайплайн в инструмент CI/CD (см. раздел «Экспорт в CI/CD»).
  • Start scan для запуска сканирования.
  • Delete pipeline для удаления пайплайна.

Фильтрация пайплайнов

Чтобы настроить фильтрацию пайплайнов, нажмите кнопку Show filters в правом верхнем углу страницы. В системе предусмотрена возможность фильтрации пайплайнов по следующим параметрам:

  • by structure unit — по структурным единицам приложения, к которым относятся пайплайны.
  • By name — по имени пайплайна.
  • By type — по типу пайплайна (Codebase, Artifact, Instance, Devsecops perimeter).
  • By tool — по типу сканируемого объекта / целевому инструменту, используемому в пайплайне (по значению поля Target tool в строке пайплайна).
  • Sort by last scan — по дате последнего сканирования — Newest first/Oldest first (сначала новые/сначала старые). При выборе любого значения в этом поле все пайплайны, которые еще ни разу не запускались на сканирование, будут помещены в конце списка.

Структура пайплайна

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

На вкладке Structure приведена информация о структуре пайплайна.

Например, для пайплайна исходного кода можно получить следующую информацию:

  • Объект сканирования (в данном примере - кодовая база), используемый инструмент VCS (Version Control System, система управления версиями), URL кодовой базы, тип ветки кода, инструмент сборки.
  • Инструмент оркестрации (CI/CD) и его URL.
  • Инструмент для сканирования безопасности (например, PT Application Inspector).
  • Общая информация — дата последнего экспорта в CI/CD, дата последнего сканирования, дата последнего обновления.

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

На рисунке выше показан пайплайн исходного кода, который состоит из трех частей (или трех карточек):

  • Кодовая база с исходным кодом.
  • Инструмент оркестрации CI/CD.
  • Инструмент AST (PT Application Inspector).

Набор используемых инструментов определяется в зависимости от имеющихся лицензий. Настройки каждого инструмента определяются в AppSec.Hub. Нажмите на иконку редактирования в правом нижнем углу карточки инструмента сканирования. Задайте настройки инструмента в появившемся окне Update scan config и сохраните их.

Пользователь с правами Менеджера может выполнить следующие действия с пайплайном кодовой базы/артефакта/экземпляра приложения, нажав на кнопку Actions в правом верхнем углу и выбрав одно из этих действий из выпадающего меню:

  • Add new element - добавить новый элемент в структуру пайплайна.
  • Add codebase/Add artifact - добавить новый объект сканирования в структуру пайплайна кодовой базы/артефакта.
  • Start scan - запустить сканирование (запустить пайплайн).
  • Export CI/CD - экспортировать пайплайн в инструмент CI/CD (см. раздел «Экспорт в CI/CD»).
  • Push changes - применить внесенные в пайплайн-шаблон изменения для дочерних пайплайнов (см. раздел «Управление шаблонами пайплайнов»).
  • Delete pipeline - удалить пайплайн.

Настройки пайплайна

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

Выберите вкладку Settings, чтобы сконфигурировать пайплайн.

На этой вкладке с помощью селекторов можно установить следующие настройки:

  • Pipeline activity — если этот переключатель выключен, пайплайн не может быть запущен на сканирование. Состояние этой настройки пайплайна в AppSec.Hub отображается на странице PIPELINES с помощью переключателя пайплайна (ON/OFF). Если переключатель выключен и отображается серым цветом, пайплайн не может быть запущен на сканирование. Если переключатель включен и отображается синим цветом, пайплайн может быть запущен на сканирование.
  • Hub Engine — этот переключатель позволяет использовать в пайплайне или внешний инструмент CI/CD, например Jenkins, или Hub Engine (см. детали в разделе «Hub Engine»).

  • CI/CD overwrite protection — этот переключатель блокирует экспорт пайплайна в CI/CD инструмент с помощью пункта меню Export CI/CD. Это позволяет защитить настройки пайплайна от нежелательной перезаписи. В списке пайплайнов приложения состояние этого переключателя дублируется состоянием переключателя PROTECTION.

  • Is template — этот переключатель активирует функциональность, которая позволяет использовать пайплайн в качестве шаблона при создании новых, например, при онбординге. В списке пайплайнов приложения рядом с идентификатором и именем пайплайна появляется значок This is a template pipeline .

    Список всех пайплайнов в системе, созданных на основе данного пайплайна в качестве шаблона, приведен на вкладке Child pipelines пайплайна, являющегося шаблоном (см. раздел «Управление шаблонами пайплайнов»). В свою очередь, поле Is template пайплайна, созданного с использованием другого пайплайна в качестве шаблона, содержит ссылку на пайплайн-шаблон.

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

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

    Пайплайны исходного кода при установленном флажке Is template дополнительно содержат флажок depending on branch filter settings, а также заданное значение фильтра ветвей кодовой базы.

    При установке флажка Is template, флажок depending on branch filter settings также установится по умолчанию. В такой конфигурации, при онбординге при попытке создания пайплайна подходящий пайплайн-шаблон будет определяться в первую очередь по наиболее точно подходящему значению фильтра ветвей кодовой базы (Branch filter), и только затем – по значению в поле Build tool. Если флажок depending on branch filter settings не установлен, поиск пайплайна-шаблона будет производиться только по значению в поле Build tool, без учета значения Branch filter.

  • Issue state policy — настройка алгоритма изменения состояний проблем безопасности. Может быть выбрана одна из следующих настроек:

    • Compare with the 1st scan — определять состояние обнаруживаемых проблем безопасности в сравнении с результатами первого сканирования (стандартная настройка системы).
    • Compare with previous scan — определять состояние обнаруживаемых проблем безопасности в сравнении с результатами предыдущего сканирования.
    • Compare with the custom — определять состояние обнаруживаемых проблем безопасности в сравнении с результатами произвольного успешного сканирования. При выборе этого варианта на вкладке Settings настроек пайплайнов появляется дополнительное поле Issue state policy scan task, в котором необходимо указать соответствующее сканирование.
    • Compare with the previous scan in the target branch — определять состояние обнаруживаемых проблем безопасности в сравнении с результатами предыдущего сканирования из целевой ветки, указанной как параметр сканирования или импорта результатов. Эта настройка применима только для кодовых баз.

      • Если целевая ветка указана как параметр на уровне пайплайна, для сравнения проблем безопасности и определения их состояния берется последний успешный импорт, который был произведен в целевой ветке (target branch).
      • Если целевая ветка не указана как параметр на уровне пайплайна, но указана на уровне приложения, для сравнения проблем безопасности и определения их состояния берется последний успешный импорт, который был произведен в целевой ветке, указанной на уровне приложения.
      • Если целевая ветка не указана, сравнение производится по дефолтной ветке, указанной в настройках кодовой базы.
      • Если сканируется несколько кодовых баз, целевая ветка у всех кодовых баз общая.
      • Если дефолтная ветка не указана, сравнение производится по политике Compare with previous scan.
      • Если в приложении выбрана данная настройка и указана целевая ветка, и было запущено сканирование, например, артефакта, сравнение производится по политике Compare with previous scan.
      • Пример применения настройки: На ветке master было найдено 4 уязвимости и они были занесены в систему. После этого на ветке develop было найдено 5 уязвимостей: 4 как на ветке master и еще одна новая. При сравнении этого результата с веткой master в качестве целевой ветки, 4 уязвимости на ветке develop будут помечены как REPEATED, а пятая - как NEW.

    Примечание

    Настройка Issue state policy также определяется на уровне приложения в целом (см. детали в разделе «Настройки приложения»). Настройка на уровне пайплайна имеет приоритет по сравнению с настройкой на уровне приложения.

Hub Engine

В пайплайне можно использовать или внешний инструмент CI/CD, например Jenkins, или внутренние агенты сканирований - Hub Engine. Hub Engine является частью AppSec.Hub.

Для использования в пайплайне Hub Engine вместо внешнего инструмента CI/CD (например, вместо Jenkins) выполните следующие шаги:

  1. Включите переключатель Hub Engine, расположенный на вкладке Settings пайплайна.

    Примечание

    В настройках пайплайна Hub Engine по умолчанию выключен.

  2. В появившемся окне Hub Engine Settings в поле Selected queue выберите очередь Hub Engine из выпадающего списка. Кроме того, в поле Java version можно указать версию Java (необязательный параметр). Нажмите на кнопку Apply, чтобы подключить Hub Engine.

    Примечание

    При включенном Hub Engine защита настроек пайплайна от перезаписи с помощью опции CI/CD overwrite protection недоступна.

Список инструментов, поддерживаемых Hub Engine:

Инструмент Объект сканирования
PT Application Inspector Кодовые базы, артефакты
Dependency-Track Кодовые базы, артефакты
AppSec.Track Кодовые базы, артефакты
Solar appScreener Кодовые базы, артефакты
CodeScoring Кодовые базы, артефакты
Nexus IQ Кодовые базы, артефакты
SonarQube Кодовые базы
AppSec.Sting Мобильные приложения Android и iOS
PT BlackBox Инстансы
OWASP ZAP Инстансы
Trivy Docker-образы
Clair Docker-образы

Важно!

Если в пайплайне используются инструменты AST, которые отсутствуют в списке поддерживаемых инструментов, заменить внешний инструмент CI/CD на Hub Engine в текущем релизе невозможно.

Добавление инструмента AST, который не поддерживается Hub Engine, приводит к ошибке при старте сканирования.

При попытке добавить Jenkins в пайплайн, где уже используется Hub Engine, Jenkins будет добавлен в состав пайплайна, но в неактивном состоянии. При этом на карточке Jenkins на вкладке Structure будут отображены соответствующее сообщение Hub Engine Enabled и ссылка на настройки пайплайна.

В этом случае для включения Jenkins в пайплайне необходимо перейти на вкладку Settings и отключить Hub Engine с помощью переключателя. После отключения Hub Engine будет включен Jenkins.

Особенности сканирования с использованием Hub Engine описаны в разделе «Использование Hub Engine».

Управление шаблонами пайплайнов

В AppSec.Hub пайплайн может быть использован в качестве шаблона для других пайплайнов. Как уже было сказано в разделе «Настройки пайплайна», для этого на вкладке Settings данного пайплайна должен быть включен переключатель Is template. Дочерние пайплайны, созданные с помощью шаблона, не могут быть в свою очередь использованы как шаблон для создания других пайплайнов.

Использование пайплайна в качестве шаблона позволяет управлять набором инструментов сканирования во всех дочерних пайплайнах. Таким образом можно, например, заменить или добавить инструмент сканирования в пайплайне-шаблоне, и эти изменения будут автоматически применены ко всем дочерним пайплайнам. Исключением являются дочерние пайплайны, в которых после их создания по шаблону были вручную произведены изменения, из-за которых в данный момент эти дочерние пайплайны отличаются от пайплайна-шаблона. К таким изменениям относится удаление, замена или добавление сканирующего инструмента в дочернем пайплайне. Изменения только в настройках сканирующего инструмента без изменений в составе включенных в пайплайн инструментов не являются основанием для занесения такого пайплайна в число измененных вручную «проблемных» дочерних пайплайнов. При обновлении пайплайна-шаблона автоматическое обновление ранее измененного вручную дочернего пайплайна может привести к потере внесенных в него изменений, поэтому изменения в пайплайне-шаблоне не будут автоматически применяться к таким дочерним пайплайнам. В этом случае необходимо выполнить ручные шаги, описанные ниже.

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

Выберите пайплайн, являющийся шаблоном, и перейдите на вкладку Child pipelines. На этой вкладке приведен список всех дочерних пайплайнов, созданных с использованием данного пайплайна в качестве шаблона.

Примечание

У дочернего пайплайна, созданного с использованием другого пайплайна в качестве шаблона, вкладка Child pipelines отсутствует.

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

На вкладке Child pipelines для каждого из дочерних пайплайнов приводится следующая информация:

  • # — идентификатор пайплайна и его название в системе.

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

  • Application — название приложения, к которому относится дочерний пайплайн.

  • Quality Gate — название установленного в дочернем пайплайне QG.

Все дочерние пайплайны на вкладке Child pipelines отсортированы в следующем порядке:

  • Сначала расположены все измененные «проблемные» пайплайны, отмеченные значком и не подлежащие автоматическому обновлению.

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

В случае изменений в пайплайне-шаблоне при наличии в списке «проблемных» измененных вручную дочерних пайплайнов, отмеченных значком , на экране появится окно Parent pipeline changes, в котором можно с помощью кнопки Go to pipelines перейти на вкладку Child pipelines для ручного применения внесенных изменений в «проблемные» дочерние пайплайны.

С помощью кнопки Push changes , расположенной справа в строке каждого из «проблемных» дочерних пайплайнов, можно применить внесенные в шаблонный пайплайн изменения для отдельного дочернего пайплайна. Для этого нажмите кнопку и в появившемся окне Child pipeline changes нажмите кнопку Apply. Все внесенные в набор сканирующих инструментов в пайплайне-шаблоне изменения будут применены к выбранному дочернему пайплайну, а в списке на вкладке Child pipelines у данного пайплайна исчезнет значок .

Также можно вручную применить внесенные в пайплайн-шаблон изменения для нескольких дочерних пайплайнов одновременно. Нажимая значки , выберите из списка пайплайны для внесения изменений. Выбранные пайплайны будут отмечены значком . Для того чтобы выбрать все «проблемные» дочерние пайплайны одновременно, нажмите вверху списка пайплайнов значок слева от PIPELINE DETAILS. В результате на кнопке Actions справа вверху будет отображаться количество выбранных пайплайнов. Нажмите на кнопку Actions и в выпадающем меню выберите пункт Push changes, чтобы применить изменения ко всем выбранным дочерним пайплайнам.

Подтвердите внесение изменений нажатием кнопки Apply в появившемся окне Child pipeline changes.

Важно

При переходе на версию AppSec.Hub 2023.1 в системе все ранее созданные с использованием шаблонов дочерние пайплайны автоматически будут отнесены к «проблемным» дочерним пайплайнам. Внешне это выразится в появлении у них значка . Перевести эти дочерние пайплайны из категории «проблемных» можно вручную с помощью кнопки Push changes описанным выше способом.

Важно заметить, что для корректного завершения онбординга (см. раздел «Онбординг») необходимо наличие в AppSec.Hub предопределенного шаблона пайплайна.

В качестве такого шаблона может использоваться любой ранее созданный для данного приложения пайплайн соответствующего типа (для кодовых баз, артефактов и т. д.). Если для приложения определено несколько пайплайнов одного типа, для предсказуемого завершения интеграции важно для нужного пайплайна активировать опцию Is template — вновь автоматически создаваемые пайплайны для данного приложения будут использовать выбранный шаблон.

Добавление Quality Gate в пайплайн

Примечание

Для выполнения нижеописанных действий требуется роль Менеджера приложения.

Существующий в системе профиль Quality Gate (см. раздел «Quality Gates» Руководства администратора) может быть добавлен в пайплайн одного или нескольких приложений.

Чтобы добавить Quality Gate в пайплайн:

  1. Выберите в меню пункт Applications и нажмите на строку выбранного приложения.
  2. Выберите элемент меню Pipelines и нажмите на строку выбранного пайплайна.
  3. Перейдите на вкладку Quality gate.
  4. В случае, если опция Inherit quality gate отключена, Quality Gate можно выбрать из выпадающего списка. Для подключения Quality Gate выберите его из списка и нажмите на кнопку Save. На странице отобразятся условия критерия качества для вновь подключенного Quality Gate.

Удалить выбранный Quality Gate из пайплайна можно при помощи кнопки Remove QG.

В случае, если опция Inherit quality gate включена, наследуется Quality Gate, установленный для объекта более высокого уровня в иерархии Quality Gates (компании, подразделения в организационной структуре, к которому относится данное приложение, или приложения).

Примечание

К пайплайну одновременно может быть подключен только один Quality Gate. При подключении нового Quality Gate ранее подключенный — отключается.

Пример

Рассмотрим пример использования Quality Gate в пайплайне. Предположим, для выпуска релиза приложения определены следующие критерии: отсутствие любых уязвимостей высокой и критической степени серьезности, выявленных инструментами SAST и DAST.

Чтобы создать Quality Gate с такими критериями, при настройке профиля Quality Gate (см. раздел «Настройка профиля Quality Gate» Руководства администратора) выберем следующие параметры в окне Create condition:

  • Issue type: SAST, DAST.
  • Issue state: ALL.
  • Issue severety: HIGH, CRITICAL.
  • Treshold: 0.

В результате создан Quality Gate, который при включении его в пайплайн будет отслеживать выполнение указанных критериев. Если критерии Quality Gate не выполняются (для приведенного примера во время сканирования обнаружена минимум одна уязвимость высокой или критической степени серьезности), AppSec.Hub прервет выполнение пайплайна и релиз приложения не будет создан. Чтобы выпустить релиз, который соответствует заданному критерию QG, все уязвимости высокой и критической степени серьезности должны быть устранены до запуска пайплайна, создающего релиз приложения.

История сканирований пайплайна

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

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

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

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

Экспорт в CI/CD

После того как пайплайн создан и сконфигурирован в AppSec.Hub, его можно экспортировать в инструмент CI/CD.

Примечание

Если в пользовательском интерфейсе AppSec.Hub выполнены какие-либо изменения структуры уже существующего пайплайна, нет необходимости выполнять повторный экспорт параметров в инструменты CI/CD, см. ниже. Эти изменения будут учтены и внесены системой после получения запроса на сканирование непосредственно перед выполнением сканирования.

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

На странице пайплайна нажмите на кнопку Actions в правом верхнем углу и выберите в выпадающем меню пункт Export CI/CD, чтобы экспортировать пайплайн в инструмент CI/CD, например, Jenkins.

Сообщение о результате экспорта появится в правом нижнем углу экрана.

В результате экспорта, в инструменте CI/CD будет создан пайплайн с параметрами конфигурации, определенными в AppSec.Hub. Теперь инструмент CI/CD может выполнять сконфигурированный пайплайн. Он будет запускать все инструменты в пайплайне и предоставлять полученные результаты тестирования безопасности в AppSec.Hub.

Выполнить экспорт пайплайна в инструмент CI/CD также можно на странице Pipelines со списком пайплайнов приложения. Для этого справа в конце строки выбранного пайплайна нажмите на выпадающее меню «», а затем выберите пункт Export CI/CD.

Доступ к пайплайну в инструменте оркестрации

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

Раскройте подробную информацию о пайплайнах, нажав на кнопку .

В выбранном пайплайне нажмите на ссылку на инструмент оркестрации справа от поля Last export to CI/CD, чтобы получить доступ к пайплайну.

На экране появится страница авторизации инструмента оркестрации.

Отключение инструментов на уровне пайплайна

Инструменты сканирования можно отключить вручную в приложении на уровне пайплайна.

Для этого странице пайплайна выберите вкладку Structure и нажмите на иконку редактирования в правом нижнем углу карточки инструмента сканирования.

В появившемся окне Update scan config инструмент можно включить или отключить, переведя селектор в правом верхнем углу окна в нужное положение и нажав на кнопку Update.

Карточка неактивного инструмента на вкладке Structure отображается серым цветом.

Если инструмент был деактивирован на уровне компании (см. раздел «Отключение инструментов» Руководства администратора), активировать его на уровне пайплайна невозможно.

Если активный на уровне пайплайна инструмент был деактивирован на уровне компании, он будет при этом деактивирован и в данном пайплайне, его карточка в структуре пайплайна будет отображаться серым цветом, но при этом селектор в правом верхнем углу окна Update scan config у такого инструмента останется синего цвета. В случае последующей активации инструмента на уровне компании он будет вновь автоматически активирован в этом пайплайне.

Если инструмент был деактивирован и на уровне компании, и на уровне пайплайна, то даже в случае его последующей активации на уровне компании, в этом пайплайне он останется деактивирован.

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

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

Если был деактивирован единственный инструмент сканирования в пайплайне, дальнейшие сканирования и экспорт в этом пайплайне невозможны. После деактивации одного из нескольких инструментов в пайплайне сохраняется возможность сканирования и экспорта, но только с теми инструментами, которые остаются активными.

Импорт результатов производится также только из активных инструментов.

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

Если деактивирован инструмент в пайплайне, защищенном от перезаписи с помощью переключателя CI/CD overwrite protection, то результаты сканирования и экспорта после деактивации для данного инструмента не будут загружаться в систему.

Пайплайн исходного кода

Важное замечание

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

Создание пайплайна исходного кода

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

Нажмите на кнопку +Add new в правом вернем углу и выберите пункт Сodebase pipeline из выпадающего меню, чтобы добавить новый пайплайн исходного кода.

В открывшемся окне Codebase pipeline creating для добавления новой кодовой базы:

  1. Выберите имя кодовой базы, которую необходимо добавить, и нажмите на кнопку Forward.
  2. В поле Branch filter задайте фильтр ветвей кодовой базы.

    Примечание

    В поле Branch filter поддерживается использование масок, например, если указать значение feature_*, будут выбраны все ветки, имеющие префикс «feature_».

  3. Нажмите на кнопку Create.

Новый пайплайн исходного кода появится на странице Pipelines. Его название состоит из разделенных дефисом имени кодовой базы, выбранной на первом шаге добавления кодовой базы, и значения фильтра ветвей кодовой базы, определенного на втором шаге.

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

  • Инструмент оркестрации (CI/CD) еще не добавлен в пайплайн.
  • Инструмент сканирования еще не добавлен в пайплайн.

Обратите внимание на параметр Checkout path на карточке кодовой базы пайплайна. Он задает директорию, в которой будет производиться выгрузка (checkout) данной кодовой базы в CI/CD инструменте.

Нажмите на кнопку Actions справа вверху и выберите пункт Add new element из выпадающего меню.

Чтобы добавить инструмент оркестрации CI/CD в пайплайн, выберите пункт CI во вновь появившемся окне.

В следующем окне Create CI tool выберите инструмент оркестрации из списка в поле Tool и нажмите на кнопку Create.

В результате на вкладке Structure появится новая карточка инструмента оркестрации, а также исчезнет одно соответствующее предупреждение.

Следующим шагом является добавление в пайплайн инструмента сканирования.

Нажмите на кнопку Actions справа вверху и выберите пункт Add new element из выпадающего меню.

Выберите пункт SAST tool во вновь появившемся окне, чтобы добавить в пайплайн инструмент сканирования, например, PT Application Inspector.

В появившемся окне Create SAST scan config выберите PT Application Inspector из списка инструментов в поле Tool.

Выполните настройку параметров инструмента (см. раздел с описанием подключения и особенностей интеграции PT Application Inspector).

На странице со структурой пайплайна появится новая карточка инструмента PT Application Inspector, и последнее предупреждение на вкладке Structure исчезнет.

Теперь нажмите на кнопку Actions в правом верхнем углу страницы со структурой пайплайна и выберите пункт Export CI/CD из выпадающего меню, чтобы экспортировать пайплайн в инструмент оркестрации CI/CD (в этом примере — Jenkins). Это необходимо для синхронизации настроек пайплайна в AppSec.Hub и в Jenkins. В правом нижнем углу экрана появится подтверждающее сообщение результате экспорта.

Используйте кнопку Actions и далее пункт Start scan в выпадающем меню, чтобы запустить сканирование безопасности исходного кода с помощью добавленного в пайплайн инструмента (PT Application Inspector в данном примере), см. детали в разделе «Запуск и параметры сканирования кодовых баз».

Запуск и параметры сканирования кодовых баз

При сканировании кодовых баз в AppSec.Hub можно задавать различные параметры. В частности, для проведения сканирования можно указать хеш-сумму коммита кода в кодовой базе. Если в качестве параметра указано только имя ветки, AppSec.Hub автоматически выбирает для сканирования последний коммит кода из этой ветки. Если одновременно указаны и имя ветки, и хеш-сумма коммита кода, приоритетное значение имеет хеш коммита. Также хеш коммита имеет приоритет над именем ветки и при работе с Meta-Runner.

Примечание

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

Нажмите на кнопку Actions в правом верхнем углу и выберите пункт Start scan из выпадающего меню, чтобы начать сканирование.

В появившемся окне Scan start при необходимости укажите в поле Commit хеш-сумму коммита кода, который требуется просканировать. Хеш-сумму коммита кода проще всего скопировать из инструмента, где находится исходный код.

Нажмите на кнопку Start scan в правом нижнем углу, чтобы начать сканирование. После этого на вкладке Scans пайплайна кодовой базы появится новая строка с информацией о запущенном сканировании со статусом IN PROGRESS.

Нажмите на ID сканирования. На экране появится детальная информация о запущенном сканировании. Если в качестве параметра сканирования был задан хеш коммита, его значение будет показано в разделе Scan target в поле Commit, а в поле Branch будет указано значение из поля Branch filter пайплайна. При нажатии на значение в поле Commit произойдет переход на этот коммит в инструменте версионного контроля.

Если в качестве параметра сканирования было выбрано имя ветки, оно будет указано в разделе Scan target в поле Branch, а в поле Commit будет указан автоматически выбранный для сканирования последний коммит кода из этой ветки.

Примечание

При выборе пункта Start scan каждый раз происходит автоматический экспорт пайплайна в инструмент оркестрации CI/CD, а затем производится запуск сканирования. Таким образом, можно произвести изменения в структуре пайплайна, например, добавить инструмент сканирования, а затем запустить сканирование, используя пункт Start scan, без предварительного экспорта изменений с помощью пункта Export CI/CD. Благодаря автоматическому экспорту, при выборе пункта Start scan такая последовательность шагов будет работать корректно при условии, что на вкладке Settings данного пайплайна переключатель CI/CD overwrite protection находится в положении «выключено» (см. описание в разделе «Настройки пайплайна»).

Пайплайн нескольких кодовых баз

AppSec.Hub позволяет создать пайплайн для нескольких кодовых баз. При этом существуют ограничения на состав включаемых в пайплайн кодовых баз.

Чтобы добавить дополнительные кодовые базы в уже существующий пайплайн, нажмите на кнопку Actions и выберите в выпадающем меню пункт Add codebase.

В открывшемся окне Codebase pipeline creating приведен список доступных для добавления в данный пайплайн кодовых баз.

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

Выберите кодовую базу, задайте ее параметры и добавьте в пайплайн. Карточка вновь добавленной кодовой базы появится на вкладке Structure пайплайна.

Для основной (primary) кодовой базы, с которой создается пайплайн, параметр Checkout path всегда имеет значение «/», то есть он всегда указывает на корневую директорию в CI/CD инструменте. Для всех вновь добавляемых (secondary) кодовых баз эта директория генерируется автоматически и значение этого параметра можно поменять. Для этого нажмите на иконку Edit codebase в правом нижнем углу карточки кодовой базы, в появившемся окне Update codebase отредактируйте значение параметра Checkout directory и нажмите на кнопку Update.

Для вновь добавляемых кодовых баз в качестве параметра нельзя указывать корневую директорию. Также значение параметра Checkout path не должно совпадать с уже используемыми другими кодовыми базами директориями. В этих случаях система выведет на экран сообщение о невозможности присвоить параметру заданное значение. В поле Branch filter можно задавать свой уникальный фильтр ветвей как для основной кодовой базы, так и для всех вновь добавляемых кодовых баз.

В AppSec.Hub поддерживается сканирование пайплайна с несколькими кодовыми базами. При запуске такого сканирования в окне Scan start необходимо указать ветку (поле Branch) или коммит (Commit) для каждой кодовой базы.

Примечание

Необходимо помнить, что значение в поле Branch filter задает фильтр доступных ветвей для каждой из кодовых баз. Если в окне Scan start в поле Branch будет выбрано значение, которое не подходит под заданный в поле Branch filter фильтр ветвей кодовой базы, сканирование не будет запущено.

При сканировании нескольких кодовых баз поле Scan target страницы с детальной информацией о запущенном сканировании содержит информацию о каждой из кодовых баз.

Конфигурация уведомлений в GitLab CI

Инструмент GitLab CI позволяет включить и сконфигурировать рассылку уведомлений о статусе пайплайна с помощью механизма Notification config. Рассмотрим включение уведомлений в пайплайн исходного кода.

Слева в меню выберите пункт Pipelines и далее выберите пайплайн. Откройте страницу конфигурации пайплайна, нажав на его идентификатор. В правом верхнем углу вкладки Structure нажмите на кнопку Action и выберите пункт меню Add new element.

В появившемся окне выберите пункт Notification config.

Выберите конфигурацию из списка в поле Tool появившегося окна Create notification config, а затем нажмите на кнопку Create.

На вкладке Structure пайплайна появится карточка вновь созданного элемента Notification.

После добавления элемента Notification в пайплайн кодовой базы при запуске сканирования в окне Scan start появится дополнительный третий шаг (Step 3), позволяющий установить параметры конфигурации уведомлений GitLab CI.

Задайте на третьем шаге в полях Project ID, Commit hash (SHA) и Pipeline ID необходимые значения.

Значение для поля Project ID можно скопировать из инструмента GitLab CI.

Значения для полей Commit hash (SHA) и Pipeline ID также можно скопировать из инструмента GitLab CI.

Результаты работы пайплайна и прохождения Quality Gates в AppSec.Hub обновляются на странице CI/CD -> Pipelines на вкладке Jobs инструмента GitLab CI в соответствии с правилами нотификации после запуска сканирования по нажатию кнопки Start scan.

Также результаты работы пайплайна можно отслеживать в GitLab CI на странице CI/CD -> Pipelines на вкладке Pipeline в поле External.

Соответствие статусов пайплайна в AppSec.Hub и статуса коммита в GitLab CI показано в следующей таблице:

Статус пайплайна в AppSec.Hub Статус коммита в GitLab CI
Запрос на запуск получен pending
Ожидание в очереди Jenkins/Teamcity pending
Пайплайн выполняется running
Пайплайн завершен, QG пройден success
Пайплайн завершен, QG не пройден failed
Пайплайн завершился ошибкой failed
Пайплайн отменен на стороне Jenkins/Teamcity canceled

Пайплайн артефакта

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

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

Эта страница может содержать следующие карточки (компоненты):

  • Карточка артефакта.
  • Карточка инструмента оркестрации.
  • Карточка инструмента AST.
  • Карточка тегирования. Подход с использованием карточки тегирования используется только в версиях AppSec.Hub ниже 1.9. Его описание приведено в разделе «Тегирование артефактов». В версиях AppSec.Hub 1.9 и выше карточки тегирования в структуре пайплайна артефактов и связанный с ними подход не используются. Тегирование в версиях AppSec.Hub 1.9 и выше описано в разделе «Тегирование релизных объектов».
  • Карточка Webhook.

Карточка артефакта представляет объект, который необходимо просканировать на наличие проблем информационной безопасности. Необходимая версия артефакта указывается при запуске сканирования как параметр в окне Scan start:

  1. Нажмите на кнопку Actions в правом верхнем углу и выберите пункт Start scan в выпадающем меню.
  2. В появившемся окне Scan start в поле Step 1 выберите версию артефакта для сканирования из списка доступных версий в поле Artifact version и версию билда (если применимо) в поле Build version.
  3. Если вы хотите просто запустить сканирование артефакта, перейдите к следующему шагу. Если вы хотите привязать сканирование этого артефакта к определенному релизу, выберите существующий релиз из выпадающего списка или введите имя нового релиза в поле Release. Если вы хотите сделать данный артефакт релизным объектом, в секции Step 2 отметьте галочкой поле Set the artifact as a release object. Выберите существующий артефакт данного приложения из выпадающего списка в поле Choose artifact, чтобы привязать к нему сканирование и сделать его релизным объектом. В поле Artifact version укажите версию создаваемого релизного объекта и версию билда в поле Build version (если применимо, это зависит от типа релизного объекта — обязательные поля отмечены звездочкой).
  4. Нажмите на кнопку Start scan внизу окна Scan start, чтобы начать сканирование. Если была выбрана опция Set the artifact as a release object, одновременно будет создан релизный объект.

Следующая карточка — карточка инструмента оркестрации, в данном примере - Jenkins. Эта карточка позволяет настроить инструмент оркестрации.

Если Jenkins работает на нескольких узлах (nodes), можно выбрать конкретный узел для сканирования, указав метку, которой он помечен. Чтобы выбрать для работы узел, помеченный меткой, например, linux3, нажмите иконку редактирования на карточке инструмента оркестрации. В открывшемся окне Update CI tool укажите linux3 в поле Node label и нажмите на кнопку Update. Сообщение, подтверждающее обновление конфигурации Jenkins, появится в правом нижнем углу экрана.

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

Следующая карточка для этого пайплайна — карточка инструмента AST. В данном примере это инструмент Clair. Для одного пайплайна может быть использовано несколько инструментов сканирования. Нажмите на иконку редактирования на карточке инструмента сканирования, чтобы настроить параметры сканирования в окне Update SCA scan config.

Тегирование артефактов

Важное замечание

Подход к тегированию артефактов может быть применен только в версиях AppSec.Hub ниже 1.9. При переходе на версию 1.9 и выше, уже существующие карточки тегирования пропадают из структуры пайплайнов, а все протегированные артефакты автоматически преобразуются в системе в релизные объекты. Тегирование в версиях AppSec.Hub 1.9 и выше описано в разделе «Тегирование релизных объектов».

Webhook

Карточка Webhook и использование webhook-механизма не являются обязательными в пайплайне артефакта. По сути, webhook — это метод оповещения системы о событиях. Используя webhook, можно вызвать пайплайн в случае, когда произошло какое-либо предопределенное событие. Например, webhook может быть установлен для конкретного репозитория следующим образом: webhook вызывается, если в этот репозиторий помещается конкретный предопределенный артефакт. Параметры webhook можно просмотреть в карточке Webhook. Они могут быть обновлены с помощью кнопки редактирования в этом же поле.

Webhook посылает сигнал для запуска некоторых процессов. Он не использует обратную связь от инициированных им процессов. Webhook может использоваться не только в пайплайнах артефактов, но и в пайплайнах исходного кода. Как правило, webhook может быть настроен для процесса заливки нового исходного кода. В этом случае сканирование безопасности вновь залитого кода должно запускаться автоматически с помощью механизма webhook.

Чтобы скопировать токен в буфер обмена, достаточно нажать на его значение в поле token на карточке соответствующего webhook.

Custom webhook

В некоторых случаях особенности организации рабочего процесса диктуют необходимость использования нестандартных способов взаимодействия с внешними инструментами. Например, непосредственное тегирование артефактов через API Nexus RM может иметь определенные ограничения на уровне организации. Зачастую это обусловлено разграничением прав доступа или другими специфическими требованиями. Для преодоления таких ограничений могут использоваться Custom webhook.

Для нормального функционирования данного механизма необходимо соблюдение следующих условий:

  1. Необходимо разрешить тегирование релизного объекта с помощью переключателя Tagging на вкладке Settings пункта меню Pipelines страницы приложения.
  2. К пайплайну должен быть подключен профиль Quality Gate, чтобы, в свою очередь, обеспечить возможность функционирования механизма тегирования.

Прежде чем включить конфигурацию Custom webhook в пайплайн, необходимо создать ее на странице администрирования системы. Более подробная информация приведена в разделе «Конфигурация Custom webhooks» Руководства администратора.

Рассмотрим включение Custom webhook на примере пайплайна артефакта. Включение в пайплайн исходного кода выполняется аналогично.

  1. Выберите приложение и нажмите его строку на странице Applications.
  2. Выберите пункт меню Pipelines и перейдите в пайплайн артефакта, нажав на его идентификатор.
  3. В правом верхнем углу вкладки Structure нажмите на кнопку Action и в раскрывающемся меню выберите пункт Add new element.
  4. В появившемся диалоговом окне выберите пункт Custom webhook config.
  5. В появившемся окна Create webhook config выберите из списка предварительно созданную конфигурацию и нажмите на кнопку Create.

Запуск сканирования

После того как все компоненты пайплайна артефактов настроены, нажмите на кнопку Actions в правом верхнем углу страницы с детальной информацией о пайплайне и выберите меню пункт Export CI/CD, чтобы экспортировать пайплайн в инструмент оркестрации CI/CD (Jenkins).

Нажмите на кнопку Actions и выберите в выпадающем меню пункт Start scan, чтобы запустить сканирование безопасности артефактов.

В появившемся окне Scan start выберите версию артефакта для сканирования из списка доступных версий в поле Artifact version и версию билда (если применимо) в поле Build version и нажмите на кнопку Start scan внизу окна, чтобы начать сканирование.

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

Пайплайн нескольких артефактов

AppSec.Hub позволяет создать пайплайн для нескольких артефактов. При этом существует несколько ограничений на состав включаемых в пайплайн артефактов.

Чтобы добавить дополнительные артефакты в уже существующий пайплайн, нажмите на кнопку Actions и выберите в выпадающем меню пункт Add artifact.

В появившемся окне Add artifact приведен лист доступных для добавления в данный пайплайн артефактов. Выберите артефакт, который необходимо включить в пайплайн, и двойным щелчком мыши добавьте его в пайплайн.

Примечание

Существует несколько ограничений на добавляемые артефакты:

  1. Артефакт должен быть такого же типа, как и уже существующий в пайплайне. Например, к артефакту Docker container могут быть добавлены только артефакты Docker container, а Maven-артефакт, например, WAR-файл, добавлен быть не может. Артефакты, не подходящие по типу для добавления в пайплайн, не отображаются в окне Add artifact.

  2. В системе не должно существовать пайплайнов с одинаковым набором артефактов. Если в системе уже существует пайплайн с некоторым набором артефактов, то создать второй такой же пайплайн не удастся. AppSec.Hub отслеживает уникальность каждого пайплайна с несколькими артефактами. Артефакты, выбор которых мог бы привести к созданию «не уникального» пайплайна, повторяющего уже существующий в системе пайплайн, просто не отображаются в окне Add artifact.

Пайплайн экземпляра приложения

Для создания пайплайна экземпляра приложения (инстанса) нажмите на идентификатор или название приложения на странице Applications и выберите пункт меню Pipelines.

Нажмите на кнопку +Add new в правом вернем углу и выберите пункт Instance pipeline из выпадающего меню.

В появившемся окне Choose the appInstance for pipeline выберите и дважды кликните имя экземпляра приложения, который необходимо добавить.

Новый пайплайн экземпляра приложения появится на странице Pipelines.

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

Нажмите на кнопку Actions справа вверху и выберите пункт Add new element из выпадающего меню. Выберите пункт CI во вновь появившемся окне, чтобы добавить в пайплайн инструмент оркестрации, например, Jenkins, и введите параметры инструмента.

Нажмите на кнопку Actions справа вверху и выберите пункт Add new element из выпадающего меню. Выберите пункт DAST tool во вновь появившемся окне, чтобы добавить инструмент сканирования в пайплайн, и введите параметры инструмента.

В появившемся окне Create DAST scan config выберите инструмент в поле Tool.

В случае выбора инструмента PT BlackBox в данном окне появится обязательное для заполнения поле Group. Выберите в нем нужную группу из выпадающего списка и нажмите на кнопку Create.

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

На вкладке Structure типовой пайплайн экземпляра приложения содержит несколько компонентов (представленных на экране в виде карточек):

  • Экземпляр приложения в разделе Source.
  • Инструмент оркестрации в разделе Tools.
  • Инструмент AST в разделе Tools.

Карточка экземпляра приложения представляет тот инстанс, который необходимо сканировать на наличие проблем информационной безопасности. Чтобы настроить его параметры, нажмите на иконку редактирования на карточке экземпляра приложения. Откроется окно обновления параметров экземпляра приложения. Описание конфигурации параметров экземпляра приложения представлено в разделе «Объекты сканирования».

Карточка инструмента оркестрации представляет соответствующий инструмент для этого пайплайна. Эта карточка позволяет настроить параметры инструмента оркестрации с помощью иконки редактирования на карточке инструмента, включая метку узла, как в случае с пайплайнами артефактов.

Карточка инструмента AST представляет инструмент, выбранный для этого пайплайна, например, PT BlackBox — инструмент DAST. Для одного пайплайна может быть выбрано несколько инструментов AST. Нажмите иконку редактирования на карточке инструмента AST, чтобы настроить параметры сканирования в окне Update DAST scan config.

Когда все компоненты пайплайна экземпляра приложения настроены, нажмите на кнопку Actions в верхнем правом углу страницы сведений о пайплайне и выберите в выпадающем меню пункт Export CI/CD, чтобы экспортировать пайплайн в инструмент оркестрации CI/CD.

Нажмите на кнопку Actions и выберите в выпадающем меню пункт Start scan, чтобы запустить сканирование безопасности экземпляра приложения. В открывшемся окне нажмите на кнопку Start scan.

Выберите вкладку Scans, чтобы просмотреть статус всех выполненных сканирований.

Периметр DevSecOps

Выберите приложение, а затем пункт меню Pipelines.

Нажмите на кнопку фильтрации в правом верхнем углу и в поле by type выберите DevSecOps perimeter.

На экране появится список конфигураций для каждого из созданных прокси-репозиториев (прокси-репозитории могут быть созданы на странице Development, см. раздел «Прокси-репозитории»).

Для каждого прокси-репозитория в поле OSA tool указан связанный с ним инструмент - Nexus IQ или AppSec.Track.

Nexus IQ

Для прокси-репозитория Nexus IQ в Nexus Repository Manager должна быть настроена интеграция с Nexus IQ, и для прокси-репозитория добавлена IQ: Audit and Quarantine capability. В такой конфигурации для прокси-репозитория применяется практика контроля периметра.

AppSec.Track

Для прокси-репозитория AppSec.Track существует возможность импортировать OSA-сработки из AppSec.Track. Нажмите на расположенное справа в конце строки прокси-репозитория выпадающее меню «» и выберите пункт Get vulnerabilities.

Для каждого прокси-репозитория AppSec.Track осуществляется периодический импорт сработок из AppSec.Track в соответствии со значением, заданным при его создании, см. раздел «Прокси-репозитории». Расписание получения сработок указывается в строке прокси-репозитория. Изменить расписание получения сработок можно, нажав на меню «» и выбрав пункт Edit schedule settings.

Работа с OSA-сработками из AppSec.Track имеет следующие особенности:

  • Каждая из импортированных OSA-сработок отображается в AppSec.Hub как проблема безопасности SCA Security или SCA Compliance на странице Issues.
  • Общее количество импортированных OSA-сработок равно количеству нарушений политик компонентами репозитория в AppSec.Track. В это число входят те нарушения, для которых в AppSec.Track не были созданы исключения.
  • Если проблеме безопасности, созданной на основе OSA-сработки, на странице Issues присвоить статус False positive или Accepted risk через создание правила или через ручное изменение статуса, в AppSec.Track для этой OSA-сработки будет создано исключение, при этом срок действия статуса и комментарий, заданные в полях Choose expiration date и Add comment, будут также переданы как параметры в AppSec.Track (Дата окончания и Комментарий для исключения). Если срок действия статуса в AppSec.Hub не был указан, параметр Дата окончания в AppSec.Track будет иметь значение бессрочно.

    Если это исключение затем будет удалено в AppSec.Track, статус сработки в AppSec.Hub не поменяется.

  • Если после присваивания проблеме безопасности, созданной на основе OSA-сработки, статуса False positive или Accepted risk, еще раз изменить ее статус на статус To verify через ручное изменение или через удаление правила с выбором перевода проблем безопасности в статус To verify в окне Cancel issue processing rule, в AppSec.Track для этой OSA-сработки ранее созданное исключение будет аннулировано.

  • Если после импорта OSA-сработок для одной из имеющих в системе статус To verify сработок в AppSec.Track было создано исключение, то при последующем импорте OSA-сработок этой сработке в системе будет присвоен статус Fixed.

Если инструмент AppSec.Track сделать неактивным в системе, изменить статус импортированных из него OSA-сработок будет невозможно, а на странице Pipelines в строке конфигурации прокси-репозитория появится соответствующая подсказка.

К началу