Ответ
SAST Templates в GitLab — это готовые конфигурационные шаблоны для интеграции инструментов статического анализа безопасности кода (Static Application Security Testing) в CI/CD-пайплайн.
Как это работает на практике:
В .gitlab-ci.yml достаточно добавить инклюд шаблона, и GitLab автоматически:
- Определит языки и фреймворки в вашем проекте.
- Запустит соответствующие сканеры (например, Semgrep для Python/Go/Java, Bandit для Python, ESLint для JavaScript).
- Сгенерирует отчёт о уязвимостях в формате SARIF и отобразит его в интерфейсе Merge Request.
Пример минимальной конфигурации:
include:
- template: Security/SAST.gitlab-ci.yml
Кастомизация: Шаблон гибко настраивается через переменные окружения. Например:
SAST_EXCLUDED_PATHS: "vendor/*, node_modules/*"— для исключения каталогов из проверки.SAST_BANDIT_EXCLUDED_PATHS: "*/tests/*"— для исключения тестов в Python-проектах.- Можно переопределять этапы, образы Docker или версии инструментов, создавая собственные задания после инклюда шаблона.
В моих проектах использование этих шаблонов позволило внедрить проверку безопасности на этапе разработки буквально за 5 минут, без написания сложных конфигураций с нуля.