Che cos'è davvero il token
Quando viene creato un bot, Telegram restituisce una stringa composta da un numero, due punti e una lunga sequenza casuale. Ogni richiesta inviata dal tuo software a Telegram contiene quella stringa e Telegram la usa per stabilire se la richiesta proviene davvero dal tuo bot.
Non esistono un secondo fattore né una password separata. Il token costituisce l'intero sistema di autenticazione, perciò il modo in cui lo gestisci conta più di qualsiasi altra impostazione del bot.
Il numero prima dei due punti è l'ID del bot e non è segreto. La parte che segue, invece, lo è.
Cosa può fare chi possiede il tuo token
Tutto ciò che può fare il tuo bot, ed è proprio questo che molti sottovalutano. Se il bot è amministratore del tuo canale, uno sconosciuto in possesso del token può pubblicare a tuo nome, eliminare messaggi e rimuovere membri. Può anche leggere tutto ciò che riceve il bot, il che, in un gruppo, significa i messaggi che gli è stato consentito vedere.
Dall'esterno, nulla di tutto questo sembra un attacco. Sembra soltanto che il bot si comporti in modo strano, ed è per questo che spesso ci si accorge tardi della divulgazione di un token, dopo il terzo post insolito anziché il primo.
Il danno, inoltre, non si limita a ciò che accade in seguito. Un bot che ha pubblicato un link truffaldino rivolto ai tuoi membri ha bruciato la fiducia costruita in un anno, e nessuna spiegazione successiva riuscirà a recuperarla del tutto.
Dove vengono divulgati i token
Quasi mai tramite Telegram. Vengono divulgati negli screenshot pubblicati per chiedere aiuto, nel codice caricato in un repository pubblico, in un messaggio inviato a uno sviluppatore che poi abbandona il progetto e in una chat di assistenza con qualcuno che li ha chiesti con gentilezza.
Lo schema è sempre lo stesso: il token è stato considerato un'impostazione anziché un segreto. Si trova in un file di configurazione accanto alla combinazione di colori, quindi viene copiato con la stessa attenzione riservata a quest'ultima.
I repository pubblici sono il caso più comune e anche il più facile da evitare. Tutto ciò che somiglia a un token dovrebbe risiedere in una variabile d'ambiente e mai in un file incluso nei commit.
Cosa fare in caso di divulgazione
Revocalo. In BotFather, la generazione di un nuovo token per il bot invalida immediatamente quello precedente e tutto ciò che continua a usare la vecchia stringa smette di funzionare. Fallo subito e scopri soltanto dopo come è stato divulgato, in quest'ordine.
Controlla poi cosa è successo mentre era esposto: i post recenti nel tuo canale, le recenti rimozioni dall'elenco dei membri e tutto ciò che il bot ha inviato senza che lo avessi scritto tu. La revoca chiude la porta, ma non annulla ciò che l'ha attraversata.
Come dovrebbe conservarlo una piattaforma
Se affidi il tuo token a un servizio, dovrebbe essere crittografato a riposo anziché restare in chiaro in un database e non dovrebbe mai comparire in una riga di log. Su BotLaunch, i token dei bot e gli altri dati sensibili sono crittografati a riposo con AES-256, e puoi revocare e sostituire un token in qualsiasi momento da BotFather senza perdere la configurazione.
È una domanda del tutto legittima da porre a qualsiasi piattaforma prima di incollare qualunque dato, e una piattaforma che non sa rispondere chiaramente ti ha già detto qualcosa.
Quando non ne serve affatto uno
La maggior parte delle persone non tocca mai un token. Su BotLaunch aggiungi il bot condiviso al tuo canale come amministratore e attivi i moduli dal web, quindi non devi creare alcun bot né conservare alcun token. Collegare un bot personalizzato con il tuo brand, situazione in cui serve un token, è un'opzione dei piani a pagamento per chi desidera che il bot abbia il proprio nome.