﻿# Интеграция результатов анализа PVS\-Studio в CyberCodeReview

CyberCodeReview — это ASOC\-платформа для анализа защищённости кода и приложений\.


> \*\*Примечание\\\.\*\* Подробнее о возможностях платформы CyberCodeReview можно прочитать в \[документации\]\(https://docs\.cybercodereview\.ru/\)\\\.

Этот инструмент позволяет просматривать результаты анализа с помощью PVS\-Studio\. Для этого предусмотрена возможность загрузки кроссплатформенного JSON\-отчёта PVS\-Studio\.


> \*\*Примечание\\\.\*\* О доступных форматах отчёта PVS\\\-Studio и конвертации можно прочитать \[по ссылке\\\.\]\(https://pvs\-studio\.ru/ru/docs/manual/0038/\)

## Импорт отчёта через UI CyberCodeReview

На странице продукта внутри платформы необходимо нажать на кнопку **Импорт**, перетащить или выбрать файл JSON\-отчёта PVS\-Studio, в поле **Сканер** выбрать PVS\-Studio, а также установить другие необходимые настройки\. После этого нужно нажать на кнопку **Импорт**\.

![cybercodereview_ru/image1.png](https://import.viva64.com/docx/blog/cybercodereview_ru/image1.png)

После этого, если в отчёте были срабатывания анализатора, они появятся в **Security Center** для данного продукта\.


> \*\*Примечание\\\.\*\* Подробнее о загрузке отчёта с помощью UI можно прочитать в соответствующем \[разделе документации\]\(https://docs\.cybercodereview\.ru/security\-center/scanners/importing\-reports\-from\-scanners\-to\-security\-center/manual\-import\-using\-report\-file\) инструмента\\\.

## Импорт отчёта через API CyberCodeReview

Помимо загрузки отчёта вручную через интерфейс CyberCodeReview, можно воспользоваться API данной платформы и загрузить отчёт через него\. Для этого необходимо выполнить следующую команду:

```cpp
curl -X POST localhost/api/v1/scan/import/ \
-H "Authorization: Token <authorization_token>" \ 
-H "Content-Type: multipart/form-data" \
-F "file=@<report_file_path>" \
-F "product_name=<product_name>" \ 
-F "product_type=<product_type>" \
-F "scanner_name=PVS-Studio" \
-F "branch=<branch_name>" \
-F "repository=<repository SSH URL>" \
-F "docker_image=<registry address>" \
-F "domain=<domain>" \
-F "host=<host>"
```

В этой команде:

* `-X POST` определяет используемый метод HTTP \(в данном случае — POST\);
* `-H "Authorization: Token <authorization_token>"` определяет токен авторизации, полученный из Security Center;
* `-H "Content-Type: multipart/form-data"` определяет тип содержимого запроса;
* `-F "file=@<report_file_path>"` определяет путь к файлу отчёта, создаваемого сканером;
* `-F "product_name=<product_name>"` определяет название сканируемого продукта;
* `-F "product_type=<product_type>"` определяет тип сканируемого продукта;
* `-F "scanner_name=PVS-Studio"` определяет имя сканера, используемого для создания отчёта \(в данном случае выбран анализатор PVS\-Studio\);
* `-F "branch=<branch_name>"` \(необязательно\) указывает имя ветки в репозитории исходного кода \(если применимо\)\. Этот параметр особенно полезен, когда вы хотите связать результаты сканирования с определённой веткой в вашем репозитории\. Если параметр не указан, сканирование будет связано с веткой по умолчанию\.

Также при использовании Auditor есть дополнительные параметры:

* `-F "repository=<repository SSH URL>"`\. Если ваш продукт — это код в репозитории, введите адрес репозитория в определённом формате;
* `-F "docker_image=<registry address>"`\. Если ваш продукт — образ, введите адрес реестра, в котором находится продукт;
* `-F "domain=<domain>"`\. Если ваш продукт — веб\-ресурс, введите его доменное имя;\.
* `-F "host=<host>"`\. Если ваш продукт находится в Интернете, введите его IP\-адрес\.


> \*\*Примечание\\\.\*\* Подробнее о загрузке отчёта с помощью API можно прочитать в соответствующем \[разделе документации\]\(https://docs\.cybercodereview\.ru/security\-center/scanners/importing\-reports\-from\-scanners\-to\-security\-center/manual\-import\-using\-report\-file\) инструмента\\\.

## Работа с результатами анализа

После загрузки отчёта все срабатывания анализатора PVS\-Studio появятся в списке необработанных уязвимостей\. Уровни достоверности срабатываний PVS\-Studio будут совпадать с уровнями критичности в веб\-интерфейсе CyberCodeReview\.

![cybercodereview_ru/image2.png](https://import.viva64.com/docx/blog/cybercodereview_ru/image2.png)

Открыв конкретное срабатывание, можно увидеть, на какой файл оно было выдано, какой идентификатор имеет по CWE, а также его сообщение\.

![cybercodereview_ru/image3.png](https://import.viva64.com/docx/blog/cybercodereview_ru/image3.png)

Далее по срабатыванию анализатора можно создать задачу в Jira, подтвердив её и назначив ответственного исполнителя\.


> \*\*Примечание\\\.\*\* Подробнее об интеграции CyberCodeReview в Jira можно прочитать \[в документации инструмента\]\(https://docs\.cybercodereview\.ru/security\-center/jira\)\\\.