Retour au Blog
Glossaire5 septembre 20263 min read

Qu'est-ce qu'un token de bot Telegram ?

Il ressemble à une chaîne de caractères aléatoires. Pourtant, c'est la seule protection entre votre canal et une personne malveillante.

Qu'est-ce qu'un token de bot Telegram ?

Un token de bot Telegram est l'identifiant d'authentification qui prouve qu'un programme est autorisé à agir au nom de votre bot. Telegram vous le fournit lors de la création du bot. Toute personne qui le possède peut envoyer des messages, lire ce que le bot est autorisé à consulter et exclure des membres si le bot est administrateur. Il s'agit d'un mot de passe, pas d'un simple identifiant, et vous ne devez jamais le partager ni le publier en ligne.

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.

Questions fréquentes

Un token de bot est-il identique à un nom d'utilisateur ?

Non. Le nom d'utilisateur est public et sert à identifier le bot. Le token est secret et permet de l'authentifier.

Puis-je changer un token qui a été divulgué ?

Oui. La génération d'un nouveau token dans BotFather révoque immédiatement l'ancien.

Puis-je confier mon token à une plateforme en toute sécurité ?

Uniquement si elle le chiffre au repos et vous permet de le révoquer. Sur BotLaunch, les tokens sont chiffrés avec AES-256.

Dois-je créer un bot pour utiliser BotLaunch ?

Non. Il vous suffit d'ajouter le bot partagé à votre canal en tant qu'administrateur. La connexion de votre propre bot personnalisé est une option des forfaits payants.

Partager cet article