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

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

{% code overflow="wrap" %}

```bash
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>"
```

{% endcode %}

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

1. `-X POST`: определяет используемый метод HTTP (в данном случае POST)
2. `-H "Authorization: Token <authorization_token>"`: определяет [**токен авторизации**](/security-center/scanners/importing-reports-from-scanners-to-security-center.md#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>"`: определяет [**имя сканера**](#list-of-currently-supported-scanners), используемого для создания отчета (правильное имя см. на расширяемой вкладке ниже).
8. `-F "branch=<branch_name>"`: (необязательно) указывает имя ветки в репозитории исходного кода (если применимо). Этот параметр особенно полезен, когда вы хотите связать результаты сканирования с определенной веткой в вашем репозитории. Если параметр не указан, сканирование будет связано с веткой по умолчанию.

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

9. `-F "repository=<repository SSH URL>"`: если ваш продукт это **код** в репозитории, введите адрес репозитория в определенном формате, например: <git@gitlab.com>:cybercodereview/security-center.git
10. `-F "docker_image=<registry address>"`: Если ваш продукт является **образом**, введите адрес **реестра**, в котором находится ваш продукт, например: registry.gitlab.com/cybercodereview/security-center/back/auto\_validator:latest
11. `-F "domain=<domain>"`: Если ваш продукт является веб-ресурсом, введите доменное имя вашего продукта, например: cybercodereview\.ru
12. `-F "host=<host>"`: Если ваш продукт находится в **Интернете**, введите IP-адрес вашего продукта, например: 0.0.0.0

<details>

<summary>Список поддерживаемых сканеров</summary>

* 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

</details>

{% hint style="warning" %}
Если вы создадите команду `curl` для неподдерживаемого сканера, **импорт не будет выполнен**.
{% endhint %}

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

{% hint style="info" %}
Обратите внимание, что если указанный *тип продукта* или *название продукта* не существует в Security Center, они будут созданы **автоматически**. Однако в рамках одного типа продукта **не может быть двух продуктов с одинаковым именем**.
{% endhint %}

#### Пример Curl

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

{% code overflow="wrap" %}

```bash
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"
```

{% endcode %}

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cybercodereview.ru/security-center/scanners/importing-reports-from-scanners-to-security-center/importing-reports-via-terminal-using-a-report-file.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
