PVS-Studio.com logo
>
>
Интеграция PVS-Studio с Hexway


Интеграция PVS-Studio с Hexway

Компания PVS-Studio и платформа Hexway заключили технологическое партнёрство для обеспечения интеграции статического анализатора кода PVS-Studio в экосистему DevSecOps. PVS-Studio — это инструмент для обнаружения потенциальных ошибок и уязвимостей в исходном коде на языках C, C++, C# и Java. Hexway VamPy — это решение, агрегирующее данные о безопасности из разных источников для работы с уязвимостями.

В Hexway можно загрузить результаты анализа PVS-Studio в виде отчёта и работать с конкретными ошибками так же, как это позволяют другие инструменты. Загрузка возможна двумя способами: через пользовательский интерфейс или командную строку с использованием CLI-инструментов.

Преобразование отчёта PVS-Studio в совместимый с Hexway формат

Интеграция происходит с помощью преобразования отчёта PVS-Studio в формат SARIF. Для этого:

  • Запустите анализ вашего проекта с помощью PVS-Studio. В нашей документации можно подробно прочитать о том, как запускать анализатор PVS-Studio на операционной системе Windows, а также на операционных системах Linux и macOS;
  • Используйте утилиту PlogConverter на Windows и plog-converter на Linux и macOS, входящую в состав PVS-Studio, чтобы преобразовать отчёт анализатора в формат SARIF (Static Analysis Results Interchange Format). О том, как это сделать, можно прочитать в нашей документации. Например, на Linux это можно сделать следующим образом:
plog-converter -t sarif -o pvs-studio.sarif pvs-studio.json

Импорт отчёта в Hexway

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

Для импорта отчёта через UI необходимо сделать следующее:

1. Перейдите на вкладку Repositories и выберете нужный репозиторий;

2. Нажмите на клавишу Scan внизу экрана;

3. Заполните поля и выберете файл для загрузки, затем нажмите клавишу Submit;

Импорт отчёта через CLI

Импорт отчёта через утилиту vampy-cli

Импорт отчёта происходит с помощью утилиты vampy-cli, которая доступна на сайте Hexway. Полная команда загрузки отчёта выглядит следующим образом:

vampy-cli upload \
--scanner SARIF \
--file <PATH_TO_PVS_STUDIO_REPORT>
--repository <REPOSITORY>
--vampy-url <VAPMPY_URL>
--api-token <TOKEN>

Больше об этом способе можно узнать в официальной документации Hexway.

Импорт отчёта через утилиту CURL

Импорт отчёта происходит с помощью утилиты curl или иной утилиты, позволяющей посылать POST запросы на указанный адрес. Полная команда загрузки отчёта выглядит следующим образом:

curl -X POST "<YOUR_ADDRESS>/api/ext/v1/scan_uploads/" \
        -H "accept: */*" \
        -H "Content-Type: multipart/form-data" \
        -H "Authentication: <TOKEN>"\
        -F "repository=<REPO_NAME>" \
        -F "repositoryBranch=<REPO_BRANCH>" \
        -F "scannerResultFile=@<PATH_TO_PVS_STUDIO_REPORT>" \
        -F "scannerType=SARIF"

Больше об этом способе можно узнать в официальной документации Hexway.

Использование отчёта PVS-Studio в Hexway

После загрузки отчёта во вкладке Issues появится список предупреждений, выданных анализатором PVS-Studio.

На странице можно фильтровать и сортировать предупреждения по определённым параметрам, например, по уровню достоверности или названию диагностического правила. Подробнее о работе с дефектами безопасности можно прочитать в официальной документации Hexway.

Для разметки каждого предупреждения выберете нужное вам и нажмите на указанную кнопку.

Таким образом можно размечать сообщения, например, как исправленные, ложные, принятые и так далее.

Если у вас возникнут вопросы или сложности с интеграцией, обратитесь в техническую поддержку PVS-Studio или Hexway.