Rostelecom Security Labs

SecureCode Review — Secrets in application.yml

Конфигурация платежей хранит AES-ключ и API-токен прямо в application.yml. Найди уязвимость и предложи перенос в Secret Manager/KMS.

📚 Теория: секреты в конфиге и их защита (раскрыть)

Что пошло не так?

Платёжный AES-ключ и токен PSP лежат в YAML. Они попадают в Git, CI, снапшоты, архивы, тестовые стенды.

⚠️ Любой, кто видит конфиг, может расшифровать трафик и имитировать платежи.

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

Храни секреты в Secret Manager / Vault, загружай их через KMS или sidecar. Если нужно локально — PBKDF2 + AES-GCM и поддержка ротации.

🔐 Автотесты должны проваливаться, если в конфиге появились строки `key=`.

1. Git leak

Ключ попадает в репозиторий и историю.

2. CI logs

Сборочные логи выводят значения переменных окружения.

3. Compromise

Злоумышленник подменяет платежи или расшифровывает архивы.

Как надо: секреты в секрет-сторе, шифрование AES-GCM с ключом из KMS, регламенты ротации и статический анализ на утечки.

Контекст

DevOps оставили ключ в конфиге, чтобы «быстрее поднять стенд». Через пару недель secrets попадают в Wiki и backup-архивы. Твоя задача — найти строку, объяснить риск и показать путь к Secret Manager/Key Vault.

Сниппет

Загружаем сниппет…

Code Review

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

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