Bandit
Bandit - это популярный инструмент с открытым исходным кодом, который сканирует Python-код на наличие уязвимостей.
Название задания в Auditor: Bandit Scan
Образ в Auditor: registry.cybercodereview.ru/cybercodereview/security-images/bandit:1.7.5
Название импортера в Security Center: Bandit Scan, GitLab Bandit
Bandit scaner и Bandit scaner (GitLab) имеют широкий набор плагинов для обнаружения различных типов уязвимостей безопасности, включая 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 "[email protected]: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 "[email protected]:cybercodereview/security-center.git"
В этой команде используются следующие параметры:
-X POST
: задает используемый метод HTTP (в данном случае POST).-H "Authorization: Token <authorization_token>"
: задает токен авторизации, полученный от Security Center.-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>"
: задает имя сканера, используемого для создания отчета (Bandit Scan или GitLab Bandit)-F "branch=<branch_name>"
: (необязательно) указывает имя ветки в репозитории исходного кода (если применимо). Этот параметр особенно полезен, когда вы хотите связать результаты сканирования с определенной веткой в вашем репозитории. Если параметр не указан, сканирование будет связано с веткой по умолчанию
Информация об активах, если используется Auditor
-F "repository=<repository SSH URL>"
: Если ваш продукт хранится в репозитории, введите адрес репозитория в определенном формате, например: [email protected]:cybercodereview/security-center.git-F "docker_image=<registry address>"
: Если ваш продукт является образом, введите адрес реестра, в котором находится ваш продукт, например: registry.cybercodereview.ru/cybercodereview/security-center/back/importer:latest-F "domain=<domain>"
: Если ваш продукт является веб-продуктом, введите доменное имя вашего продукта, например: cybercodereview.ru-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,
Last updated