# Checkov

**Название задания в Auditor**: Checkov Scan\
**Образ в Auditor:** `registry.cybercodereview.ru/cybercodereview/security-images/checkov:3.2.108`\
**Название импортера в Security Center**: Checkov Scan

[Checkov](https://github.com/bridgecrewio/checkov) поддерживает различные форматы IaC, включая **Terraform**, **Kubernetes**, **AWS** **CloudFormation** и **Azure Resource Manager**. Checkov можно использовать для выявления неправильных конфигураций и обеспечения соответствия отраслевым стандартам и нормам.

Checkov Scan работает, анализируя структуру кода и применяя набор встроенных и пользовательских правил. Правила написаны в формате YAML и могут быть легко расширены или модифицированы под конкретные случаи использования. Каждое правило проверяет определенное условие, например, использование небезопасных протоколов или раскрытие конфиденциальных данных, и генерирует отчет с результатами. Отчет можно экспортировать в различные форматы, такие как JSON, HTML или JUnit.

**Пример команды Curl**

```
curl -X POST localhost/api/v1/scan/import/ -H "Authorization: Token a75bb26171cf391671e67b128bfc8ae1c779ff7b" -H "Content-Type: multipart/form-data" -F "file=@./checkov.json" -F "product_name=Product1" -F "product_type=Application" -F "scanner_name=Checkov Scan" -F "branch=dev" -F "repository=git@gitlab.cybercodereview.ru:cybercodereview/security-center.git"
```

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

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

Информация об активах, если используется [Auditor](/auditor/install.md)

1. `-F "repository=<repository SSH URL>"`: Если ваш продукт хранится в **репозитории**, введите адрес **репозитория** в определенном формате, например: <git@gitlab.cybercodereview.ru>:cybercodereview/security-center.git
2. `-F "docker_image=<registry address>"`: Если ваш продукт является **образом**, введите адрес **реестра**, в котором находится ваш продукт, например:registry.cybercodereview\.ru/cybercodereview/security-center/back/importer:latest
3. `-F "domain=<domain>"`: Если ваш продукт является **веб-продуктом**, введите **доменное имя** вашего продукта, например: cybercodereview\.ru
4. `-F "host=<host>"`: Если ваш продукт является **веб-продуктом**, введите **IP-адрес** вашего продукта, например: 0.0.0.0

**Report example:**

<figure><img src="/files/58nZp1MVdbMwmqy5YIrn" alt=""><figcaption></figcaption></figure>


---

# 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/scanner-description/code-scanners/checkov.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.
