2025 年 08 月第一次更新:开往维护组关于仓库误删事故与 QQ 社群封禁的报告
依《开往项目运维规定》基本原则之规定,开往维护组现就仓库误删事故与 QQ 社群被封两事的若干细节向各开往成员、前维护组成员、博客聚合项目以及关心开往项目的站长报告相关情况。
仓库删除事故
7月19日(星期六)北京时间晚9点49分许,维护组成员 Kegongteng 误删开往主仓库,以下为根据当事人 Kegongteng 回忆形成的操作示意图:
结合示意图与相关信息,可见当事人当天较晚进行操作,注意力不集中,并未认真输入确认仓库名并查看系统提示(仓库路径仅所属不同,仓库名相同,路径较为类似),而通过复制进行验证。此外,开往在事故发生前并未做好仓库保护与权限划分。
在事故发生后第一时间,当事人通过维护组群聊告知其他成员,但受限于一些因素,维护组没有办法自助恢复仓库。随后,维护组向 GitHub 提交了关于恢复仓库的工单。在事故处理的过程中,考虑到恢复Repo可能需要订阅按席位进行计费的 GitHub Team(实际并没有用到),为减少可能支付的费用,我们将维护组里的大部分人员移除组织,在事故解决之后得以恢复。
If your repository was part of a fork network, it cannot be restored unless every other repository in the network is deleted or has been detached from the network. 如果你的仓库是某个分支网络的一部分,除非网络中的其他每个仓库都被删除或已经从网络中分离出来,否则无法恢复。 ——《恢复已删除的仓库》Github 文档
The GitHub team will have limited availability from July 19th to July 27th. During this time, you may experience a slight delay in our support response. GitHub 团队在7月19日至7月27日期间的响应能力将受限。在此期间,您可能会遇到我们的支持响应稍有延迟的情况。 ——来自 GitHub 支持页面
事故解决后,开往仓库限制所有成员删除仓库分支,开往组织规定只有组织 Owner 才有权删除或转移组织仓库。
事故总结
为避免大型项目类似事件发生,项目组应完善其权限分化,避免权限过散。同时,通过启动策略(规则集的可用规则 - GitHub Docs)减少错误操作执行的可能性。如发生仓库误删且不满足自助恢复条件,请及时联系 Github Support。
QQ社群被封禁
开往项目有 QQ 和 Telegram 两个平台的社群,两个社群通过转发机器人实现消息互通。开往 QQ 社群要求加入者已在开往仓库提交 Issue,而位于 Telegram 的社群没有这一门槛,仅有简单的人机验证。
7月20日中午12点34分许,一位此前从未发言的用户在开往的 Telegram 社群发布黄色图片,并分发“翻墙”订阅链接。这些违规消息随即被转发机器转发到开往的 QQ 社群。
转发机器人被风控,随后申诉解除。QQ 社群随即被社群成员举报,被 QQ 系统封禁7天。
维护组在 QQ 社群解封后取消了两社群间的转发,后期视情况考虑恢复单方向转发。