Здесь ты встраиваешь security в CI/CD. Каждая категория инструментов —
не «запустил и забыл», а: что ищет, какие false positives, как настраивать пороги,
что блокирует мерж, что только предупреждает. Тулинг должен жить в pre-commit + CI.
// scanning tools — что ищет уязвимости
P3.1
SAST: Semgrep deep
Semgrep как индустриальный стандарт. Готовые rulesets + пишешь
5+ собственных правил под свой стек. CodeQL опционально. Bandit для
Python специфики. Подключи в CI и pre-commit.
portfolio
semgrep
sast
P3.2
SCA: dependency scanning
Trivy (универсальный), OWASP Dependency-Check,
Grype, OSV-Scanner. CodeScoring как российский игрок.
Понимание различия CVE vs GHSA vs БДУ ФСТЭК. Авто-обновления через Dependabot/Renovate.
Лицензионный комплаенс — вторая работа SCA, про которую забывают:
копилефт (GPL/AGPL) против пермиссивных (MIT/Apache), почему AGPL-зависимость
в проприетарном продукте — это юридический риск, а не «просто предупреждение».
FOSSA, ScanCode, license scan в Trivy. В РФ смыкается с Реестром ПО (см. RU.3).
trivy
sca
license
ru
P3.3
DAST + Vulnerability Scanning
OWASP ZAP в baseline-режиме в CI. Nuclei для
template-based проверок. Nessus / OpenVAS — классические
vulnerability scanners для инфры (отдельная категория от DAST, ловят CVE на
сетевых сервисах). Концептуально: что DAST ловит, а SAST — нет, и наоборот.
zap
nuclei
nessus
openvas
P3.4
Secrets scanning
Gitleaks и TruffleHog — оба в pre-commit
+ CI + history scan. Custom rules под свой стек. Что делать, если секрет
закоммитили: rotation процесс, не просто «удалить из истории».
portfolio
gitleaks
P3.5
IaC scanning
Checkov (универсальный, Python-based, легко расширяется),
tfsec/Trivy для Terraform, kube-linter для
K8s манифестов. Подключи к pipeline своего Terraform-проекта.
checkov
iac
P3.6
Container image scanning
Trivy (де-факто стандарт), Grype, Docker Scout. Сканирование
в CI до push, а не после. Понимание того, как чинить
vulnerabilities в base images (distroless, minimal, regular updates).
trivy
container
// process & maturity — как управлять и измерять
P3.7
Pipeline as defence-in-depth
Стратегия: pre-commit hooks → CI scans → registry gate → admission controller.
Один уровень обходится — следующий ловит. Не один scanner-выключатель,
а каскад. Документируй процесс в репо.
Экономика пайплайна. Это то, что отделяет читавшего доки от
внедрявшего. Навешал сканеров — пайплайн вырос на 20 минут, разработчики
начали искать способ его обойти, и ты получил security-театр.
Что с этим делают:
diff-only сканирование — semgrep --baseline-commit
и инкрементальные режимы, проверяем изменённое, а не репозиторий целиком;
кеширование БД уязвимостей Trivy между запусками;
раскладка по триггерам — быстрые проверки (secrets, lint,
diff-SAST) на каждый PR, тяжёлые (полный SCA, DAST, image scan) на merge
в main, самые долгие ночью по расписанию;
SLA на remediation вместо жёсткой блокировки — critical
блокирует, high получает срок и тикет, остальное копится в отчёт;
политика исключений с датой пересмотра, иначе nosec расползётся
по коду навсегда. Время пайплайна — такая же метрика, как число
findings: если ты его не меряешь, ты его не контролируешь.
strategy
interview
P3.8
DefectDojo / Vulnerability management
Куда складывать findings, как дедуплицировать, как приоритезировать (CVSS — это
не приоритет, это severity). DefectDojo как open source стандарт vulnerability
management. EPSS и SSVC как дополнения к CVSS.
defectdojo
vm
P3.9
SSDLC Maturity Models
Как оценить зрелость security-программы в организации и обосновать roadmap её
развития. OWASP SAMM (Software Assurance Maturity Model,
бесплатный фреймворк с self-assessment toolkit). BSIMM
(Building Security In Maturity Model, ежегодные открытые PDF от Synopsys —
benchmark реальных компаний). OWASP DSOMM (DevSecOps Maturity
Model, специфичен для CI/CD-практик). Это не инструменты сканирования,
а процессные фреймворки — потому идут в этой подсекции. Цель — уметь провести
аудит текущего состояния и предложить план роста, опираясь на индустриальный
фреймворк, а не «по наитию». Спрашивают на собеседованиях middle+ для AppSec ролей.
interview
samm
bsimm
dsomm
// specialized — отдельные домены
Эти четыре модуля берём обзорно: понимать суть, уметь говорить
на интервью, знать словарь. Глубина — уже на работе (M1), иначе P3 разрастается
вдвое. Исключение — API Security: её спрашивают вплотную везде, где есть
микросервисы, так что её проходим наравне с основными модулями фазы.
P3.10
API Security
OWASP API Security Top 10 — отдельный домен, не сводится к OWASP
Top 10. BOLA / BFLA / IDOR, mass assignment, excessive data
exposure, rate limiting, schema validation. REST / GraphQL / gRPC — разные attack
surfaces. API gateway (Kong, Tyk) как security boundary. Это обязательная
тема на интервью в любой компании с микросервисами.
interview
api
owasp-api
P3.11
Jenkins-специфика (для РФ-рынка)
В РФ Jenkins всё ещё широко используется в банках,
корпорациях, on-prem инсталляциях — наравне с GitLab CI.
Declarative vs Scripted pipelines — два синтаксиса,
знать оба. Jenkins Shared Libraries — централизованная
библиотека security-проверок, переиспользуемая всеми проектами компании.
Security pipeline patterns в Jenkins: внедрение SAST/SCA/DAST
стейджей, archiveArtifacts для findings, post-build actions, withCredentials
для секретов. Concept «security as code» через Jenkinsfile в репозитории
каждого сервиса. Знание Jenkins — серьёзный плюс на собеседованиях в
Сбер, ВТБ, ИБ-вендорах.
ru
jenkins
pipeline
P3.12
AI/LLM Security
Новая поверхность атаки, которой пять лет назад не было, а сегодня она есть
почти в каждом продукте. OWASP Top 10 for LLM Applications:
prompt injection (direct и indirect — второй опаснее, инъекция приезжает
в контенте, который модель читает), insecure output handling (вывод модели
уходит в eval/SQL/HTML без санитизации), training data poisoning,
excessive agency — агенту дали права, которые он не должен иметь.
Безопасность AI-генерируемого кода в SDLC: кто ревьюит вывод
Copilot/Claude Code, как ловить внесённые уязвимости — обычный SAST в CI
ловит их так же, как рукописные, но объём кода на ревью растёт кратно.
Безопасность агентов и MCP-серверов: доверие к tool output,
разграничение прав агента, sandbox для исполнения. Практика: добавь
LLM-эндпоинт в pet-проект и сломай его prompt injection сам.
interview
llm
owasp-llm
P3.13
WAF как compensating control
«SAST vs DAST vs WAF» — стандартный вопрос на собеседовании.
Разница по сути: SAST и DAST ищут уязвимость до прода, WAF живёт
в проде и фильтрует трафик. Виртуальный патч — правило
WAF, закрывающее эксплуатацию, пока фикс в коде едет через релизный цикл:
это выигранное время, а не решение проблемы. Знать ограничения: WAF обходится
(обфускация, нестандартные кодировки), не спасает от логических багов
и от IDOR, и не отменяет исправление кода. Positive vs negative
security model — белые списки против сигнатур. OWASP Core Rule Set,
настройка порогов, борьба с ложными срабатываниями в blocking-режиме
(типовой путь: сначала detection-only, потом блокировка). В РФ на собеседованиях
всплывают PT AF и Wallarm.
interview
waf
ru
- Pet-проект имеет полный security pipeline: SAST + SCA + DAST + secrets + IaC + container
- 5+ собственных Semgrep-правил опубликовано в репо
- Pre-commit hooks с gitleaks работают и блокируют коммиты
- CI блокирует merge при HIGH/CRITICAL findings (с осознанными исключениями)
- DefectDojo поднят, findings из всех сканеров стекаются
- Объясняешь разницу между SAST/SCA/DAST/IAST на доске
- Знаешь OWASP API Security Top 10, объясняешь BOLA/BFLA/IDOR с примерами
- Знаешь OWASP Top 10 for LLM, объясняешь direct vs indirect prompt injection
- Объясняешь разницу SAST / DAST / WAF и что такое виртуальный патч
- Знаешь OWASP SAMM / BSIMM / DSOMM, можешь оценить зрелость программы
- Понимаешь Jenkins pipeline (Declarative и Scripted), Shared Libraries
// deliverables
Pet-проект v2.5: полный security pipeline.
semgrep-rules-custom заполнен. README — со скриншотами CI runs.