# Bandit

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

[Bandit scaner](https://github.com/PyCQA/bandit) и [Bandit scaner (GitLab)](https://gitlab.com/gitlab-org/security-products/analyzers/bandit) имеют *широкий набор плагинов* для обнаружения различных типов уязвимостей безопасности, включая **SQL-инъекции**, **межсайтовый скриптинг** и **жестко заданные пароли**. Он также может обнаружить небезопасное использование криптографии, например, **слабые алгоритмы шифрования** или **неправильное использование хэш-функций**.

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

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

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

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

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

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

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

**Пример отчета:**

```
>> Issue: DSA key sizes below 1024 bits are considered breakable.
   Severity: High   Confidence: High
   CWE: CWE-326 (https://cwe.mitre.org/data/definitions/326.html)
   Location: examples/weak_cryptographic_key_sizes.py:36
35  # Also incorrect: without keyword args
36  dsa.generate_private_key(512,
37                           backends.default_backend())
38  rsa.generate_private_key(3,
```


---

# 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/bandit.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.
