一个“@”,让 40 万开发者共收 GitHub 的 6000+ 万封垃圾邮件“轰炸”

开发 新闻
此次事件已经在 reddit、Hacker News 等知名社区被大量开发者热议。

​近日,一位 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 优化机制的问题我们也将持续关注。

责任编辑:张燕妮 来源: 开源前线
相关推荐

2022-06-06 14:08:52

开发者GitHubPR

2011-11-23 13:24:21

垃圾邮件

2022-04-18 15:52:00

开发GitHub禁止

2009-11-16 17:33:47

2021-01-21 21:34:04

环信SDKAPP

2009-11-12 11:30:44

2018-12-13 12:24:53

GitHub 语言开发者

2009-02-24 09:23:00

2011-01-24 14:36:26

2009-10-27 09:32:45

垃圾邮件管理策略邮件管理

2014-04-22 10:44:34

垃圾邮件盈世绿色邮箱

2022-04-25 10:50:19

开源Github俄罗斯

2009-11-20 11:52:10

2024-10-05 11:46:10

2011-11-18 14:06:37

垃圾邮件

2021-11-29 09:56:10

开发JavascriptGitHub

2024-02-29 16:27:09

2011-01-19 15:21:32

Qmail垃圾邮件

2015-05-18 09:31:15

2011-09-23 15:28:44

点赞
收藏

51CTO技术栈公众号