只要托管服务以加密方式存储令牌,在你粘贴之后不会再向你显示令牌,并且允许你在开发者门户中重置令牌,从而立即切断其访问权限,那么把Discord机器人令牌交给托管服务是安全的。这个重置功能才是真正的安全网。它比盲目信任托管服务更重要,因为无论谁持有令牌,它都有效。

机器人令牌实际上允许别人做什么

令牌是代码以你的机器人身份登录并进行API请求认证的凭证。任何持有它的人都可以发送消息、读取机器人可以看到的内容,并在机器人已加入的每个服务器中执行其权限允许的任何操作。但它无法将机器人添加到新的服务器,那需要单独的OAuth2邀请链接以及服务器管理员的批准。泄露或被滥用的令牌在机器人已加入的服务器中确实是个问题,但它并不是你整个Discord账号的万能钥匙。

真正的风险不在于交出令牌,而在于之后如何存储

通过HTTPS将令牌粘贴到托管服务商的仪表盘输入框中,与在任何登录表单中粘贴密码并没有本质区别。真正重要的风险在于之后会发生什么:它是否以明文形式存储在某个可能被漏洞或粗心员工读取的地方,是否会出现在日志中,客服人员能否调出并看到它。这些都是存储和处理的问题,而不是分享行为本身的问题。

值得信赖的托管服务应该做到什么

  • 静态加密存储,而不是以明文形式存放在任何有读取权限的人都能复制的数据库字段中。
  • 保存后永不再显示,就像密码输入框不会显示你输入的内容一样。
  • 只通过HTTPS接收,且必须在其自己的仪表盘中输入,绝不通过私信或电子邮件。
  • 允许你随时自行重置或删除,无需请求客服代为操作。
  • 在你移除机器人或关闭账号时实际删除,而不仅仅是停止使用。

你真正的紧急开关:重置令牌

这一点是Discord的通用机制,不是任何单一托管服务所能控制的。在开发者门户中点击“重置令牌”会立即使旧令牌失效,无论它在哪里被使用。你自己的代码、托管服务商,或任何未经许可获取该令牌的人,在下一次重连时都会被断开,并且无法再用旧值登录。因此,把令牌交给信誉良好的托管服务商,风险其实比感觉上要小:你永远不会被真正锁定,随时都可以在几秒钟内终止对方的访问权限,无论出于什么原因。

A user's bot token runs on a Noxyr node and comes online as their own branded bot. Your token Noxyr node MyBot Online

以Noxyr为例,看看它的处理方式

Noxyr的自定义机器人功能需要一个令牌,以便以你自己机器人的名义运行完整功能。令牌以加密方式存储,只有网站和运行你机器人的特定托管节点能够解密,并且在你粘贴之后,永远不会再向你或任何其他人显示。只有最初粘贴令牌的人才能替换它;同一服务器中的其他管理员可以查看机器人的状态,但无法以你的名义换上另一个机器人。删除你的自定义机器人会彻底移除已存储的令牌。如果你想退出,只需在开发者门户中重置令牌,即可在你操作的那一刻断开连接,与任何其他托管服务的情况完全相同。

如果托管服务关闭或仍然遭到入侵怎么办?

即便一家托管服务做好了一切,也可能遇到倒霉的一天:服务器被入侵,公司毫无预警地关闭。让你能够主动离开的同一个重置功能,在这种情况下同样能保护你:只要有任何理由怀疑托管方的数据库已经暴露,就应该在等待对方发布事后报告之前,立即重置令牌。被入侵的是加密令牌,而你在几分钟内就将其作废,这样的事件远比一个从未更换过的令牌被入侵要轻微得多。

值得远离的危险信号

  • 要求你在Discord私信或客服聊天中粘贴令牌,而不是通过正规的仪表盘表单。
  • 不提供让你自行重置、替换或删除令牌的途径。
  • 粘贴表单使用HTTP而不是HTTPS。
  • 对于团队中还有谁可以查看已存储的令牌含糊其辞。
  • 索要你的个人Discord账号密码,来替代或额外于机器人令牌。正规的托管服务永远不需要这个。

常见问题

托管服务商能窃取我机器人的服务器吗?不能。令牌无法将机器人邀请到任何新的地方;这始终需要单独的OAuth2流程,并由管理员点击“授权”。

使用托管服务后,我还能收回机器人吗?可以。在开发者门户中重置令牌,托管服务商的访问权限会立即终止,无需先请对方删除任何东西。

我的Discord账号开启两步验证能保护令牌吗?不能,机器人令牌是独立于你登录凭证的另一种凭证。在这种情况下,只有重置令牌才是真正有效的控制手段。

自托管本质上比使用托管服务更安全吗?不一定。从你自己的服务器泄露的令牌,与从托管服务数据库泄露的令牌同样危险;安全性来自加密和处理方式,而不是取决于由谁运行进程。

如果我怀疑令牌已经泄露,应该怎么办?立即重置,先不要调查其他任何事情。这是切断持有者访问权限的最快方式,无论他们从哪里获得的令牌。

如需了解如何生成和重置令牌,请参阅我们完整的Discord机器人令牌指南;如需了解Noxyr设置的具体工作方式,请参阅自定义机器人文档。