Финальная архитектура решения для питча полуфинала.
Автосканер уязвимостей API, который: • Находит 95% OWASP Top 10 уязвимостей ДО продакшена • Работает с ГОСТ-шлюзом без сложных зависимостей • Интегрируется в CI/CD и «ломает» сборку при рисках • Покрывает REST (OpenAPI) и события (AsyncAPI) Технологический стек: • Java 21 + Virtual Threads для масштабирования • Модульная архитектура (11 сканеров + deep-анализ) • ГОСТ-предикция без live-доступа к шлюзу • CI/CD нативные интеграции (GitHub Actions, GitLab CI)
Структура проекта: основные модули и их ответственность.
├── core/ — парсинг OpenAPI/AsyncAPI, конфиг, оркестратор SecurityScanner ├── scanners/ — 11 статических сканеров (BOLA, BFLA, Injection, Secrets, RateLimit…) ├── deep/ — DeepSchemaAnalyzer, CorrelationEngine, TLS/ГОСТ анализ, SecretInventory ├── analysis/ — SmartAnalyzer, EnhancedRules, AttackSurfaceMapper, SchemaConstraintAnalyzer ├── util/ — AccessControlHeuristics, общие эвристики/утилиты ├── fuzzing/ — SmartFuzzer (targeted probes, генерация контрактных проб) ├── integration/ — GOSTGateway, TLSAnalyzer, CI/CD адаптеры, webhook/REST коннекторы ├── reports/ — HTML/PDF/JSON отчёты, ExecutiveSummary, attack-surface диаграммы ├── web/ — Spring REST + static UI (загрузка спецификаций/выгрузка отчётов) └── models/ — ScanContext, Vulnerability, ContractViolation, ScanResult, ScanStatistics Основные компоненты: • SecurityScanner — управляет процессом сканирования • ScanContext — хранит данные для анализа • SmartAnalyzer — обрабатывает и фильтрует результаты • CorrelationEngine — находит связи между уязвимостями Пайплайн ядра: 1) Парсинг OpenAPI/AsyncAPI → нормализация/валидация (core) → ScanContext. 2) Параллельный запуск сканеров на virtual threads (scanners/*) с ограничением ресурсов. 3) Обогащение находок глубокими анализами (deep/*, TLS/ГОСТ, SecretInventory, SmartFuzzer). 4) Дедупликация, корреляция, вычисление risk score/priority. 5) Экспорт результатов в HTML/PDF/JSON и интеграции (reports/*, integration/*).
Вход: профиль домена, лимиты, правила дедупликации, CI-гейт (fail/pass).
Обработчик: core/Config.
Выход: единая политика сканирования для всех этапов.
Вход: OpenAPI/AsyncAPI (файл/URL), опции политики и домена.
Обработчик: core/OpenAPIParser, core/AsyncAPIParser.
Выход: ScanContext с валидированной моделью и доменным профилем (BANKING/HEALTHCARE/GOV).
Вход: ScanContext.
Обработчик: анализ поверхности атак и схем данных.
Выход: карта поверхности атаки (эндпоинты, роли, LIST→RESOURCE цепочки, чувствительные объекты).
Вход: карта поверхности атаки.
Обработчик: analysis/AccessControlHeuristics.
Выход: гипотезы по BOLA/BFLA/consent-only для использования сканерами.
Вход: контекст + карта поверхности атаки.
Обработчик: пакет scanners/* (BOLA/BFLA/Injection/…); запуск через virtual threads.
Выход: атомарные Vulnerability/ContractViolation с ссылками на артефакты.
Вход: набор находок из шага 3.
Обработчик: deep/* (TLS/mTLS, OAuth/JWT, ГОСТ), fuzzing/SmartFuzzer, SecretInventory, CorrelationEngine.
Выход: обогащённые находки + цепочки атак (evidence, impact, remediation).
Вход: атомарные и глубокие находки.
Обработчик: SmartAnalyzer, CorrelationEngine.
Выход: единый список инцидентов без дублей, с цепочками причин.
Вход: обогащённые находки и цепочки.
Обработчик: SmartAnalyzer, ConfidenceCalculator, reports/*, integration/CICDIntegration.
Выход: ScanResult/ScanStatistics, HTML/PDF/JSON, ExecutiveSummary, диаграмма attack‑surface, публикация в CI/CD.
Вход: ScanStatistics, политики и пороги.
Обработчик: integration/CICDIntegration.
Выход: статус пайплайна (pass/fail), комментарии к MR/PR, артефакты отчётов.
Обнаружение в разработке vs продакшене = 1:100 по стоимости исправления
ГОСТ-готовность за 5 минут вместо 2-недельного ручного аудита
Автоблокировка релизов при критичных BOLA/инъекциях