SecurityFlow Кабинет лицензий , откроется в новой вкладке

Документация / Руководство пользователя / Автоматика разбора

Правила CVSS

Обновлено 20 октября 2026

Core хранит у уязвимости векторы CVSS версий 3.1 и 4.0 и считает по ним оценку. Вектор задают вручную в карточке уязвимости или правилами CVSS, которые проставляют векторы уязвимостям по условиям.

Где: вектор уязвимости - карточка уязвимости, блок CVSS; правила - раздел "CVSS".

Права и лицензия:

Действие Что нужно
Задать вектор уязвимости "Уязвимости" - "Изменение"
Смотреть правила и настройки CVSS платная лицензия, "Правила автоматизации" - "Просмотр"
Создавать и менять правила, включать CVSS платная лицензия, "Правила автоматизации" - "Изменение"
Калькулятор оценки и справочник метрик в API платная лицензия

Вектор на уязвимости

  1. Откройте карточку уязвимости.
  2. В блоке CVSS откройте "CVSS вектор".
  3. Заполните "CVSS вектор v3.1", "CVSS вектор v4.0" или оба. Вектор должен начинаться с CVSS:3.1 или CVSS:4.0, иначе - "Значение должно начинаться с "CVSS:3.1"" или "...с "CVSS:4.0"".
  4. Сохраните.

Что происходит после сохранения:

  • Core считает оценку по каждому вектору. Ошибка в векторе - "Не удалось рассчитать оценку".
  • Критичность уязвимости берётся из оценки CVSS 4.0, если такой вектор задан и посчитан, иначе из CVSS 3.1.
  • Приоритет задач Jira меняется по новой критичности, если включено "Включить сопоставление приоритета" (Jira).
  • Обновляется описание задач Jira: в нём есть технический блок с CVSS.

Как оценка переводится в критичность:

Оценка CVSS Уровень CVSS Критичность в Core
0.0 None "Инфо"
0.1-3.9 Low "Низкая"
4.0-6.9 Medium "Средняя"
7.0-8.9 High "Высокая"
9.0-10.0 Critical "Критичная"

Для CVSS 3.1 Core берёт итоговую оценку с учётом временных и средовых метрик. Если они не заданы, она равна базовой.

Примеры векторов:

Вектор Оценка
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 9.8, "Критичная"
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N 5.4, "Средняя"
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N 9.3, "Критичная"

Спецификации метрик: CVSS 3.1, CVSS 4.0.

Правила CVSS

Правила CVSS автоматически ставят векторы уязвимостям, которые подходят под условия правила. Пример: всем находкам DAST-сканеров класса SQL Injection во внешних продуктах - один и тот же вектор вместо ручной оценки каждой.

Как работает

  • Обработчик правил CVSS - фоновый цикл: проход по уязвимостям, пауза "Частота запуска (в секундах)", снова проход.
  • Цикл работает при включённом "Включить CVSS" и использует только правила с "Активно".
  • Уязвимости, которым правило поставило вектор, отмечаются: фильтр "Затронуто правилом CVSS", в карточке в блоке "Затронуто" - "{N} правил CVSS".

Настройки

Поле Что задаёт По умолчанию
"Включить CVSS" Запуск фонового цикла выключено
"Частота запуска (в секундах)" Пауза между проходами, не меньше 40 -

Поля правила

Поле Что задаёт По умолчанию
"Активно" Правило участвует в проходах выключено
"CVSS вектор v3.1" Вектор, начинается с CVSS:3.1 пусто
"CVSS вектор v4.0" Вектор, начинается с CVSS:4.0 пусто
Условия Какие уязвимости получают вектор. Те же поля и операции, что у валидатора: Условия -
Область действия Продукты или ассеты: Область действия -

Задайте хотя бы один вектор. В списке правил видны "Вектор", "Оценка", "Активно" или "Выключено", "Охват".

Создание правила

  1. Откройте "CVSS" и нажмите "Создать правило".
  2. Заполните векторы.
  3. Добавьте условия и область действия.
  4. Проверьте предпросмотр "Уязвимости, которые будут затронуты ({N})".
  5. Включите "Активно" и сохраните.
  6. Если CVSS выключен, включите "Включить CVSS".

Пример правила:

Поле Значение
Условие 1 "Тип сканера", "Содержит некоторые из типов сканеров" - DAST
Условие 2 "Название", "Содержит значение" - SQL Injection
Область "Продукты" с тегом internet-facing в глобальной области
"CVSS вектор v3.1" CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Предпросмотр

В отличие от валидатора, предпросмотр правила CVSS учитывает уязвимости в любом статусе.

Запрос Что возвращает
GET /api/v1/findings/?cvss_rule_id=<id> Уязвимости под сохранённое правило
GET /api/v1/findings/?cvss_rule=<JSON правила> Уязвимости под черновик правила
GET /api/v1/findings/?affected_by__content_type__model=cvssrule&affected_by__object_id=<id> Уязвимости, которые правило уже обработало

Экспорт и импорт правил

"CVSS" → "Импорт правил" ("Импорт правил CVSS"). Выгрузка - GET /api/v1/cvss/rules/export/. Формат и ограничения те же, что у валидатора (Экспорт и импорт правил). Поля правила CVSS в файле: is_active, instructions, cvss_vector_3_1, cvss_vector_4_0, selection_scope.

Калькулятор и справочник метрик

Посчитать оценку по вектору:

curl -sS -X POST "https://core.example.ru/api/v1/cvss/score/" \
  -H "Authorization: Token <токен>" \
  -H "Content-Type: application/json" \
  -d '{"version": "3.1", "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}'
{"vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "score": 9.8, "severity": 4}

severity - код критичности Core: 0 "Инфо" - 4 "Критичная". При ошибке в векторе score и severity равны null, причина - в поле detail.

Справочник метрик с сокращениями и значениями: GET /api/v1/cvss/categories/?version=3.1 или ?version=4.0.

API

Метод и путь Назначение
POST /api/v1/findings/{id}/cvss/set/ Задать вектор уязвимости: [{"version": "3.1", "metrics": [{"abbreviation": "AV", "value": {"abbreviation": "N"}}]}]
GET, POST /api/v1/settings/cvss/ Настройки: is_active, launch_frequency
GET, POST /api/v1/cvss/rules/ Правила
PATCH, DELETE /api/v1/cvss/rules/{id}/ Изменение и удаление правила
POST /api/v1/cvss/rules/bulk/activate/, /bulk/deactivate/, /bulk/delete/ Массовые действия по фильтру ?id__in=1,2. Всегда передавайте фильтр: без него действие применяется ко всем правилам, которые вы можете менять
GET /api/v1/cvss/rules/export/, POST /api/v1/cvss/rules/import/ Выгрузка и загрузка правил
POST /api/v1/cvss/score/ Калькулятор оценки
GET /api/v1/cvss/categories/?version= Справочник метрик