Rostelecom Security Labs

SecureCode Review — Stacktrace в проде

Настройки ошибок заставляют Spring Boot возвращать полный stacktrace и сообщения исключений в продакшене. Найди строку и предложи безопасную обработку ошибок.

📚 Теория: Стектрейсы и информация (раскрыть)

Почему это риск?

Stacktrace раскрывает пакеты, классы, SQL, секреты в сообщениях. Это помогает злоумышленнику подготовить точечную атаку.

⚠️ Типичные утечки: JDBC URL, токены, пароли.

Как правильно?

Разделяй профили dev/prod, включай `never`, используй ProblemDetail/JSON-ответы без деталей, логируй в централизованном месте, маскируй данные.

🔐 Фронт получает короткий код ошибки, подробности — только в логах.

1. Ошибка

Происходит исключение, Spring отправляет stacktrace пользователю.

2. Разведка

Атакующий узнаёт структуру пакетов, SQL и секреты.

3. Эксплуатация

Подбирает уязвимости, SSRF, RCE, SQLi на основе сведений.

Как надо: выключи stacktrace в проде, используй кастомный error handler, ProblemDetail, логируй ошибки в SIEM, тестируй, что ответы не содержат стеков.

Контекст

Команда поддержки попросила включить стектрейсы «для диагностики» и забыла выключить. Продакшен выдаёт стек любому пользователю при 500.

Конфигурация

Загружаем конфиг…

Code Review

Проверка флага

После ревью зафиксируй флаг, чтобы дашборд засчитал лабораторию.