Влияние
Утечка секретов, таких как ключи, токены или учетные данные API, может привести к несанкционированному доступу к конфиденциальным данным, выдаче себя за службу и значительным финансовым потерям из-за злоупотребления ресурсами [S1]. Как только секрет будет помещен в общедоступный репозиторий или включен во внешнее приложение, его следует считать скомпрометированным [S1].
Основная причина
Основная причина — включение конфиденциальных учетных данных непосредственно в исходный код или файлы конфигурации, которые впоследствии передаются в систему контроля версий или передаются клиенту [S1]. Разработчики часто жестко закодируют ключи для удобства во время разработки или случайно включают файлы .env в свои коммиты [S1].
Конкретные исправления
- Ротация скомпрометированных секретов. В случае утечки секрета его необходимо немедленно отозвать и заменить. Простого удаления секрета из текущей версии кода недостаточно, поскольку он остается в истории контроля версий [S1][S2].
- Используйте переменные среды. Храните секреты в переменных среды, а не жестко запрограммируйте их. Убедитесь, что файлы
.envдобавлены в.gitignore, чтобы предотвратить случайную фиксацию [S1]. - Внедрите управление секретами. Используйте специальные инструменты управления секретами или службы хранилища для внедрения учетных данных в среду приложения во время выполнения [S1].
- Очистить историю репозитория. Если секрет был передан в Git, используйте такие инструменты, как
git-filter-repoили BFG Repo-Cleaner, чтобы навсегда удалить конфиденциальные данные из всех веток и тегов в истории репозитория [S2].
Как FixVibe проверяет это
FixVibe теперь включает это в сканирование в реальном времени. Пассивный secrets.js-bundle-sweep загружает пакеты JavaScript того же происхождения и сопоставляет известные ключи, токены и шаблоны учетных данных API с помощью энтропийных и заполнителей. Сопутствующие интерактивные проверки проверяют хранилище браузера, исходные карты, клиентские пакеты аутентификации и BaaS, а также исходные шаблоны репозитория GitHub. Переписывание истории Git остается шагом исправления; Прямая трансляция FixVibe посвящена секретам, присутствующим в отправленных ресурсах, хранилище браузера и текущем содержимом репозитория.
