Protéger le token de son bot Discord : ce qu'il ne faut jamais faire

Par py0ui · · 5 min de lecture

Le token d'un bot est l'équivalent de son mot de passe. Celui qui le possède peut se connecter à la place du bot, envoyer des messages, bannir des membres ou supprimer des salons, avec toutes les permissions que vous lui avez données. C'est de loin l'erreur de sécurité la plus courante chez les débutants.

Pourquoi une fuite est grave

Si le bot a la permission Administrateur, une personne malveillante qui obtient son token peut détruire votre serveur en quelques minutes. Même avec moins de permissions, elle peut spammer vos membres ou envoyer des liens frauduleux en se faisant passer pour un compte de confiance.

Les erreurs fréquentes

  • Coller le token dans une capture d'écran partagée pour demander de l'aide.
  • Publier le code du bot sur GitHub avec le token écrit dans un fichier.
  • Envoyer le dossier complet du bot, fichier .env inclus, à un ami ou dans un salon.
  • Utiliser le même token sur plusieurs machines sans contrôle.
  • Le conserver dans un message privé ou un document partagé non protégé.

Bien stocker son token

Le principe est de séparer le code du secret. Dans un bot exporté par Dino Bot Industry, le token est lu depuis un fichier .env, jamais écrit dans le code. Ce fichier doit rester sur votre machine ou votre serveur. Si vous utilisez git, ajoutez .env à votre fichier .gitignore avant votre premier commit, pour qu'il ne soit jamais envoyé par erreur.

Sur un serveur, limitez aussi les droits de lecture du fichier à l'utilisateur qui fait tourner le bot, et évitez de lancer le bot avec un compte administrateur du système.

Réduire les dégâts possibles

Donnez au bot uniquement les permissions dont il a besoin plutôt que Administrateur. Placez son rôle sous celui de votre équipe de modération. Et activez la double authentification sur votre compte Discord, car c'est lui qui donne accès au portail développeur et donc au token.

Que faire en cas de fuite

Agissez immédiatement, sans chercher d'abord à comprendre comment c'est arrivé. Rendez-vous sur le portail développeur, ouvrez l'onglet Bot et cliquez sur « Reset Token » : l'ancien token cesse de fonctionner à l'instant. Copiez le nouveau, mettez à jour votre fichier .env et relancez le bot. Discord et GitHub détectent souvent les tokens publiés publiquement et peuvent les invalider automatiquement, mais ne comptez pas là-dessus.

Vérifiez ensuite le journal d'audit de votre serveur pour repérer des actions suspectes et annulez-les. Si le secret client de votre application a aussi été exposé, réinitialisez-le de la même façon dans l'onglet OAuth2.

La règle d'or

Personne n'a jamais besoin de votre token pour vous aider, pas même un membre de notre équipe. Si quelqu'un vous le demande, c'est une tentative d'arnaque.