Skip to content

Предустановленные сканеры

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

Название VAMPY_SCAN_TYPE Тип Поставка
semgrep SEMGREP SAST
trivy TRIVY_FS SCA
trufflehog TRUFFLEHOG SAST/Secret Scan
gitleaks GITLEAKS SAST/Secret Scan
PT AI PT_AI SAST Интеграция

Внимание

Для работы оркестрации должна быть настроена интеграция с VCS системой

semgrep

Пример запуска

Используя Vampy-cli

~ vampy-cli scan --repository PUT_REPO_NAME_HERE --scanner SEMGREP --check-task --details

Используя API

~ curl -X 'POST' \
  'https://vmp-prod.corp.example.com/api/ext/v1/scan/' \
  -H 'accept: application/json' \
  -H "Authentication: $VAMPY_API_TOKEN" \
  -H 'Content-Type: multipart/form-data' \
  -F 'spaceID=' \
  -F 'repository=PUT_REPO_NAME_HERE' \
  -F 'product=' \
  -F 'repositoryBranch=' \
  -F 'scanner=SEMGREP' \
  -F 'scannerOptions=' \
  -F 'dryRun=false' \
  -F 'profile='

Параметры запуска по умолчанию

По умолчанию сканер запускается со следующими параметрами:

semgrep scan --disable-version-check --json --output "${RESULTS_FILE}" --config=p/owasp-top-ten --metrics=off "${CURRENT_DIR}"

Trivy

Пример запуска

Используя Vampy-cli

~ vampy-cli scan --repository PUT_REPO_NAME_HERE --scanner TRIVY_FS --check-task --details

Используя API

~ curl -X 'POST' \
  'https://vmp-prod.corp.example.com/api/ext/v1/scan/' \
  -H 'accept: application/json' \
  -H "Authentication: $VAMPY_API_TOKEN" \
  -H 'Content-Type: multipart/form-data' \
  -F 'spaceID=' \
  -F 'repository=PUT_REPO_NAME_HERE' \
  -F 'product=' \
  -F 'repositoryBranch=' \
  -F 'scanner=TRIVY_FS' \
  -F 'scannerOptions=' \
  -F 'dryRun=false' \
  -F 'profile='

Параметры запуска по умолчанию

По умолчанию сканер запускается со следующими параметрами:

trivy fs --scanners vuln,secret,misconfig -f json --output "${RESULTS_FILE}" --cache-dir "${CACHE_DIR}" --db-repository "${HW_REGISTRY}/trivy/trivy-db:2" --no-progress "${SRC_DIR}"

Trufflehog

Пример запуска

Используя Vampy-cli

~ vampy-cli scan --repository PUT_REPO_NAME_HERE --scanner TRUFFLEHOG --check-task --details

Используя API

~ curl -X 'POST' \
  'https://vmp-prod.corp.example.com/api/ext/v1/scan/' \
  -H 'accept: application/json' \
  -H "Authentication: $VAMPY_API_TOKEN" \
  -H 'Content-Type: multipart/form-data' \
  -F 'spaceID=' \
  -F 'repository=PUT_REPO_NAME_HERE' \
  -F 'product=' \
  -F 'repositoryBranch=' \
  -F 'scanner=TRUFFLEHOG' \
  -F 'scannerOptions=' \
  -F 'dryRun=false' \
  -F 'profile='

Параметры запуска по умолчанию

По умолчанию сканер запускается со следующими параметрами:

trufflehog --no-update --json filesystem "${CURRENT_DIR}" > "${RESULTS_FILE}"

Gitleaks

Пример запуска

Используя Vampy-cli

~ vampy-cli scan --repository PUT_REPO_NAME_HERE --scanner GITLEAKS --check-task --details

Используя API

~ curl -X 'POST' \
  'https://vmp-prod.corp.example.com/api/ext/v1/scan/' \
  -H 'accept: application/json' \
  -H "Authentication: $VAMPY_API_TOKEN" \
  -H 'Content-Type: multipart/form-data' \
  -F 'spaceID=' \
  -F 'repository=PUT_REPO_NAME_HERE' \
  -F 'product=' \
  -F 'repositoryBranch=' \
  -F 'scanner=GITLEAKS' \
  -F 'scannerOptions=' \
  -F 'dryRun=false' \
  -F 'profile='

Параметры запуска по умолчанию

По умолчанию сканер запускается со следующими параметрами:

gitleaks dir "${CURRENT_DIR}" --report-format json --report-path "${RESULTS_FILE}" --exit-code 0

PT AI

Пример запуска

Используя Vampy-cli

~ vampy-cli scan --repository PUT_REPO_NAME_HERE --scanner PT_AI --check-task --details

Используя API

~ curl -X 'POST' \
  'https://vmp-prod.corp.example.com/api/ext/v1/scan/' \
  -H 'accept: application/json' \
  -H "Authentication: $VAMPY_API_TOKEN" \
  -H 'Content-Type: multipart/form-data' \
  -F 'spaceID=' \
  -F 'repository=PUT_REPO_NAME_HERE' \
  -F 'product=' \
  -F 'repositoryBranch=' \
  -F 'scanner=PT_AI' \
  -F 'scannerOptions=' \
  -F 'dryRun=false' \
  -F 'profile='

Параметры запуска по умолчанию

По умолчанию сканер запускается со следующими параметрами:

aisa -u "${INTEGRATION_URL}" -t "${INTEGRATION_TOKEN}" --scan-target "${SRC_DIR}" --project-name "${PT_AI_PROJECT_PREFIX}${REPOSITORY_SLUG}" --reports-folder "${REPORTS_DIR}" --report json --create-project --full-scan