Если бот начал вести себя странно, медлить нельзя. Скомпрометированный Telegram-бот — это риск утечки данных, спама от имени проекта, потери аудитории и доступа к инфраструктуре.
Как понять, что бот мог быть взломан
Обратите внимание на такие признаки:
- бот отправляет сообщения, которые вы не планировали
- изменилась логика команд, кнопок или сценариев
- появились неизвестные webhook-адреса
- в логах есть подозрительные запросы, всплески ошибок или резкий рост активности
- бот подписывает пользователей на чужие каналы или рассылает ссылки
- кто-то получил доступ к токену, серверу, Git-репозиторию или панели хостинга
- в коде появились неизвестные правки 🤖
Даже один пункт — уже повод для проверки.
Как проверить, скомпрометирован ли бот
- Проверьте токен бота. Если токен где-то “светился” — в переписке, скриншотах, публичном репозитории, логах — считайте его потенциально украденным.
- Проверьте webhook. Через API или свою инфраструктуру убедитесь, что запросы идут только на ваш URL. Неизвестный webhook — красный флаг 🚩
- Изучите логи. Смотрите IP-адреса, время активности, попытки входа, неожиданные вызовы команд, изменения в админ-действиях.
- Сверьте код и деплой. Сравните текущую версию с последним доверенным коммитом. Ищите чужие вставки, новые зависимости, изменённые ENV-переменные.
- Проверьте доступы. Кто имеет доступ к серверу, CI/CD, GitHub, панели хостинга, базе данных и секретам. Компрометация часто начинается не с самого бота, а с окружения.
- Проверьте интеграции. CRM, платёжки, формы, веб-приложения — через них тоже могут увести данные или внедрить вредоносную логику.
Что делать, если подозрения подтвердились
- Немедленно перевыпустите токен через BotFather. Старый токен должен стать недействительным.
- Отключите webhook и временно остановите бота, если нужно локализовать ущерб.
- Смените все связанные доступы: сервер, хостинг, Git, база, API-ключи, панели администрирования. 🔑
- Проведите аудит кода и инфраструктуры. Удалите чужие изменения, вредоносные скрипты, подозрительные cron-задачи и неизвестные ключи доступа.
- Проверьте, что могло утечь. Данные пользователей, служебные логи, токены, файлы, админские контакты.
- Уведомите команду и, при необходимости, пользователей. Лучше коротко и честно, чем скрывать проблему.
- Настройте защиту на будущее: 2FA везде, приватные репозитории, секреты вне кода, ограничение доступов, мониторинг логов, алерты. 🛡️
Главное правило: если есть сомнения в безопасности токена, не “наблюдайте”, а сразу меняйте его. В Telegram-ботах это самый быстрый способ остановить несанкционированный доступ.
Сохраните пост как чек-лист, а заодно посмотрите подборку Телеграм-каналов 📌