Все что нужно -- это Gitlab. Подойдет даже бесплатный.
Итак, давайте превратим наш скучный
DevOps мир в модный DevSecOps за пару кликов:1. Что за SAST?
Кмон, ты же без 5 минут AppSec. Static Application Security Testing (
SAST) -- это сканеры, которые позволяют проверить исходный код на наличие известных уязвимостей (XSS, SQLi, и прочие OwaspTop10)Бывают бесплатные a.k.a опенсорсные (наш вариант) и коммерческие.
2. Создаем (а он скорее всего уже есть) в корне репозитория файл
.gitlab-ci.ymlВ этом файле описываются задачи для ci/cd пайплайнов
3. Добавляем в него следующее:
# у нас будет pre-build этап, в котором мы будем делать проверочки перед сборкой
stages:
- pre-build
# подключаем SAST сканеры. Какие? GitLab Сам выберет нужный, в зависимоcти от языка программирования вашей репы
include:
- template: Jobs/SAST.gitlab-ci.yml
# запускаем SASTы на этапе pre-build
sast:
stage: pre-build
variables:
# kubernetes манифесты тоже посканируем
SCAN_KUBERNETES_MANIFESTS: "true"
4. Собственно и все!
Теперь при изменении кода в репе, у вас будет запускать SAST сканер и проверять не улетят ли у нас в продакшен всякие глупенькие уязвимоcти.
Кстати, а где результаты сканирования смотреть?
Все просто, в артефактах пайплайна вы найдете файл
gl-sast-report.json с результатами сканирования. В следующих постах расскажу, как запилить
Secret Scan, DAST и прочие Dependency Scanning.Научимся разбирать результаты сканирований, так чтобы не вытекали глаз от парсинга json'ов глазами
И да, репостни этот гайд братишке. Пусть тоже проверит свои репы, лишним не будет. 👾