Импорт через терминал используя файл отчета
Вы можете импортировать отчеты в Security Center используя командуcurl в терминале:
curl -X POST localhost/api/v1/scan/import/ -H "Authorization: Token <токен_авторизации>" -H "Content-Type: multipart/form-data" -F "file=@<путь_к_файлу_отчета>" -F "product_name=<имя_продукта>" -F "product_type=<тип_продукта>" -F "scanner_name=<название_сканера>" -F "branch=<название_ветки>" -F "repository=<SSH_URL_репозитория>" -F "docker_image=<registry_URL>" -F "domain=<домен>" -F "host=<IP-адрес_хоста>"
В этой команде используются следующие параметры:
-X POST: определяет используемый метод HTTP (в данном случае POST)-H "Authorization: Token <токен_авторизации>": определяет токен авторизации, полученный из настроек профиля в Security Center.-H "Content-Type: multipart/form-data": определяет тип содержимого запроса.-F "file=@<путь_к_файлу_отчета>": определяет путь к файлу отчета, полученного в результате сканирования.-F "product_name=<имя_продукта>": определяет имя сканируемого продукта.-F "product_type=<тип_продукта>": определяет тип сканируемого продукта.-F "scanner_name=<название_сканера>": определяет название сканера, используемого для создания отчета (правильное имя см. на расширяемой вкладке ниже).-F "branch=<название_ветки>": (необязательно) указывает название ветки в репозитории исходного кода (если применимо). Этот параметр особенно полезен, когда вы хотите связать результаты сканирования с определенной веткой в вашем репозитории. Если параметр не указан, сканирование будет связано с веткой по умолчанию.
Информация об активах, если используется Аудитор
-F "repository=<SSH_URL_репозитория>": если ваш продукт это код в репозитории, введите адрес репозитория в определенном формате, например: git@gitlab.com:cybercodereview/security-center.git.-F "docker_image=<registry_URL>": если ваш продукт это Docker-образ, введите адрес registry, в котором находится ваш продукт, например: registry.gitlab.com/cybercodereview/security-center/back/auto_validator:latest.-F "domain=<домен>": если ваш продукт это веб-ресурс, введите доменное имя вашего продукта, например: cybercodereview.ru.-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.cybercodereview.ru:cybercodereview/security-center.git"
После завершения импорта вы можете просматривать и анализировать импортированные отчеты в Security Center.