Bandit
Overview
Заголовок раздела «Overview»Bandit — это статический анализатор безопасности (SAST) для Python, интегрированный в TRAIO. Сканер проверяет исходный код на типовые небезопасные паттерны (например, использование небезопасных функций, слабые настройки криптографии, потенциальные инъекции)
Supported languages
Заголовок раздела «Supported languages»- Python
Key features
Заголовок раздела «Key features»- Быстрый запуск “из коробки”
- Рекурсивное сканирование каталога с исходным кодом
How it works
Заголовок раздела «How it works»Сканер использует официальный docker-образ Bandit:
ghcr.io/pycqa/bandit/bandit:latest
При запуске выполняется команда:
bandit -r ./$SEC_CODE_FOLDER -f json -o /data/$REPORT_FILE_NAME
Environment variables (env)
Заголовок раздела «Environment variables (env)»| Переменная | Пример | Обязательная | Описание |
|---|---|---|---|
| SEC_CODE_FOLDER | Да | Путь к исходному коду. Проставляется автоматический | |
| REPORT_FILE_NAME | bandit.json | Да | Имя итогового отчёта. Файл будет сохранён в /data/$REPORT_FILE_NAME. |
| SCAN_TYPE | Bandit Scan | Да | Тип сканирования для парсинга в TRAIO. |
Settings and parameters
Заголовок раздела «Settings and parameters»allow_failure: True— ошибки сканера не прерывают пайплайнoverwrite_entrypoint: True— позволяет явно задаватьrun_commandtimeout: 20— таймаут выполнения (в минутах)
Customization and advanced settings
Заголовок раздела «Customization and advanced settings»Bandit поддерживает настройку порогов и фильтрации результатов через CLI-флаги (опционально):
-l/--level— минимальный уровень серьёзности (LOW/MEDIUM/HIGH)-i/--confidence— минимальный уровень уверенности (LOW/MEDIUM/HIGH)
Пример (уменьшить шум, оставив только MEDIUM+ и confidence MEDIUM+):
bandit -r ./$SEC_CODE_FOLDER -f json -o "/data/$REPORT_FILE_NAME" -l MEDIUM -i MEDIUM
- Репозиторий Bandit: https://github.com/PyCQA/bandit
- Docker image (GHCR): https://github.com/orgs/PyCQA/packages/container/package/bandit%2Fbandit