Утечка API-ключей и секретов
Если секрет TrucklineMP — публичный API-ключ (tlmp_api_... или устаревший ключ tl_...), секрет клиента OAuth (tlmp_secret_...), токен OAuth (tlmp_oat_... / tlmp_ort_...) или секрет подписи вебхука — был закоммичен в публичный репозиторий, вставлен в публичный канал или иным образом скомпрометирован, немедленно считайте его утекшим и выполните следующие шаги.
TrucklineMP участвует в программе сканирования секретов GitHub. Если GitHub обнаружит шаблон секрета TrucklineMP в публичном репозитории, эта страница является руководством по устранению проблемы, на которое ссылается данное предупреждение.
1. Немедленно смените секрет
Заголовок раздела «1. Немедленно смените секрет»Скомпрометированные секреты следует считать утекшими, а не просто “находящимися под угрозой”. Ротация удаляет утекшее значение из службы, независимо от того, было ли оно уже использовано злоумышленниками.
API-ключи (tlmp_api_..., или устаревшие tl_...)
Заголовок раздела «API-ключи (tlmp_api_..., или устаревшие tl_...)»- Войдите в систему и откройте Консоль разработчика.
- Выберите проект, которому принадлежит ключ.
- Удалите скомпрометированный ключ и сгенерируйте новый.
- Обновите ключ везде, где он используется (серверы, секреты CI, боты). Старый ключ перестает работать в тот момент, когда он удален.
Секреты клиента OAuth
Заголовок раздела «Секреты клиента OAuth»- Откройте Консоль разработчика → OAuth Apps → ваше приложение.
- Перегенерируйте секрет клиента в настройках приложения.
- Обновите секрет в конфигурации вашего приложения на стороне сервера. Существующие пользовательские сессии не будут затронуты, но любой код, всё ещё использующий старый секрет, не сможет получить новые токены.
Секреты подписи вебхуков
Заголовок раздела «Секреты подписи вебхуков»- Откройте Консоль разработчика → Webhooks → затронутая подписка.
- Перегенерируйте секрет подписи.
- Обновите обработчик вебхуков, чтобы он проверял подписи с помощью нового секрета.
2. Удалите секрет из истории исходного кода
Заголовок раздела «2. Удалите секрет из истории исходного кода»Удаления файла или строки в новом коммите недостаточно — секрет остаётся доступным для чтения в истории git. Перезапишите историю, чтобы полностью его удалить:
- GitHub: удаление конфиденциальных данных из репозитория
- Инструменты: git filter-repo или BFG Repo-Cleaner
Если репозиторий публичный и был клонирован или форкнут, предполагайте, что старое значение навсегда скомпрометировано даже после переписывания истории — именно ротация (шаг 1) защищает ваш аккаунт, а не очистка истории.
3. Проверьте на наличие злоупотреблений
Заголовок раздела «3. Проверьте на наличие злоупотреблений»- API-ключи: просмотрите объем запросов и их источники для проекта в аналитике/журнале аудита в Консоли разработчика.
- OAuth-приложения: просмотрите недавние авторизации на наличие пользователей, которых вы не узнаёте.
- Вебхуки: просмотрите недавние доставки на предмет неожиданной активности на эндпоинте.
Если вы заметили активность, которую не инициировали, обратитесь в службу поддержки (ниже), чтобы команда могла провести дальнейшее расследование.
4. Предотвращение будущих утечек
Заголовок раздела «4. Предотвращение будущих утечек»- Никогда не коммитьте секреты в систему контроля версий. Используйте переменные окружения или менеджер секретов.
- Добавьте хук pre-commit или проверку CI (например, gitleaks, trufflehog), чтобы перехватывать секреты до того, как они будут отправлены на сервер.
- Ограничивайте область действия OAuth-приложений и API-ключей только тем, что действительно необходимо для интеграции.
Сообщение об утечке или подозрительной активности
Заголовок раздела «Сообщение об утечке или подозрительной активности»Если вы считаете, что секрет TrucklineMP был раскрыт или использован не по назначению, и вам нужна помощь помимо самостоятельной ротации, свяжитесь с нами:
- Discord: https://discord.gg/trucklinemp
- Email: [email protected]