乐趣区

关于github:一个引发的replyall-事件让-GitHub-变身发骚扰邮件的僵尸网络近-40-万开发者受影响

今日,一位 18 岁的老手因向 GitHub 仓库提交 PR(Pull Request,Pull 申请),后果一个“@”让 GitHub 变身“僵尸网络”向近 40 万开发者狂发骚扰邮件的“reply-all 风暴”热度席卷了开源圈。

一个“@”,让 40 万开发者共收到 6000+ 万封电子邮件

据悉,这位老手名叫 Rohith Sreedharan,起初原本是想向游戏公司 Epic Games 的 GitHub 存储库推送一个虚伪的 Pull 申请(向 UE 提交新代码)以获取一些奉献历史记录(试图在自述中更改 3 个单词)来“练练手”。

但在这样做的过程中,Rohith Sreedharan 为了让本人提交的 PR 尽快被合并,他在评论中(“@”)了与 Epic Games 组织相干的所有开发者,其中就包含退出该组织以查看空幻引擎 (Unreal Engine) 源代码的任何人。

后果,他的“@EpicGames/developers”这一操作触发了 reply-all 事件:向退出 Epic Games 组织的所有 GitHub 用户发送对于此 PR 的邮件告诉。

也就是说,Rohith Sreedharan 谬误地“@”了与 Epic Games 组织相干的所有开发者,即退出该组织以查看空幻引擎 (Unreal Engine) 源代码的任何人。

后果,这个“@”一下子导致了大概 40 万应用空幻引擎 (Unreal Engine) 的开发者收到了来自 GitHub 无关此 Pull 申请的告诉邮件。

同时,Rohith Sreedharan 的这个操作还让所有这些开发者们都订阅到 Pull 申请的正文线程 —— 即只有这 40 万名开发者中有人对 Rohith Sreedharan 的 Pull 申请进行评论,那么这条评论也会被以邮件的形式告诉并发送给其余 Epic Games 组织的所以成员,由此引发邮件“轰炸”事件。

要害是,Rohith Sreedharan 提交的这个 Pull 申请倍开发者发现存在着不少问题,因而又引发了大量评论及相应的邮件告诉。可怜的是,电子邮件告诉中的退订链接实际上并没有退订用户的 Pull 申请,因而不少开发者都收到了 150 多封电子邮件,更有甚者收到了多达 200-400 封邮件。

也就是说,GitHub 当天早晨共发送了 6000+ 万封的电子邮件。

随着该邮件“轰炸”事件的一直倒退,终于有开发者发现了退订该 Pull 申请的办法 ——“右栏中位于底部、参与者列表的正上方有一个‘退订’按钮,单击它并疏忽行将传入的大量告诉。”

到了这里,Epic Games 也才理解到事件的前因后果,并立刻锁定了该 Pull 申请,敞开了其评论性能,才终于完结了这场“闹剧”。

GitHub 邮件机制受质疑

目前,此次事件曾经在 reddit、Hacker News 等出名社区被大量开发者热议。

其中,在 reddit 上一位名为 @TomSwirly 的开发者就对此事件示意气愤,示意“我敢打赌,在这 40 万开发者中,有很多是初学者,如果我是初学者,我很容易节约很多工夫去弄清楚到底产生了什么。”然而“走开,垃圾邮件发送者,不论你是谁。”

此外,在 linustechtips 上也有名为 @trag1c 的开发者对此次事件以及该事件的“始作俑者”—— 老手 Rohith Sreedharan 进行了点评:

“诚实说,我不晓得是该称这孩子为“传奇”还是“脑残”(可能两者兼有)。假如这孩子正试图在软件开发畛域找到一份工作,有可能他在 Github 上有学校我的项目啥的,他可能认为本人可能会对一些我的项目做出虚伪承诺,试图说本人对一些简单的大型项目做出了奉献,比方空幻引擎。但他犯了一个致命的谬误,即“@”了整个组织,而不仅仅是审查 Pull 申请的人员 … 惋惜的是,这可能不会对他的职业生涯方面有所帮忙哦~”

另外一个值得被器重的问题,就是 ——“为什么 GitHub 容许向 40 万人发送邮件告诉?”

开发者 @trag1c 认为,“真的想不出有什么好的理由容许以这种形式 @整个组织,这也是 Epic 暗藏代码的形式的局部问题。为了查看空幻代码源,你必须退出 GitHub 上的该游戏组织才行,当然该组织也会容许你成为被标记为组织的一部分。但这样的话整个设置都会导致‘劫难’结果,因为您可能能够应用这样的设置应用 GitHub 来对 GitHub 进行 DDOS 攻打 …”

同时,还有不少开发者也提出了对于 GitHub 应优化机制的倡议,以防止此类事件再次发生。对此,GitHub 高级工程总监 Shay Frendt 也留言回应称:“很道歉,咱们以后的零碎设计导致你们陷入这种状况。咱们正在致力公布补丁,以尝试中断你们都陷入的反馈循环。”

推特赔罪:“我错了,保障当前不会再产生了”

事件产生之后,这位 18 岁的老手开发者终于在 6 月 5 日上推特发文赔罪:

“Am extremely sorry, I wasn’t knowing that would be tagging a 400k members, Extremely sorry for the spam from whole heartedly, I Apologize to all the team including
@EpicGames
and
@github
, never expected this would happen, thanks for notifying me! I promise it won’t happen again”

推文中,他示意对此十分道歉,称本人不晓得这个操作会标记(@)约 40 万成员,对由此产生的垃圾邮件“轰炸”事件发自内心的赔罪,并向 @EpicGames 游戏、@github 公司所有团队赔罪,“没想到会这样,谢谢你告诉我!我保障不会再产生了”。

置信对于这位年仅 18 岁的 Rohith Sreedharan 而言,此次“邮件轰炸”近 40 万开发者的事件,肯定会让他学到不少。

目前,无关此次邮件“轰炸”事件的热度在推特及各大开发者社区仍旧继续发酵,对于 GitHub 优化机制的问题咱们也将继续关注。如果您对此事件有任何认识,也欢送在评论区留言互动。

参考链接:https://github.com/EpicGames/…

退出移动版