BitBear StudioINDEPENDENT SOFTWARE
7 PRODUCTSEN博客
返回博客

Telegram Serverless Token 轮换:先分清 Bot API 与 CLI 凭据

分清 Bot API Token 与 Serverless CLI Token 的权限边界,并用可回退、可验证的顺序处理泄露、更新连接和旧凭据失效。

Telegram 机器人出现凭据泄露时,“重新生成一个 Token”只是动作,不是完整方案。先要回答:泄露的是让程序调用 Bot API 的 Token,还是让工具连接 Telegram Serverless 的 CLI Token?两者代表不同的信任边界,替换其中一个不会自动让另一个失效。

更稳妥的轮换流程应同时解决四件事:识别凭据、控制影响、验证新凭据、确认旧凭据真的不能再用。代码回滚、重新部署或删除聊天记录,都不能代替凭据撤销。

先分清两种 Token

Telegram 官方入门教程说明,Bot API Token 用于在 Bot API 上认证机器人,而不是认证你的个人账号;它应像密码一样保存,并可通过 Telegram 官方 BotFather 撤销。

BotFatherV2 的连接文档描述的是另一种凭据:Telegram Serverless CLI Token。它从官方 BotFather 的 Serverless 设置中生成,以 app 开头,与普通 Bot API Token 不同。

凭据主要用途泄露后不能假定什么
Bot API Token让程序以机器人身份调用 Bot API只更新 Serverless 连接不会让旧 Bot API Token 失效
Serverless CLI Token让发布工具连接对应的 Serverless 应用只重发机器人代码不会撤销旧 CLI 凭据

不要根据 Token 被粘贴的位置猜类型。回到官方 BotFather 中对应机器人的设置核对来源、用途和所有者。如果截图或日志只留下部分字符,无法确认是哪一种,就把两种凭据当作两个独立的待核查项。

发现泄露后先控制范围

先停止继续传播,而不是把真实 Token 发到更多地方求助:

  • 不要把 Token 粘贴进 AI 对话、源码、截图、工单、群聊或支持消息;
  • 记录发现时间、涉及的机器人、凭据类型、出现位置和可能接触者,但不在事件记录中复制完整值;
  • 检查是否有正在生成、导入或发布的任务;需要更换 Serverless CLI Token 时,先等待当前任务结束;
  • 若凭据已经进入公开仓库、公开聊天或无法控制的第三方系统,按已经泄露处理,不要等到出现异常操作才撤销。

OWASP Secrets Management Cheat Sheet强调,凭据需要有清晰的用途、使用者和生命周期记录;重启应用本身不会撤销被盗凭据,旧值要由提供方过期或撤销。

Bot API Token 这样轮换

Bot API Token 被公开或无法确认是否安全时,可以按以下顺序处理:

  1. 在 Telegram 官方 BotFather 中确认正确的机器人,不凭用户名相似或截图猜测。
  2. 撤销旧 Bot API Token,并生成替代凭据。Telegram 官方文档明确旧 Token 可随时通过 BotFather 撤销。
  3. 只在实际运行机器人的安全配置位置更新新值;不要写入代码、Markdown 示例或前端变量。
  4. 重新发布或重启真正消费该 Token 的运行单元。
  5. 用普通测试账号执行最小功能测试,确认机器人身份、私聊命令和需要的群权限仍正确。
  6. 对旧 Token 做负向验证:它应不再能够认证。测试过程不要把完整 Token 放进浏览器历史、截图或共享终端输出。

若不能列出所有消费者,就还不能宣告轮换完成。旧脚本、CI 变量、临时调试机和个人密码管理器中的副本,都可能让团队误用已撤销值。

Serverless CLI Token 要避开发布中的切换

BotFatherV2 公开文档给出的顺序是:在官方 BotFather 生成替代凭据,等待活动任务结束,再重新打开连接设置更新;不要在发布过程中撤销旧 Token。

可执行的验收顺序是:

  1. 核对工作区绑定的 Telegram 用户名与官方 BotFather 中所选机器人一致。
  2. 等待生成、导入和发布任务进入明确的结束状态。
  3. 在官方 BotFather 的 Serverless CLI Access 中生成替代凭据。
  4. 在 BotFatherV2 的连接设置中更新,不在 AI 对话里发送 Token。
  5. 等待真实的只读云端连接检查成功;网络故障不能算作验证通过。
  6. 如果云端已有代码,确认完整导入要求已经满足,再进行修改或发布。
  7. 完成最小发布与 Telegram 实测后,在没有活动任务的窗口撤销旧凭据,并验证旧凭据不能再次连接。

连接成功只证明新凭据可以访问目标应用,不证明机器人所有业务路径都正常。仍要检查真实命令、权限和持久化数据;凭据轮换不应顺便改数据库结构或业务逻辑。

清理副本不能替代撤销

删除最新文件里的 Token,不代表它已经从 Git 历史、PR、日志或缓存中消失。GitHub 的 Push protection 文档说明,这类保护在推送时阻止硬编码凭据进入仓库;它是预防措施,不是已泄露凭据的撤销机制。

轮换后继续处理副本:

  • 删除或限制包含 Token 的截图、聊天、工单和构建日志;
  • 检查所有分支和历史记录,而不只检查当前文件;
  • 为仓库启用适合的秘密扫描或推送保护,并限制绕过权限;
  • 让日志只记录凭据类型、动作、结果和脱敏标识,不记录完整值;
  • 记录旧凭据的撤销时间、新凭据的生效时间和执行人。

即使历史副本暂时无法完全清除,只要旧凭据已经由提供方撤销,它就不应继续具备访问能力。相反,只清理副本而不撤销,攻击者手中的复制值仍可能有效。

用这张清单验收轮换结果

  • 已确认是 Bot API Token、Serverless CLI Token,或两者都需要轮换;
  • 新凭据只进入预期的安全连接或配置位置;
  • 旧凭据的认证或连接测试明确失败;
  • 新凭据连接的是预期机器人和 Serverless 应用,不是同名对象;
  • 轮换期间没有中断正在进行的发布;
  • 私聊命令、群权限和必要数据读写已在 Telegram 实测;
  • 源码、Git 历史、日志、截图、AI 对话和支持消息均完成排查;
  • 事件记录保存时间、责任人和结果,但不保存完整 Token。

只有“新值能用”和“旧值不能用”同时成立,轮换才算闭环。

与 BotFatherV2 的关系和边界

BotFatherV2使用 Serverless CLI Token 验证并连接你拥有的 Telegram Serverless 应用;普通 Bot API Token 不是该连接步骤要求的凭据。平台支持通过 AI 对话创建和修改机器人、发布版本,以及保留当前业务数据的代码回滚,但代码版本操作不会替你撤销 Telegram 凭据。

截至 2026 年 10 月 22 日,公开使用 AI 开发文档仍说明固定 SDK 不支持任意 npm 模块或 Node/Bun 运行时 API,首版也不新增依赖付费 AI 的运行时能力。凭据轮换属于连接与运营流程,不代表生成的机器人自动具备密钥管理系统或自主 Agent 能力。

BotFatherV2 是独立产品,与 Telegram 官方 BotFather 无隶属关系。创建、撤销和管理 Telegram Token 时,应以 Telegram 官方 BotFather 与最新平台文档为准。

来源与核验说明

以上页面均于 2026 年 10 月 22 日重新读取。本文把不同文档中的凭据边界整理成可执行检查清单,不把抓取日期写成来源发布日期。

BITBEAR / TELEGRAM-SERVERLESS-TOKEN-ROTATION2026年10月22日