Почему нельзя выкладывать токен Discord-бота на GitHub?
Залил код бота на GitHub вместе с токеном, чтобы похвастаться проектом. Друг говорит, что это очень плохо и бота могут «угнать». А что реально может случиться? Это же просто строчка.
2 ответа
Токен бота — это, по сути, пароль от бота. Кто его получил, тот может управлять ботом как ты: рассылать спам от его имени, удалять каналы и баннить людей на серверах, где у бота есть права, использовать бота для атак.
По публичному GitHub бегают автоматические сканеры — токен находят за минуты, иногда секунды. Поэтому:
- Никогда не пиши токен прямо в коде, который коммитишь.
- Держи его в
.envи добавь.envв.gitignore. - Если уже залил — сразу Reset Token в Developer Portal, чтобы старый перестал работать.
Discord даже сам мониторит публичные репозитории и нередко сбрасывает засвеченные токены, присылая письмо. Но рассчитывать на это нельзя — сбрось сам.
Учти ещё: токен мог сохраниться в истории git, даже если ты удалил его из файла новым коммитом. Просто стереть строчку мало — единственно надёжно сбросить токен. История публичного репозитория видна всем.