Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
Использование PVS-Studio в SolidLab SDP
menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

Использование PVS-Studio в SolidLab SDP

23 Июн 2026

SolidLab SDP — это платформа, которая поддерживает процессы безопасной разработки на всех этапах жизненного цикла программного обеспечения.

В подсистеме статического анализа платформы есть возможность использования PVS-Studio для выполнения сканирования в составе CI/CD-конвейеров, централизованного сканирования репозиториев без интеграции в процессы сборки и доставки, а также запуска анализа по расписанию или событию.

У SolidLab SDP есть подсистемы динамического и композиционного анализа, что позволяет использовать PVS-Studio вместе с другими инструментами безопасной разработки.

Ввод лицензии

Примечание. Настройка лицензии производится администратором однократно и не требует дополнительных действий от разработчиков или других пользователей.

Лицензия для использования PVS-Studio хранится в системе управления секретами SolidLab SDP и передаётся инструменту автоматически во время запуска анализа.

Для загрузки и обновления лицензии воспользуйтесь SDP API. Для этого выполните следующий запрос:

curl -X 'PUT' \ 
  'https://$URL/api/v3/user/secret?user=$user' \ 
  -H 'accept: application/json' \ 
  -H 'Content-Type: application/json' \ 
  -H 'Authorization: Bearer $SDP_API_TOKEN' \ 
  -d '{ 
    "secret_name": "pvs_studio_licence", 
    "secret_value": "$PVS_STUDIO_LICENCE" 
  }'

Создание запроса на сканирование

Для запуска анализа отправьте запрос в SDP API. В нём укажите шаблон сканирования, источник исходного кода и параметры выполнения анализа:

curl -s -X POST \ 
  "https://$URL/api/v3/scan/start" \ 
  -H "Authorization: Bearer $SDP_API_TOKEN" -d ' 
  { 
    "template": "sast-subsystem", 
    "template_version": "X.X.X", 
    "user": "$CLIENT", 
    "project": "$PROJECT", 
    "scan_plan": { 
      "scanners_configs": { 
        "pvs": "--errorCodes V501,V1001,V3001 -e /path/to/tests"
      }, 
      "code_mode": { 
        "source_type": "git", 
        "git": { 
          "repo_url": "$REPO_URL", 
          "repo_type": "public", // "private" 
          "repo_branch": "$REPO_BRANCH" 
        }, 
        "results_correlation": { 
          "enable": "true" 
        }, 
        "code_snippet": { 
          "enable": "true" 
        } 
      } 
    } 
  }'

Источник исходного кода может быть представлен Git-репозиторием или архивом, передаваемым в S3-совместимое хранилище через SDP-API.

В поле scanners_configs можете указать параметры, с которыми будет запущен анализатор PVS-Studio:

После запуска сканирования в ответ возвращается параметр Workflow ID, который можно использовать для отслеживания статуса процесса:

curl -s -X "GET" \ 
  -H "Authorization: Bearer $SDP_API_TOKEN" \ 
  -H 'Content-Type: application/json' \ 
  https://$URL/api/v3/scan/status/{$WORKFLOW_ID}

После завершения сканирования результаты будут автоматически выгружены в систему управления находками, а также во внешние системы, для которых настроены интеграции.

Результаты проверки Quality Gate в CI/CD процессе можно получить с помощью следующего запроса:

сurl -s -X "GET" \ 
  -H "Authorization: Bearer $SDP_API_TOKEN" \ 
  https://$URL/api/v3/scan/${workflow_id}/results/${PROJECT}/secgate

Выгрузить SARIF-отчёт с результатами анализа можно с помощью запроса:

сurl -s -X "GET" \ 
  -H "Authorization: Bearer $SDP_API_TOKEN" \ 
  https://$URL/api/v3/scan_info/${workflow_id}/results/${PROJECT}/correlated

Интеграция с внешними системами

SolidLab SDP также поддерживает передачу результатов анализа во внешние инструменты:

  • в системы управления недостатками;
  • в системы отслеживания задач;
  • в GitLab Merge Request;
  • в другие внешние системы через API-интеграции.

Подробнее об этом написано в документации SolidLab SDP.