Документация / Руководство пользователя / Уязвимости
Группы уязвимостей
Группа собирает уязвимости одного продукта, которые закрываются одной работой: обновлением библиотеки, правкой конфигурации, заменой компонента. Для группы Core ведёт эпики в Jira, задачи уязвимостей группы связываются с эпиком.
Где в интерфейсе: продукт → "Группы уязвимостей". Страница группы - "Группа уязвимостей | {название}", на ней список "Уязвимости ({N})".
Права: смотреть - "Уязвимости" - "Просмотр"; создавать, менять, удалять, создавать эпики - "Уязвимости" - "Изменение".
Поля
| Поле | Что задаёт | По умолчанию |
|---|---|---|
| "Название" | Имя группы, до 100 символов. Уникально в пределах продукта | - |
| Продукт | Продукт группы. Группа принадлежит одному продукту | продукт, из которого создаётся |
| "Создать задачи в Jira для уязвимостей" ("Создать в Jira") | Включено: для каждой уязвимости группы создаётся своя задача, связанная с эпиком группы. Выключено: уязвимости связываются только с эпиком | включено |
| "Epic безопасности" | Ключ эпика в пространстве команды безопасности | пусто |
| "Epic продукта" | Ключ эпика в пространстве команды продукта | пусто |
Одна уязвимость может состоять в нескольких группах своего продукта. В списке уязвимостей у неё стоит отметка "Участник группы".
Как уязвимость попадает в группу
| Способ | Как |
|---|---|
| Вручную | В карточке уязвимости добавьте группу в поле "Группы" |
| Массово | Выделите уязвимости и нажмите "Добавить группы" (Уязвимости) |
| Правилом | Правило валидатора с полем "Сгруппировать проверенные уязвимости" (Автовалидатор) |
Группа указывается по имени. Если в продукте уязвимости нет группы с таким именем, Core её создаёт. При массовом добавлении уязвимостей разных продуктов в каждом продукте получится своя группа с этим именем.
Создание группы
- Откройте продукт → "Группы уязвимостей".
- Нажмите "Добавить группу". Откроется "Создание группы уязвимостей".
- Укажите "Название" и решите, нужны ли отдельные задачи Jira для уязвимостей ("Создать задачи в Jira для уязвимостей").
- Сохраните. Core отправит обработчику Jira задачу создать эпики группы.
- Добавьте уязвимости одним из способов выше.
Эпики Jira
Эпики создаются в пространствах команды безопасности и команды продукта, заданных в настройках Jira продукта или в глобальных (Jira).
Если эпик не появился, откройте группу и нажмите "Создать epic" в блоке "Jira epic в пространстве команды безопасности" или "Jira epic в пространстве команды продукта". Ответ "Epic в Jira создан" подтверждает создание.
| Ситуация | Ответ |
|---|---|
| Для продукта и глобально не задано пространство | 400 Specify JIRA production space key for the product first или Specify JIRA security space key for the product first |
| Эпик в этом пространстве уже есть | 409 |
Связь задач с эпиками:
- при добавлении уязвимостей в группу Core запрашивает создание недостающих эпиков, связывает задачи уязвимостей с эпиками связью "Relates" и обновляет описание эпика;
- при удалении уязвимостей из группы связь снимается, описание эпика обновляется;
- задача, созданная из карточки уязвимости, сразу связывается с эпиками её групп.
Запрет задач для группы
Если уязвимость состоит в группах и ни у одной из них не включено "Создать задачи в Jira для уязвимостей", создать задачу из карточки нельзя: ответ 409 None of assigned groups allow task creation.
Удаление группы
"Удалить группу уязвимостей" удаляет группу. Уязвимости остаются в продукте.
Эпики удаляются
Вместе с группой Core удаляет её эпики в Jira. Если эпик нужен как история работ, перед удалением очистите ключи эпиков в группе: PATCH /api/v1/findings-groups/{id}/ с {"jira_sec_epic_key": "", "jira_prod_epic_key": ""}.
API
| Метод и путь | Назначение |
|---|---|
GET /api/v1/findings-groups/?product=<id> |
Группы продукта. Фильтры id__in, name__in, поиск search |
POST /api/v1/findings-groups/ |
Создать группу: {"name": "log4j", "product": 7, "create_jira_issues": true} |
PATCH, DELETE /api/v1/findings-groups/{id}/ |
Изменить или удалить группу |
GET /api/v1/findings-groups/{id}/jira/epic/sec/create/ |
Создать эпик в пространстве команды безопасности |
GET /api/v1/findings-groups/{id}/jira/epic/prod/create/ |
Создать эпик в пространстве команды продукта |
POST /api/v1/findings/{id}/groups/add/, /groups/remove/ |
Добавить уязвимость в группу или убрать: {"name": "log4j"} |
POST /api/v1/findings/bulk/groups/add/?<фильтр>, /bulk/groups/remove/ |
То же для выборки: {"groups": [{"name": "log4j"}]} |
GET /api/v1/findings/?groups__name__in=log4j |
Уязвимости группы |