GitHub 将要求所有为平台上的任何项目贡献代码的开发人员进行双因素身份验证 ( 2FA ),此举旨在加强软件供应链。
微软拥有的代码托管平台去年 5 月宣布,它打算在 2023 年底之前强制执行 2FA,尽管它已于当年早些时候针对排名前 100 的软件包启动了这一过程,随后在 11 月启动了其他“高影响力”软件包。这些被定义为每周下载量超过 100 万次的软件包,或超过 500 个依赖项(使用相关软件包的项目)。
现在,GitHub 已确认将于 2023 年 3 月 13 日(即四天后)开始全平台范围内的强制执行,这一过程将在今年余下时间逐步推广到不同的开发人员和项目管理员组。
供应链
GitHub 拥有约1 亿开发者用户,是全球软件供应链的关键部分。虽然对软件供应链安全的担忧已经存在了一段时间,但近年来一系列备受瞩目的攻击已经将这个问题推到了全球政治议程的首位。这包括2020 年美国软件公司 SolarWinds的漏洞,该漏洞影响了许多使用该软件的政府和企业实体,以及流行的开源日志记录工具 Log4j 中出现的严重Log4Shell安全漏洞。
此类突出的安全事件促使拜登政府早在 2021 年就采取了行动,当时它发布了一项旨在保护该国网络防御的行政命令。上周,政府发布了一项新的网络安全战略,其中包括呼吁大型科技公司承担更多责任以确保其系统稳健,强制性 2FA 将在某种程度上提供帮助。
在过去几年中,尤其是开源软件一直是政府网络安全工作的主要焦点,这在很大程度上是由于其无处不在。事实上,绝大多数软件至少包含一些开源组件,其中许多组件是一两个开发人员在业余时间开发的,几乎没有经济支持。
正是在这种背景下,GitHub 在过去一年中一直在推动 2FA 议程,因为它希望通过社会工程或类似的帐户接管尝试减少关键开源项目被不良行为者破坏的可能性。
交错推出
GitHub 执行 2FA 的交错方法是一种经过深思熟虑的尝试,旨在确保每个需要加入的人都自愿并及时加入。
GitHub 在一篇博客文章中写道:“这种逐步推出将使我们能够确保开发人员能够成功入职,并在我们随着时间的推移扩展到更大的群体之前根据需要进行调整。” “GitHub 是软件供应链的核心,确保软件供应链的安全始于开发人员。”
在此初始 2FA 注册推送期间成为目标的开发人员将收到一封电子邮件,他们还将在 GitHub 仪表板上看到一条横幅,要求他们注册。然后,他们将有 45 天的时间激活 2FA,并在此期间定期提示遵守。如果在这 45 天内未配置 2FA,他们将在下次尝试访问其 GitHub 帐户时被提示启用 2FA,尽管他们可以选择再“暂停”一周。之后,如果他们想要访问其 GitHub 帐户的任何方面,包括发布代码的能力,他们将别无选择,只能设置 2FA。
GitHub 用户可以从短信、物理安全密钥、第三方验证器应用程序和GitHub 移动应用程序中选择他们的 2FA 机制,而 GitHub 建议人们应该激活不止一种 2FA 方法作为故障安全措施。

GitHub 2FA 在行动图片来源:GitHub
值得注意的是,2FA 推送不会随着初始注册而结束。那些设置了 2FA 的人将在 28 天后收到另一个提示,要求他们验证他们的 2FA 方法,该提示旨在防止开发人员由于错误配置的身份验证器应用程序或错误输入的手机号码而被锁定在他们的帐户之外。在此阶段,如果用户无法验证他们的帐户,他们将被要求重置他们的 2FA 方法,而不会失去对他们帐户的访问权限。
至于哪些开发者有望从 3 月 13 日开始收到 2FA 提示,嗯,GitHub 此前曾表示,它将考虑各种数据点,例如发布频率、他们是否是企业的管理员以及他们是否为更多的社区做出贡献。流行的公共和私人存储库。
在首次推出之后,GitHub 表示,它将把吸取的任何经验教训应用到 2023 年的更广泛推广中。