Импорт через Терминал используя файл отчета

Вы можете импортировать отчеты в Security Center используя командуcurl в терминале:

curl -X POST localhost/api/v1/scan/import/ -H "Authorization: Token <authorization_token>" -H "Content-Type: multipart/form-data" -F "file=@<report_file_path>" -F "product_name=<product_name>" -F "product_type=<product_type>" -F "scanner_name=<scanner_name>" -F "branch=<branch_name>" -F "repository=<repository SSH URL>" -F "docker_image=<registry address>" -F "domain=<domain>" -F "host=<host>"

В этой команде используются следующие параметры:

  1. -X POST: определяет используемый метод HTTP (в данном случае POST)

  2. -H "Authorization: Token <authorization_token>": определяет токен авторизации, полученный из Security Center.

  3. -H "Content-Type: multipart/form-data": определяет тип содержимого запроса.

  4. -F "file=@<report_file_path>": определяет путь к файлу отчета, создаваемого сканером.

  5. -F "product_name=<product_name>": определяет название сканируемого продукта.

  6. -F "product_type=<product_type>": определяет тип сканируемого продукта.

  7. -F "scanner_name=<scanner_name>": определяет имя сканера, используемого для создания отчета (правильное имя см. на расширяемой вкладке ниже).

  8. -F "branch=<branch_name>": (необязательно) указывает имя ветки в репозитории исходного кода (если применимо). Этот параметр особенно полезен, когда вы хотите связать результаты сканирования с определенной веткой в вашем репозитории. Если параметр не указан, сканирование будет связано с веткой по умолчанию.

Информация об активах, если используется Auditor

  1. -F "repository=<repository SSH URL>": если ваш продукт это код в репозитории, введите адрес репозитория в определенном формате, например: git@gitlab.com:cybercodereview/security-center.git

  2. -F "docker_image=<registry address>": Если ваш продукт является образом, введите адрес реестра, в котором находится ваш продукт, например: registry.gitlab.com/cybercodereview/security-center/back/auto_validator:latest

  3. -F "domain=<domain>": Если ваш продукт является веб-ресурсом, введите доменное имя вашего продукта, например: cybercodereview.ru

  4. -F "host=<host>": Если ваш продукт находится в Интернете, введите IP-адрес вашего продукта, например: 0.0.0.0

Список поддерживаемых сканеров
  • Acunetix Scan

  • Arachni Scan

  • AWS Security Hub Scan

  • Bandit Scan

  • Burp Enterprise Scan

  • Checkov Scan

  • CodeQL Scan (SARIF)

  • ESLint Scan

  • Find Security Bugs Scan (GitLab SAST Report)

  • GitLab Bandit

  • GitLab ESLint

  • GitLab Gemnasium

  • GitLab Gitleaks

  • GitLab KICS

  • GitLab OWASP Zap

  • GitLab Semgrep

  • Gitleaks Scan

  • Gosec Scanner

  • Hadolint Dockerfile check

  • Manual

  • Nuclei Scan

  • Pen Test

  • Prowler

  • Retire.js Scan

  • Semgrep JSON Report

  • subfinder

  • Terrascan Scan

  • Trivy Scan

  • Trufflehog3 Scan

  • CyberCodeReview Security Center

Если вы создадите команду curl для неподдерживаемого сканера, импорт не будет выполнен.

Вам нужно изменить команду curl в зависимости от сканера, используемого для создания отчета.

Обратите внимание, что если указанный тип продукта или название продукта не существует в Security Center, они будут созданы автоматически. Однако в рамках одного типа продукта не может быть двух продуктов с одинаковым именем.

Пример Curl

Вот пример команды для импорта отчета, созданного сканером Trivy:

curl -X POST localhost/api/v1/scan/import/ -H "Authorization: Token a75bb26171cf391671e67b128bfc8ae1c779ff7b" -H "Content-Type: multipart/form-data" -F "file=@./trivy-code.json" -F "product_name=Product1" -F "product_type=Application" -F "scanner_name=Trivy Scan" -F "branch=dev" -F "repository=git@gitlab.com:whitespots-public/security-center.git"

После завершения импорта вы можете просматривать и анализировать импортированные отчеты в Security Center.

Last updated