RubyGems 导航菜单

博客

返回博客文章

让流行的 Ruby 软件包更安全

Doodle of a RubyGem wearing an MFA hat, holding a flag with a checkmark

软件供应链攻击事件日益增多,我们的社区也未能幸免。过去,RubyGems 深受供应链攻击之苦,因此,尽可能减轻这些风险对我们来说非常重要。对于流行的软件包,推荐启用多因素身份验证 (MFA) 等更严格的安全行为,这是提高 RubyGems 生态系统安全性的第一步。

账号接管是软件供应链中第二常见的攻击手段。抵御这种类型攻击的应对措施很简单:启用 MFA。这样做能够防止 99.9%的账号接管攻击。

正如MFA 推广 RFC中提出的,RubyGems 已经开始采取措施,推动宝石维护人员更广泛地采用多因素身份验证。

从今天(2022 年 6 月 13 日)开始,至少维护前 100 个 RubyGems 软件包的维护人员将开始在 RubyGems 命令行工具和网站上看到警告,提示他们尚未在自己的账号上启用 MFA。所有维护下载量超过 1.65 亿次的宝石的人员都将看到此建议。

虽然这目前只是一项建议,但两个月后(2022 年 8 月 15 日),我们将开始对下载量超过 1.8 亿次的宝石的所有者强制执行 MFA。此政策将使我们与其他软件包生态系统(例如,npm)以及GitHub)保持一致。

受到此政策影响的维护人员会在强制执行前一个月和一周再次收到启用 MFA 的电子邮件提醒。我们建议维护人员将自己的 MFA身份验证级别设置为UI 和 API。不过,UI 和宝石登录也是可以接受的。

当最热门宝石的维护者完全完成这些政策变更后,我们打算通过将多因素认证要求扩展至更多宝石来提高覆盖率。我们将在之前沟通任何提议的变更,但在此期间,如果您有任何反馈、问题或担忧,请在 Bundler Slack 工作区 中联系我们,或在 GitHub 问题 中提交问题。

我们致力于为 Rubyist 培养一个更加安全可靠的生态系统。这是我们在未来几个月计划采取的许多步骤之一,以便为所有人维持一个健康可靠的生态系统。敬请期待!

Betty Li