forumСоздать тему

Если в коммите на GitHub утёк пароль от базы, надо срочно скрыть

YYağmur C***3 месяца назад·70 сообщений·18,6 тыс. просмотров#github#секрет#инцидент
YYağmur C***УчастникУчастник сообщества
Дата регистрации
май 2023 г.
Сообщение
274
#1

Разработчик закоммитил на GitHub, в конфиге пароль от базы. В публичном репо видно. Чё делать срочно?

Поменял пароль в базе, но в истории GitHub всё равно видно. Удалять историю коммитов?

Можно ли детектить секреты автоматическими инструментами? Чтобы ловить заранее?

ZZehra K***УчастникУчастник сообщества
Дата регистрации
март 2025 г.
Сообщение
86
Самый полезный#2

Реагирование на утечку секретов (Secret Leak): Быстрое реагирование критично. Шаги: 1) НЕМЕДЛЕННО (1-5 мин): a) Сменить пароль БД, b) Отменить доступ к репо на GitHub (проверить collaborators), c) Включить GitHub secret scanning alert, если есть (Settings → Security → Secret scanning), 2) КРАТКОСРОЧНО (5-30 мин): a) Очистить историю Git (BFG Repo-Cleaner: bfg --delete-files 'config.yml' — переписать историю), b) Force push (git push --force-with-lease) — ВНИМАНИЕ: нужна координация команды, c) Проверить другие репо (grep -r password *.git), 3) АНАЛИЗ (30-60 мин): a) Проверка git log (кто пушил, когда), b) Логи доступа (БД): были ли попытки подозрительного входа?, c) Проверка AWS CloudTrail, GCP Cloud Audit Logs, 4) УВЕДОМЛЕНИЕ: a) Инфо для команды (предупреждение о rewrite git, нужен rebase), b) Команда БД (ротация паролей). Инструменты предотвращения: 1) .gitignore (исключить конфиги), 2) Переменные окружения (.env, в git-ignored), 3) GitHub secret scanning (встроенный + сторонние: TruffleHog, GitGuardian), 4) Хуки коммитов (pre-commit framework: детект секретов перед коммитом), 5) Автоматическое сканирование (CI/CD: проверка коммитов на паттерны). Снижение рисков: Логи доступа к БД (подозрительные IP, паттерны запросов), API rate limiting (защита от brute force), MFA для БД (если поддерживается).

EEfe Y***Участник
Должность
Начальник стройплощадки
Отрасль
кожа
Тип организации
бутиковое агентство
Дата регистрации
июль 2025 г.
Сообщение
367
#3

сразу меняй пароль в базе. чтобы удалить историю на github, используй bfg-repo-cleaner или git-filter-branch. скажи команде, что нужен git rebase. включи secret scanning на github bfg сделает это автоматически в архиве.....

UUğur E***УчастникУчастник сообщества
Дата регистрации
янв. 2023 г.
Сообщение
17
#4

Очистка секретных данных: 1) BFG Repo-Cleaner (bfg --replace-text passwords.txt --no-blob-protection repo.git), 2) git-filter-branch (старый, медленный, но точный), 3) GitHub secret scanning + авто-отзыв (если токен, то отзывается автоматически), 4) Аудит: git log -S 'password' --all (поиск по коммитам), 5) Уведомление: проверь, получали ли злоумышленники доступ к базе (логи запросов, неудачные попытки входа, IP-адреса). Внедрение профилактики: pre-commit hook (pre-commit framework + плагины: detect-secrets, truffleHog), сканирование в CI/CD (GitHub Actions: Trivy, GitGuardian), шаблон .gitignore (.env, *.key, config.local.yml). Коммуникация с командой: переписывание истории git требует от всех пользователей force-pull + rebase (нагрузка на координацию).

BBurcu A***Участник
Должность
Операционный директор
Отрасль
Косметика
Тип организации
региональный дилер
Дата регистрации
янв. 2022 г.
Сообщение
5

Doki · Мобильное приложение · 2026

#5

Сразу меняй пароль, для удаления истории используй BFG. Предупреди команду о необходимости git rebase. Включи Secret scanning на GitHub. Настрой pre-commit hook (truffleHog, detect-secrets), чтобы ловить такие вещи в будущем. Добавь сканирование в CI/CD...

HHakan U***УчастникУчастник сообщества
Дата регистрации
апр. 2024 г.
Сообщение
43
#6

Автоматизация обнаружения секретов: 1) Локальный pre-commit (pre-commit framework + плагин detect-secrets), 2) CI/CD pipeline (GitHub Actions, GitLab CI: TruffleHog, GitGuardian), 3) Сканирование репозитория (нативный GitHub secret scanning, GitLab security scanning) 4) Аудит истории Git (git-secrets, git-dumper). Автоматизация реагирования: GitHub secret scanning → автоматическая отмена (для токенов GitHub), уведомление команды, создание записи об инциденте. Лучшие практики: Шаблон .gitignore (исключить *.key, *.pem, .env, config/*local*), стратегия переменных окружения (все секреты в env vars CI/CD, никогда в коде), сервис управления секретами (HashiCorp Vault AWS Secrets Manager).

SSena G***УчастникУчастник сообщества
Дата регистрации
февр. 2023 г.
Сообщение
356
#7

Я маленький бизнес, расскажу со своей стороны. Главное не цифра, а то на основе чего она получена.

Проверено опытом.

FFatih G***Участник
Должность
Планирование производства
Отрасль
ИТ-услуги
Тип организации
среднее предприятие
Дата регистрации
нояб. 2024 г.
Сообщение
31
#8

Спасибо, очень помогло. Забытые тестовые среды становятся входом в систему чаще, чем продакшн.

На этом всё, извините, если затянул.

ÖÖmer D***Участник
Должность
Полевой торговый представитель
Отрасль
Автомобильная промышленность (субподряд)
Тип организации
среднее предприятие
Дата регистрации
авг. 2024 г.
Сообщение
341
#9

Эта тема в архиве.

İİlker K***Участник
Должность
Специалист по информационной безопасности
Отрасль
стекло
Тип организации
компания в составе холдинга
Дата регистрации
июль 2025 г.
Сообщение
185
#10

Давайте разделим понятия их путают. Если ругать за ложные тревоги, никто больше не будет присылать уведомления.

Исправьте если я ошибаюсь.

NNecati T***Участник
Должность
Технический директор
Отрасль
Медицинские услуги
Тип организации
компания с двумя филиалами
Дата регистрации
нояб. 2025 г.
Сообщение
82

Doki · Фирменный стиль · 2026

#11

Расскажу, что было у меня, вдруг пригодится. Ошибка, сделанная на стороне забыл пароль в исходниках, обычно исправима, но дорого.

Начните с небольшого эксперимента, не привязывайте всё сразу. На этом всё, извините, если затянул.

ÜÜlkü N***Участник
Должность
Координатор курьерской службы
Отрасль
Энергетика
Тип организации
Компания на 300 человек
Дата регистрации
март 2024 г.
Сообщение
64
#12

Этот совет подойдет не всем, на мой взгляд. Большинство инцидентов начинается не с уязвимости, а с украденного пароля.

MMetin P***ЭкспертУчастник сообщества
Дата регистрации
июнь 2023 г.
Сообщение
186
#13

редко встртишь текст с такой ясностью изложения.

OOrhan T***УчастникУчастник сообщества
Дата регистрации
март 2024 г.
Сообщение
242
#14

Верно.

JJale P***УчастникУчастник сообщества
Дата регистрации
март 2024 г.
Сообщение
207
#15

Здесь нужно провести различие. Если путь уведомления длинный, уведомление не приходит; а не пришедшее уведомление — это поздно обнаруженный инцидент.

Я бы пошел этим путем.

AAleyna K***Новый участник
Должность
Специалист по контролю качества
Отрасль
Животноводство
Тип организации
Компания на 120 человек
Дата регистрации
июнь 2026 г.
Сообщение
1
#16

Я маленький бизнес, расскажу со своей стороны. Изменение платежных данных никогда не подтверждается через тот же канал.

MMerve T***ЭкспертУчастник сообщества
Дата регистрации
февр. 2024 г.
Сообщение
13
#17

Расскажу, что было у меня, вдруг пригодится. Любой пункт, не зафиксированный письменно, в будущем обе стороны будут помнить по-разному.

Люди защищают не процесс, а привычку. Сопротивление идет оттуда. Это мое мнение, не утверждаю, что оно единственно верное.

SSultan Ö***Эксперт
Должность
Оператор ввода данных
Отрасль
Спорт и фитнес
Тип организации
стартап на ранней стадии
Дата регистрации
февр. 2023 г.
Сообщение
10
#18

Согласен.

BBeyza K***УчастникУчастник сообщества
Дата регистрации
март 2024 г.
Сообщение
337
#19

Спасибо, очень помогло.

CCem E***Участник
Должность
Руководитель проектов
Отрасль
Право
Тип организации
компания из 20 человек
Дата регистрации
май 2023 г.
Сообщение
213
#20

Если смотреть на процесс в целом, картина меняется. Безопасность не бывает абсолютной; цель — сделать атаку нецелесообразной.

Конечно, если ваша ситуация отличается, всё меняется.

Написать ответ