Сравнение результатов сканирования
Запрос
Тип | Метод |
---|---|
POST |
/vulnerabilities/comparison/search |
Описание: При выполнении запроса будут возвращена информация о результатах сканирования для сравнения. Успешный ответ будет содержать следующую информацию:
- уязвимости;
- активы уязвимостей, включая
- счетчики уязвимостей по уровню важности для каждого актива;
- хосты уязвимостей в поле
scanned_host_data
; - сетевые интерфейсы в поле
known_host_data
.
- счетчики уязвимостей по уровню важности.
Пример запроса
POST
http://127.0.0.1/cruddy/v2/vulnerabilities/comparison/search
Параметры запроса:
Параметр | Тип данных | Обязательность | Описание |
---|---|---|---|
tab | string |
Required | Фильтр по статусу уязвимости. Возможные значения: - to_add ;- processed ;- to_close . |
Тело запроса:
Примечание: Обязательно нужен фильтр для
vulnerability_scan_id
с типомequal
.
Параметр | Тип данных | Обязательность | Описание |
---|---|---|---|
filters | Array <filters> |
Required | Список фильтров по полям модели |
ordering | Array <ordering> |
Required | Настройки сортировки |
virtual_search | string |
Required | Поле для поиска по подстроке по всем строковым полям модели и настройка строгого поиска |
relations | Array<string> |
Required | Список связей для выборки. Список доступных связей отображается в ответе запроса на получение метаданных - “/_meta” |
limit | integer |
Required | Лимит выдачи найденных объектов |
offset | integer |
Required | Отступ от начала результата поиска в базе |
Array of filters
Параметр | Тип данных | Обязательность | Описание |
---|---|---|---|
field | string |
Required | Название поля модели |
value | object |
Required | Значение для фильтрации |
filter_type | string |
Required | В зависимости от этого значения определяется допустимые значения в поле value . Допустимые значения:- equal -> строка|число, проверяет равенство значений |
negation | boolean |
Optional | Флаг использования отрицания при проверке фильтра |
Array of ordering
Параметр | Тип | Обязательность | Описание / Допустимые значения |
---|---|---|---|
field | string |
Required | Поле модели выбранное для сортировки |
direction | string |
Required | Направление сортировки. Допустимые значения: - asc - desc |
Пример тела запроса
{
"filters": [
{
"field": "string",
"value": [
"name",
[
"value1",
"value2"
]
],
"filter_type": "equal",
"negation": false
}
],
"ordering": [
{
"field": "string",
"direction": "asc"
}
],
"virtual_search": "string",
"relations": [
"service_asset_findings",
"logmule_go_rules",
"user"
],
"limit": 20,
"offset": 0
}
Успешный ответ
Статус код: 200
– успешный ответ.
Формат: JSON
.
Параметры ответа:
Параметр | Тип данных | Описание |
---|---|---|
items | Array <Vulnerability> |
Список найденных объектов результатов сканирования |
total | integer |
Количество найденных объектов результатов сканирования |
service_assets | Array <ServiceAssets> |
Количество найденных активов с распределением по уровню важности актива |
filtered_counts | Array<object> |
Счетчики найденных уязвимостей, сгруппированные по важности и активу |
filtered_counts{service_asset_id} | string |
Идентификатор актива в формате UUID |
filtered_counts{severity} | integer |
Важность уязвимости |
filtered_counts{count} | integer |
Число найденных уязвимостей для которых соблюдены следующие условия: - известна важность уязвимости; - известен актив, на котором обнаружена уязвимость. |
Пример ответа
{
"items": [
{
"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",
"plugin_id": 0,
"plugin_name": "string",
"description": "string",
"severity": 0,
"additional_data": {},
"protocol": "string",
"port": 0,
"occurrence_id": "8508ee33-23a1-4a06-ae02-1eb167405e7b",
"synopsis": "string",
"vulnerability_host_id": "f7091c30-f117-455e-9531-6af6bb5ece68",
"exploitable": true,
"plugin_output": "string",
"solution": "string",
"compare_port": -1,
"compare_protocol": "string",
"service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
"vulnerability_scan_id": "b72752e1-e814-4606-9275-f2ac9ca468b7",
"external": false,
"remote_exploitable": false,
"cvss_vector": "string",
"cvss_temporal_vector": "string",
"cvss_base_score": 0,
"cvss_temporal_score": 0,
"risk_factor": "string",
"plugin_modification_date": "string",
"publication_date": "string",
"PluginSum": "string",
"service_asset_finding_id": "2aef5665-d918-4e66-ad93-7a1dc9c3779e",
"service_asset_finding_status": "new",
"removed_vulnerability": null,
"changed_vulnerability": null,
"added_vulnerability": true,
"ip": "172.30.254.79",
"finding_ids": [
"0cd06fe9-9a7c-45d2-89e5-201e0d1c84e1",
"f1b8a921-fee8-4bbd-bc3c-c4a7ea998303"
],
"os": "windows_server_2016",
"fqdn": {},
"authenticated": true,
"plugin_is_blacklisted": false,
"with_findings": true,
"plugin_id_text": 322086,
"occurrence": null,
"vulnerability_host": null,
"service_asset": null,
"vulnerability_scan": null
}
],
"total": 0,
"service_assets": [
{
"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",
"severity_0": 0,
"severity_1": 296,
"severity_2": 853,
"severity_3": 683,
"severity_4": 14,
"scanned_host_data": [
{
"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",
"ip": "192.168.0.1",
"mac": "string",
"fqdn": "string",
"properties": "string",
"scan_begin": null,
"scan_end": null,
"service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
"vulnerability_scan_id": "b72752e1-e814-4606-9275-f2ac9ca468b7",
"os": "string",
"authenticated": true,
"scan_error": "string",
"name": "string",
"authentication_info": {}
}
],
"known_host_data": [
{
"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",
"name": "string",
"ip": "string",
"mac": "string",
"os": "string",
"service_asset_id": "09122f07-8b1e-48dc-96fd-379806f6c51e",
"edited_by": "9501acb5-3be0-4719-a60e-dfa79624666c",
"service_asset_name": "string",
"service_asset_location": "string",
"service_asset_value": 0,
"service_asset_network_exposure": 0,
"service_asset_group_names": [
"string"
]
}
]
}
],
"filtered_counts": [
{
"service_asset_id": "65851edf-a4db-4470-b81b-a88a3f56beab",
"severity": 3,
"count": 683
}
]
}
Другие возможные ответы
Код | Ответ | Описание |
---|---|---|
400 |
1. Bad Request 2. tab is empty 3. unknown tab 4. exclude_fields not supported 5. include_fields not supported 6. scan ID filter is required 7. scan ID filter must be ‘equal’ type 8. value for scan ID filter must be string 9. scan id should be uuid format |
1. Неверный тип параметра запроса, либо отсутствует обязательный параметр 2. Значение tab не задано3. Неизвестное значение параметра tab 4. Параметр exclude_fields не поддерживается5. Параметр include_fields не поддерживается6. Фильтр для vulnerability_scan_id не задан7. Фильтр для vulnerability_scan_id должен иметь тип equal 8. Значение в фильтре для vulnerability_scan_id должно быть строкой9. Недопустимый формат vulnerability_scan_id |
500 |
Internal Server Error |
Другие ошибки сервера |
Примечание: Текст ошибки не фиксированный, может изменяться в зависимости от фактического ответа получателя запроса.
Пример ответа
Код 400
{
"error": "Bad Request",
"error_code": 400
}
Код 500
{
"error": "Internal Server Error",
"error_code": 500
}