Ce qu'est réellement le token
Lorsqu'un bot est créé, Telegram renvoie une chaîne composée d'un nombre, de deux-points et d'une longue suite de caractères aléatoires. Chaque requête envoyée à Telegram par votre logiciel contient cette chaîne, que Telegram utilise pour déterminer si la requête provient réellement de votre bot.
Il n'y a ni second facteur ni mot de passe distinct. Le token constitue à lui seul l'authentification, c'est pourquoi la manière dont vous le protégez compte davantage que tout autre paramètre du bot.
Le nombre placé avant les deux-points est l'identifiant propre au bot et n'est pas secret. La suite qui vient après l'est.
Ce qu'une personne possédant votre token peut faire
Tout ce que votre bot peut faire, et c'est précisément ce que l'on a tendance à sous-estimer. Si le bot est administrateur de votre canal, un inconnu en possession du token peut publier en votre nom, supprimer des messages et exclure des membres. Il peut également lire tout ce que reçoit le bot, ce qui, dans un groupe, correspond aux messages auxquels celui-ci a été autorisé à accéder.
Vu de l'extérieur, rien de tout cela ne ressemble à une attaque. On a simplement l'impression que votre bot se comporte de façon étrange, raison pour laquelle les fuites de tokens sont souvent détectées tardivement, au troisième message suspect plutôt qu'au premier.
Les dégâts ne se limitent pas non plus à ce qui se produit ensuite. Un bot qui publie un lien frauduleux auprès de vos membres dilapide la confiance que vous avez mis un an à bâtir, et aucune explication ultérieure ne permet de la retrouver entièrement.
Comment les tokens sont divulgués
Presque jamais à cause de Telegram. Ils apparaissent dans des captures d'écran publiées pour demander de l'aide, dans du code envoyé vers un dépôt public, dans un message adressé à un développeur qui quitte ensuite le projet, ou encore dans une conversation avec un membre du support qui les a aimablement demandés.
Le scénario est toujours le même : le token a été considéré comme un simple paramètre plutôt que comme un secret. Il se trouve dans un fichier de configuration à côté de la palette de couleurs, et circule donc avec le même niveau de précaution que celle-ci.
Les dépôts publics constituent la source de fuite la plus fréquente et la plus facile à éviter. Toute chaîne ressemblant à un token doit être stockée dans une variable d'environnement, jamais dans un fichier que vous validez dans le dépôt.
Que faire en cas de fuite
Révoquez-le. Dans BotFather, la génération d'un nouveau token pour le bot invalide immédiatement l'ancien, et tout service utilisant encore l'ancienne chaîne cesse de fonctionner. Commencez par là, puis cherchez comment la fuite s'est produite, dans cet ordre.
Vérifiez ensuite ce qui s'est passé pendant qu'il était exposé : les publications récentes de votre canal, les exclusions récentes de la liste des membres et tout contenu envoyé par le bot que vous n'avez pas rédigé. La révocation referme la porte, mais n'annule pas ce qui l'a déjà franchie.
Comment une plateforme doit le conserver
Si vous confiez votre token à un service, celui-ci doit être chiffré au repos plutôt que stocké en clair dans une base de données, et ne doit jamais apparaître dans un journal. Sur BotLaunch, les tokens de bots et les autres données sensibles sont chiffrés au repos avec AES-256. Vous pouvez à tout moment révoquer et remplacer un token depuis BotFather sans perdre votre configuration.
C'est une question parfaitement légitime à poser à toute plateforme avant d'y coller quoi que ce soit. Une plateforme incapable d'y répondre clairement vous donne déjà une information importante.
Quand vous n'en avez pas du tout besoin
La plupart des utilisateurs ne manipulent jamais de token. Sur BotLaunch, il vous suffit d'ajouter le bot partagé à votre canal en tant qu'administrateur et d'activer les modules depuis le web. Vous n'avez donc aucun bot à créer ni aucun token à conserver. La connexion de votre propre bot personnalisé, qui nécessite un token, est une option des forfaits payants destinée aux personnes qui souhaitent lui donner leur propre nom.