Получение API-ключа
Чтобы получить API-ключ, отправьте запрос POST login с логином и паролем.
Получить API-ключ, созданный ранее
Чтобы получить один из созданных API-ключей, укажите значение параметра new_key: false, или просто не указывайте этот параметр:
curl -X POST https://vxcube.drweb.com/api-2.0/login \
-H "Content-Type: application/json" \
-d "{\"login\":\"example@drweb.com\", \"password\":\"secret_password\"}"
|
Вы получите ответ с API-ключом (его требуется указывать в заголовке каждого последующего запроса):
{
"new_key": false,
"api_key": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"start_date": "2019-02-08T04:08:15.162342+00:00"
}
|
Создать API-ключ
Чтобы создать новый API-ключ, укажите значение параметра new_key: true (если у вас нет созданных API-ключей, параметр можно не указывать, API-ключ будет создан все равно):
curl -X POST https://vxcube.drweb.com/api-2.0/login \
-H "Content-Type: application/json" \
-d "{\"login\":\"example@drweb.com\", \"password\":\"secret_password\", \"new_key\": true, \"name\":\"example_name_api"}"
|
Вы получите ответ с API-ключом (его требуется указывать в заголовке каждого последующего запроса):
{
"new_key": true,
"api_key": "bbbbbbbb-cccc-dddd-eeee-ffffffffffff",
"start_date": "2019-03-08T04:08:15.162342+00:00",
"name": "example_name_api"
}
|
Загрузка файла на сервер Dr.Web vxCube
Чтобы загрузить файл на сервер, отправьте запрос POST samples:
curl -X POST https://vxcube.drweb.com/api-2.0/samples \
-F "file=@testfile.pdf" \
-H "Authorization: api-key aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
|
В ответ вы получите объект Sample, который содержит данные о загруженном файле, в том числе формат файла, определенный автоматически, и список поддерживаемых платформ. Используйте полученные данные для последующего анализа файла.
Ответ:
{
"id": 6784,
"size": 10881846,
"name": "testfile.pdf",
"is_x64": null,
"format_name": "pdf",
"upload_date": "2019-02-08T04:08:15.162343+00:00",
"md5": "34fb8ae3c01653985085ee7e2f749ea5",
"sha1": "00a610100a3516f4d0daa33e7de317d2ddb6c2c6",
"sha256": "11bd131be00cbe1c43b4444ec4300dc7651805ea36393b1cca1675983dc275bc",
"platforms": [
"acrobat_xp_10",
"acrobat_7_32_11",
"acrobat_7_64_15",
"acrobat_10_64_15"
]
}
|
Запуск анализа
Чтобы запустить анализ файла, отправьте запрос POST analyses:
curl -X POST https://vxcube.drweb.com/api-2.0/analyses \
-H "Content-Type: application/json" \
-H "Authorization: api-key aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
-d "{\"sample_id\":\"6784\", \"platforms\":[\"acrobat_7_32_11\", \"acrobat_7_64_15\"]}"
|
В запросе указаны ID загруженного файла и список платформ для выполнения файла. Значения параметров взяты из ответа на предыдущий запрос.
Чтобы запустить анализ с перенаправлением сетевого трафика, отправьте запрос POST analyses:
curl -X POST https://<IP-адрес/доменное имя сервера>/api-2.0/analyses \
-H "Content-Type: application/json" \
-H "Authorization: api-key aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
-d "{\"sample_id\":\"6784\", \"platforms\":[\"acrobat_7_32_11\", \"acrobat_7_64_15\",
\"net\": \"socks5://username:password@<proxyaddress>:1080?udp=on\"}"]}"
|
В ответ вы получите объект Analysis, который содержит общие сведения об анализе:
{
"id": 6260,
"sample_id": 6784,
"size": 10881846,
"sha1": "00a610100a3516f4d0daa33e7de317d2ddb6c2c6",
"start_date": "2019-02-08T04:08:15.162343+00:00",
"format_name": "pdf",
"user_name": "example@drweb.com",
"tasks": [{
"message": null,
"end_date": null,
"platform_code": "acrobat_7_64_15",
"maliciousness": null,
"progress": 0,
"id": 18676,
"status": "in queue",
"start_date": "2019-02-08T04:08:15.643122+00:00"
}, {
"message": null,
"end_date": null,
"platform_code": "acrobat_7_32_11",
"maliciousness": null,
"progress": 0,
"id": 18675,
"status": "in queue",
"start_date": "2019-02-08T04:08:15.632924+00:00"
}]
}
|
Получение информации об анализе
Чтобы получить подробную информацию об анализе, дождитесь его завершения и отправьте запрос GET analyses/<analysis_id:uuid>. В запросе укажите ID анализа:
curl -X GET https://vxcube.drweb.com/api-2.0/analyses/60e21c98-7c2a-4112-81b5-a577f6cdf4db \
-H "Content-Type: application/json" \
-H "Authorization: api-key aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
|
В ответ вы получите объект Analysis:
{
"id": 60e21c98-7c2a-4112-81b5-a577f6cdf4db,
"sample_id": 6784,
"size": 10881846,
"sha1": "00a610100a3516f4d0daa33e7de317d2ddb6c2c6",
"start_date": "2019-02-08T04:08:15.162343+00:00",
"format_name": "pdf",
"user_name": "example@drweb.com",
"tasks": [{
"rules": {
"neutral": [
"Creating a window",
"Launching a process"
]
},
"detects": [
"behavior",
"files_dumps"
]
"end_date": "2019-02-08T15:51:05.186896+00:00",
"platform_code": "acrobat_7_64_15",
"maliciousness": 6,
"id": 18676,
"status": "successful",
"start_date": "2019-02-08T15:32:50.643122+00:00",
"verdict": "clean1"
}, {
"end_date": "2019-02-08T15:50:01.943030+00:00",
"platform_code": "acrobat_7_32_11",
"maliciousness": 6,
"id": 18675,
"status": "successful",
"start_date": "2019-02-08T04:08:15.632924+00:00",
"rules": {
"neutral": [
"Creating a window",
"Creating a file in the %temp% directory"
]
},
"detects": [
"behavior",
"files_dumps"
]
"verdict": "clean1"
}
],
"sha1": "00a610186a3526f4d0daa28e7de317d2ddb6c2c6"
}
|
Скачивание отчета
Чтобы скачать архив отчета об анализе целиком, отправьте запрос GET analyses/<analysis_id:uuid>/archive:
curl -X GET https://vxcube.drweb.com/api-2.0/analyses/40e2fc98-1c2a-4112-81b5-a57df2cd22db/archive \
-H "Content-Type: application/json" \
-H "Authorization: api-key aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
-o <output_archive>
|
Чтобы скачать один из файлов отчета, отправьте запрос GET tasks/<task_id:number>/archive_storage. Пример запроса на скачивание файла PCAP:
curl -X GET https://vxcube.drweb.com/api-2.0/tasks/18681/archive_storage \
-H "Content-Type: application/json" \
-H "Authorization: api-key aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
-d "{\"path\": \"network.pcap\"}" \
-o some_file
|
|