Код-ревью Middle Secure SDLC, сканеры и пентест обновлено

Ревью: проверки безопасности в CI

Вопрос

Найдите проблемы в настройке проверок безопасности в пайплайне GitLab CI.

stages: [test, security, deploy]

sast:
  stage: security
  script: semgrep --config auto --error src/
  allow_failure: true
  only: [schedules]

dependency_scan:
  stage: security
  script: npm audit || true

secrets:
  stage: security
  script: gitleaks detect --no-git
  when: manual

deploy:
  stage: deploy
  script: ./deploy.sh
  needs: [unit_tests]

Коротко

Инструменты подключены формально, но ни один не влияет на релиз. Правильная настройка: проверки на каждом MR, блокировка по точным правилам и новым находкам, деплой после этапа безопасности.

Что должен найти ревьюер

  1. Безопасностьстрока 6
    allow_failure: true у SAST: находки никогда не блокируют, результат никто не видит.
  2. Безопасностьстрока 7
    SAST запускается только по расписанию, а не на каждом merge request: разработчик не получает обратную связь вовремя.
  3. Безопасностьстрока 11
    || true глушит любой результат аудита зависимостей.
  4. Безопасностьстрока 15
    Сканер секретов запускается вручную и без истории git (--no-git): секреты в прошлых коммитах не найдёт.
  5. Безопасностьстрока 19
    Деплой зависит только от unit-тестов и не ждёт этапа security: релиз уходит при проваленных проверках.

Разбор

Инструменты подключены формально, но ни один не влияет на релиз. Правильная настройка: проверки на каждом MR, блокировка по точным правилам и новым находкам, деплой после этапа безопасности.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.