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 можно посмотреть на этой странице.

Внимание

Используйте только один из слагов: product или repository. В противном случае вы получите ошибку.

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

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 upload --repository vmp/product/vampy-engine --file ~/scans_trivy_image.json --scanner TRIVY_IMAGE
ScanUpload: 0101e9e8-a49c-49d2-b7fb-a129bfcc9d3e

Используя Web интерфейс

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