Аудит безопасности .env файлов: поиск утечек секретов и небезопасных конфигураций
Аудитор безопасности переменных .env — инструмент статического анализа конфигураций, сканирующий файлы `.env` на наличие опасных уязвимостей, утекших боевых токенов, пустых обязательных значений и небезопасных дефолтов перед коммитом в репозиторий.
Сканер сверяет конфигурацию с сигнатурами известных API-ключей (Stripe, AWS, GitHub, OpenAI, Telegram Bot), предупреждает об активном режиме отладки (`DEBUG=true` на проде) и выявляет тривиальные пароли (`admin`, `123456`). Сканирование выполняется на 100% локально в памяти браузера.
Архитектура и математическая формула
Сканирование по сигнатурам Regex: Энтропия Шеннона + Паттерны утечек секретов -> Индекс риска
Вычисляет энтропию строк для поиска случайных сгенерированных токенов и сверяет ключи с базой небезопасных дефолтов CWE-798.
Лучшие практики и ключевые рекомендации
- Никогда не оставляйте включенным режим `DEBUG=true` на боевых серверах: Включенный дебаг в Django, Laravel или Express при ошибках выводит на экран пользователя полные дампы трассировки стека с переменными окружения и паролями БД.
- Используйте ротацию секретов при малейшем подозрении на утечку: Если приватный ключ даже на одну минуту попал в публичный репозиторий GitHub, немедленно инвалидируйте его в панели провайдера: боты сканируют коммиты за миллисекунды.
- Настройте прекоммит-хуки (Pre-commit Hooks) в Git: Интегрируйте локальные сканеры в пайплайн разработки, чтобы система автоматически блокировала коммит, если в нем обнаружены секретные токены.
- Разделяйте права доступа к переменным для разных окружений: Конфигурации для локальной разработки (Local), тестового стейджинга (Staging) и боевого продакшена (Prod) должны иметь полностью уникальные пароли и ключи.