200 OK
WARN Login failed for user bob@example.com with password "Summer2024!"
При неуспешном логине сервис пишет в логи и логин, и пароль. Эти логи уходят в централизованное хранилище, где их видят десятки людей. Фикс — никогда не логировать пароли, токены, ключи.
После неуспешного логина скачиваем последние строки лога.
Если там видно поле password или строку, похожую на секрет — билд стопаем.
#!/bin/bash # logleak-check.sh curl -s -X POST https://staging.example.internal/login \ -d "username=test@example.com&password=SuperSecret123" > /dev/null LOGS=$(curl -s "https://staging.example.internal/internal/logs?lines=20") if echo "$LOGS" | grep -Ei "password|Secret123|Bearer|API_KEY"; then echo "[BLOCK] Логи содержат пароль / токен" exit 1 fi echo "[OK] Чувствительные данные не логируются" exit 0
Это защищает от утечки паролей через собственную observability-инфраструктуру.
Стандарт:секреты, токены, пароли, номера карт — не попадают в логи вообще, никогда, ни при каких обстоятельствах.