GitHub现在很焦虑,因为针对开源软件的黑客攻击越来越多了。

他们统计了一圈所有账号的安全设置后,发现了一个情况:只有16.5%的用户启用了双重身份认证功能。

——要求所有代码贡献者在2023年底之前启用双重身份认证。

换句话说,要是不启用这个功能,以后就不能往GitHub仓库里提交代码了。

所谓双重身份认证(Two-Factor Authentication),就是在账号密码以外还额外需要一种方式来确认用户身份。

国内这种做法已经很常见,比如手机App扫码,或者接收短信验证码。

具体到GitHub还支持使用第三方验证工具如1Password或微软的Microsoft Authenticator。

GitHub也要扫码或短信验证了:不启用不能提交代码!-冯金伟博客园

GitHub也要扫码或短信验证了:不启用不能提交代码!-冯金伟博客园

对于GitHub的做法,用户的反应也是褒贬不一。

有人认为GitHub统计出来的数据应该解释成,高达83.5%的用户不愿意使用双重身份认证。

这样做是搬起石头砸自己脚,一旦他们要求这样做,我就会换别的平台。

GitHub也要扫码或短信验证了:不启用不能提交代码!-冯金伟博客园

也有一部分人是出于隐私方面考虑,不愿意让GitHub知道自己的手机号。

GitHub也要扫码或短信验证了:不启用不能提交代码!-冯金伟博客园

但还是有很多开发者对此表示赞同,因为软件供应链攻击可是让他们吃了不少苦头。

GitHub也要扫码或短信验证了:不启用不能提交代码!-冯金伟博客园

根据安全公司Aqua Security的数据,2021年针对软件供应链的攻击增加了300%以上。

比较著名的有GitHub服务器被黑客用来挖矿。

在这个例子中,黑客通过发起恶意Pull Request,利用GitHub Action的漏洞来白嫖服务器资源。

GitHub也要扫码或短信验证了:不启用不能提交代码!-冯金伟博客园

虽然被发现后GitHub可以封禁违规账号,但黑客们玩起了“游击战术”,不断更换马甲号逃避“追捕”。

挖矿黑客仅用3天就能在GitHub上提交代码超过2.33万次,持续作案很长时间也未能根除。

提交代码时强制双重身份认证的措施,正可以增加黑客的作恶成本。

除了GitHub平台本身,旗下的知名包管理工具npm也常被黑客盯上。

而且据统计npm开发者的安全意识还要更低,只有6.44%启用了双重身份认证。

今年3月底,一个代号为“RED-LILI”的黑客组织发起了针对NPM的大规模攻击,投放了超过800个恶意代码包。

GitHub也要扫码或短信验证了:不启用不能提交代码!-冯金伟博客园

北卡罗来纳州立大学的一项研究表示,很多npm开发者的邮箱域名都过期了但还用来登录。

没有双重身份认证的话,黑客只要把域名买下来就可以劫持账户,在开源项目中注入恶意代码。

对此,GitHub已经要求npm下载量前一百的开发者开启双重身份认证,取得了不错的效果,并打算把这一经验用在GitHub上。

GitHub也要扫码或短信验证了:不启用不能提交代码!-冯金伟博客园

尽管双重身份认证确实能增加安全性,还是有不少开发者反对,因为用户体验实在不咋地。

把登录方式与手机绑定在一起的话,万一手机坏了、丢了或者换手机时忘记解绑就容易影响开发工作。

GitHub也要扫码或短信验证了:不启用不能提交代码!-冯金伟博客园

而GitHub把最后期限定到2023年底,也是打算用这段时间再好好打磨一下。