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

Создание/обновление инцидентов из уязвимостей

Запрос

Тип Метод
POST /service_asset_findings/bulk_create_with_vulnerabilities

Описание: При выполнении запроса будет создан/обновлен инцидент на основе обнаруженной уязвимости по следующей логике:

  • Из уязвимости извлекаются данные актива.
  • Выполняется поиск по активу и типу инцидент:

    • если инцидент находится, то он будет обновлен;
    • иначе создается новый инцидент.
  • Для этого инцидента создаётся происшествие (occurrence) c event_type: vulnerability.

  • Если вместо идентификатора типа инцидента указано will_be_created, для данной уязвимости будет создан новый тип инцидента.
Пример запроса

POST
http://127.0.0.1/cruddy/v2/service_asset_findings/bulk_create_with_vulnerabilities

Тело запроса:

Параметр Тип данных Обязательность Описание
vulnerability_finding_ids object> Required Словарь содержайщий ID уязвимостей и ID типов инцидентов:
user_id string Required Идентификатор пользователя, присваивается в updated_by инцидентов и новых типов инцидентов.
Также определяет значение поля customer_created новых инцидентов:
- если администратор: false;
- иначе true.
Пример тела запроса

{
  "vulnerability_finding_ids": {
    "96a0b522-1327-4b33-9b26-e1d75f6a6774": "4552a850-9a2f-4840-9d8a-0960aee9232c",
    "a91736d0-a536-4440-b651-6e18ce6bbd45": "5b545017-ade0-4fa1-a36b-98ede079df0f"
  },
  "user_id": "128064b6-c95a-45b5-a0ee-94360df67274"
}

Успешный ответ

Статус код: 200 – успешное создание/обновление инцидентов и типов.

Формат: JSON.

Тело ответа:

Параметр Тип данных Описание
_ Array<ServiceAssetFinding> Список созданных/обновленных инцидентов
Пример ответа

{
  "_": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created_at": "2023-12-20T00:00:01.652259Z",
      "updated_at": "2023-12-20T00:00:01.652259Z",
      "trace_id": "df570c03-5a03-4cea-8df0-c162d05127ac",
      "description": "string",
      "risk_impact": "string",
      "solution": "string",
      "mitigation": "string",
      "status": "assigned_customer",
      "risklevel": 0,
      "service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
      "finding_id": "feebf65a-2eaa-4fae-aab2-772450efdffe",
      "analysis_output": "string",
      "synopsis": "string",
      "title": "string",
      "risk": "none",
      "acknowledged_at": "2023-12-20T00:00:01.652259Z",
      "alert_type": "automatic",
      "client_note": "string",
      "internal_note": "string",
      "external": false,
      "immediate_action_score": 0,
      "throughput_period": "grace",
      "throughput_period_change": "2023-12-20T00:00:01.652259Z",
      "customer_created": false,
      "c_visible_since": "2023-12-20T00:00:01.652259Z",
      "c_visible_since_in_days": 0,
      "c_reopened_count": 0,
      "c_last_customer_status_change": "2023-12-20T00:00:01.652259Z",
      "logmule_identifier": "string",
      "c_remote_exploitable": true,
      "c_occurrence_count": 0,
      "с_customer_retention_time": 0,
      "last_occurrence_id": "92c2542a-a9bb-4370-b835-20b1c9ac1fe9",
      "itsm_last_synced_at": "2023-12-20T00:00:01.652259Z",
      "itsm_sync_status": "scheduled",
      "external_id": "string",
      "itsm_sync_error": "string",
      "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
      "updated_by": "deea00dc-b6b6-4412-a483-26ac61e1f6fe",
      "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
      "acknowledged_by": "57e93f65-9db5-4b3c-8761-f3edd8ac8276",
      "created_by_customer": "d299b51b-03f1-4b72-b793-1fb027d05389",
      "edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c",
      "incident_group_id": "5ce55b8d-2342-4286-bf58-bfe807f8c05c",
      "reopened_at": "2023-12-20T00:00:01.652259Z",
      "display_id": 0,
      "service_asset_name": "string",
      "service_asset_active": true,
      "occurrence_count": 0,
      "user_short_name": "string",
      "group_name": "string",
      "finding_display_id": 0,
      "reopened_count": 0,
      "event_type": "string",
      "finding_type": "string",
      "ports": [
        0
      ],
      "last_occurrence_ip": "string",
      "service_asset_value": 0,
      "tag_titles": [
        "string"
      ],
      "last_status_change": "2023-12-20T00:00:01.652259Z",
      "last_scan": "2023-12-20T00:00:01.652259Z",
      "authenticated": true,
      "last_occurrence": "2023-12-20T00:00:01.652259Z",
      "remote_exploitable": true,
      "service_asset_network_exposure": 0,
      "finding_category": "string",
      "display_title": "string",
      "customer_retention_time": 0,
      "visible_since": "2023-12-20T00:00:01.652259Z",
      "visible_since_in_days": 0,
      "last_customer_status_change": "2023-12-20T00:00:01.652259Z",
      "finding_title": "string",
      "incident_group_title": "string",
      "custom_values": {},
      "service_asset": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "created_at": "2023-12-20T00:00:01.652259Z",
        "updated_at": "2023-12-20T00:00:01.652259Z",
        "trace_id": "uuid",
        "type": "Host",
        "name": "Актив",
        "description": "Описание актива",
        "coordinates": "--- []",
        "active": true,
        "scan_id": "9a59f0f5-5572-476d-a7fc-c960ef43a5af",
        "value": 3,
        "client_note": "string",
        "internal_note": "string",
        "location": "string",
        "network_exposure": 3,
        "responsible_person": "string",
        "technical_specialist": "string",
        "responsible_group_id": "2d40d7ca-3218-4132-89ef-42e29379a567",
        "edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c"
      },
      "finding": {},
      "last_occurrence_entity": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "created_at": "2023-12-20T00:00:01.652259Z",
        "updated_at": "2023-12-20T00:00:01.652259Z",
        "trace_id": "uuid",
        "event_type": "manual_source",
        "ip": "string",
        "mac": "string",
        "port": 0,
        "start_occurrence": "2023-12-20T00:00:01.652259Z",
        "end_occurrence": "2023-12-20T00:00:01.652259Z",
        "service_asset_finding_status_change_id": "8d6bf02f-aab2-4fbc-ab53-ee5963306be7",
        "service_asset_finding_id": "08a5c673-3c5c-48ab-bf6c-f2ee47d8df88",
        "fqdn": "string",
        "incident_identifier": "string",
        "fincert_sync_status": 10,
        "fincert_id": "",
        "sopka_sync_status": 10,
        "sopka_id": "",
        "fincert_sync_result": "7325f612-d464-4395-bb86-c83b3b6893fb",
        "sopka_sync_result": "d91aad7a-d9ad-4941-bf19-b94f42afada9"
      },
      "user": {},
      "group": {},
      "incident_group": {
        "title": "string",
        "description": "string",
        "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
        "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f"
      },
      "occurrences": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "created_at": "2023-12-20T00:00:01.652259Z",
          "updated_at": "2023-12-20T00:00:01.652259Z",
          "trace_id": "uuid",
          "event_type": "manual_source",
          "ip": "string",
          "mac": "string",
          "port": 0,
          "start_occurrence": "2023-12-20T00:00:01.652259Z",
          "end_occurrence": "2023-12-20T00:00:01.652259Z",
          "service_asset_finding_status_change_id": "8d6bf02f-aab2-4fbc-ab53-ee5963306be7",
          "service_asset_finding_id": "08a5c673-3c5c-48ab-bf6c-f2ee47d8df88",
          "fqdn": "string",
          "incident_identifier": "string",
          "fincert_sync_status": 10,
          "fincert_id": "",
          "sopka_sync_status": 10,
          "sopka_id": "",
          "fincert_sync_result": "7325f612-d464-4395-bb86-c83b3b6893fb",
          "sopka_sync_result": "d91aad7a-d9ad-4941-bf19-b94f42afada9"
        }
      ],
      "custom_field_values": [
        {
          "custom_field_id": "a0fa4fc5-cabd-4219-9751-6d126c809065",
          "service_asset_finding_id": "08a5c673-3c5c-48ab-bf6c-f2ee47d8df88",
          "string_value": "string",
          "integer_value": 0,
          "float_value": 0,
          "date_value": "2023-12-20T00:00:01.652259Z",
          "json_value": {},
          "boolean_value": true
        }
      ],
      "comments": [
        {}
      ],
      "documents": [
        {}
      ],
      "messages": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "created_at": "2023-12-20T00:00:01.652259Z",
          "updated_at": "2023-12-20T00:00:01.652259Z",
          "trace_id": "uuid",
          "subject": "string",
          "body": "string",
          "service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
          "service_asset_finding_id": "08a5c673-3c5c-48ab-bf6c-f2ee47d8df88",
          "service_asset_finding_status_change_id": "8d6bf02f-aab2-4fbc-ab53-ee5963306be7",
          "automated": true,
          "finding_id": "feebf65a-2eaa-4fae-aab2-772450efdffe",
          "itsm_sync_status": "not_synced",
          "itsm_last_synced_at": "string",
          "itsm_sync_error": "string",
          "sender_id": "3194e023-c19f-4a42-9172-9e18d68e3a3a"
        }
      ],
      "service_asset_finding_status_changes": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "created_at": "2023-12-20T00:00:01.652259Z",
          "updated_at": "2023-12-20T00:00:01.652259Z",
          "trace_id": "uuid",
          "service_asset_finding_id": "08a5c673-3c5c-48ab-bf6c-f2ee47d8df88",
          "status": "string",
          "revisit_at": "string",
          "itsm_sync_status": "not_synced",
          "itsm_last_synced_at": "string",
          "itsm_sync_error": "string",
          "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
        }
      ],
      "service_asset_groups": [
        {
          "title": "string",
          "description": "string",
          "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
          "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f"
        }
      ],
      "_relations": {
        "occurrences": [
          "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        ],
        "custom_field_values": [
          "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        ],
        "comments": [
          "string"
        ],
        "documents": [
          "string"
        ],
        "messages": [
          "string"
        ],
        "service_asset_finding_status_changes": [
          "string"
        ],
        "service_asset_groups": [
          "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        ]
      }
    }
  ]
}

Другие возможные ответы

Код Ответ Описание
400 1.Bad Request
2. empty vulnerability_finding_ids
3. empty vulnerability ID should be uuid format
4. vulnerability ID is empty
5. finding ID should be uuid format or will_be_created
6. finding ID is empty
1. Неверный тип параметра запроса, либо отсутствует обязательный параметр
2. Не заданы ID уязвимостей и типов инцидентов
3. Недопустимый формат ID уязвимости
4. ID уязвимости не может быть пустой строкой
5. Недопустимое значение ID типа инцидента, должен быть uuid или will_be_created
6. ID типа инцидента не может быть пустой строкой
404 Not Found Редактируемый объект не найден в БД
500 Internal Server Error Другие ошибки при редактировании объекта

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

Пример ответа
Код 400

{
  "error": "Bad Request",
  "error_code": 400
}

Код 404

{
  "error": "Not Found",
  "error_code": 404
}

Код 500

{
  "error": "Internal Server Error",
  "error_code": 500
}