Skip to content

Внимание

Для Ассетов можно загружать только результаты сканирования DAST сканеров

Внимание

Для загрузки результатов сканирования необходио указывать slug Продукта, а не slug Репозитория

Загрузка результатов сканирования

Вы можете загружать результаты сканирования несколькими способами:

  • Используя API
  • Используя vampy-cli
  • Используя Web интерфейс

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

Для корректной работы бота ему необходимо присвоить роль Editor или Admin.

Запомните сгенерированный API токен.

Загрузка через API

Для загрузки результатов по API можно использовать curl

curl -X POST "$VAMPY_URL/api/ext/v1/scan_uploads/" \
        -H "accept: application/json'" \
        -H "Content-Type: multipart/form-data" \
        -H "Authentication: $VAMPY_API_TOKEN"\
        -F "repository=$VAMPY_REPO_SLUG" \
        -F "repositoryBranch=$VAMPY_REPO_BRANCH" \
        -F "scannerResultFile=@$VV_REPORT_FILE_NAME" \
        -F "scannerType=$VAMPY_SCAN_TYPE" \
        -F 'product=' \
        -F 'vcsURL='

где

  • VAMPY_URL - путь к серверу Vampy, напр. https://vampy.corp.example.com;
  • VAMPY_API_TOKEN - API токен для бот пользователя;
  • VAMPY_REPO_SLUG - slug репозитория, для которого выполнялось сканирование. Эквивалентно CI_PROJECT_PATH;
  • VAMPY_REPO_BRANCH - ветка, для которой выполнялось сканирование. Эквивалентно CI_COMMIT_REF_NAME;
  • VV_REPORT_FILE_NAME - имя файла с результатами скана;
  • product - slug продукта, куда загружаются результаты сканирования;
  • vcsURL - опциональное поле, для указания ссылки и автоматической привязки к VCS системе;
  • VAMPY_SCAN_TYPE - id сканера. Поддерживаемые сканеры и их id можно посмотреть на этой странице.

Пример запроса через API

curl -X POST "https://vampy.hexway.io/api/ext/v1/scan_uploads/" \
        -H "accept: */*" \
        -H "Content-Type: multipart/form-data" \
        -H "Authentication: $VAMPY_API_TOKEN"\
        -F "repository=test_repo" \
        -F "repositoryBranch=main" \
        -F "scannerResultFile=@/Vampy/report.sarif" \
        -F "scannerType=SARIF"

Загрузка через Vampy-cli

Пример запроса через vampy-cli

vampy-cli upload --repository vmp/product/vampy-engine --file ~/scans_trivy_image.json --scanner TRIVY_IMAGE
ScanUpload: 0101e9e8-a49c-49d2-b7fb-a129bfcc9d3e

Загрузка через Web интерфейс

Вы также можете загрузить результаты сканирований через Web интерфейс Vampy.