Удалённый секрет остаётся в истории Git

Удаление файла и новый коммит не удаляют предыдущие данные из Git. Секрет может сохраниться в старых коммитах, ветках, тегах, fork или reflog.

Проверить историю файла можно командой:

`git log —all —full-history — .env`

Для поиска недостижимых объектов используется:

`git fsck —full —no-reflogs —unreachable`

Поиск ключей и токенов автоматизируют TruffleHog и Gitleaks. Gitleaks можно встроить в CI для проверки изменений до их дальнейшего распространения.

Если AWS key или другой токен уже попал в удалённый репозиторий, его следует считать скомпрометированным и отозвать. Переписывание истории удаляет данные из отдельных объектов, но не отменяет факт раскрытия.

Защита включает сканирование истории и новых изменений, хранение секретов вне Git и автоматическую ротацию ключей.

Подпишись, тут про технолоджии.

P.S. Меня зовут Бедняков Артем, я разрабатываю backend-решения на Python любой сложности:

  • REST API и микросервисы;
  • агентные системы и AI-интеграции;
  • Telegram-боты и Mini Apps;
  • парсеры и автоматизация;
  • интеграции с внешними сервисами и API;
  • тестирование и CI/CD;
  • DevOps и развёртывание;
  • аудит и проверки безопасности.

Если вам нужна разработка или есть вопросы по реализации проекта — пишите мне в Telegram
Всегда рад обсудить задачу и помочь найти решение.

Также подписывайтесь на мой Telegram-канал IT POLICE, где я пишу о Python, backend-разработке, технологиях и кибербезопасности.