安全策略。

Rails 非常重视 Web 安全

这意味着它包含了保护应用程序开发者免受常见问题(如 CSRF、脚本注入、SQL 注入等)的功能。但它也意味着有一个关于如何报告漏洞以及在补丁发布时如何接收更新的明确策略。

支持的版本

有关支持的版本,请参阅维护策略


报告漏洞

Rails 中的所有安全漏洞都应通过我们在 HackerOne 上的赏金计划页面报告。这将向安全团队发送一条消息。您的报告将在我们每月安全会议之前或期间得到确认,具体取决于其严重性。我们将在回复中说明处理您报告的下一步措施。

在收到对您报告的初步回复后,安全团队将努力让您了解修复进展和完整公告。

如果您在 30 天内未收到电子邮件回复,可以采取以下措施:

请注意,Rails 核心列表和 Rails Discord 服务器是公开区域。当升级到该地址时,请不要讨论您的问题,只需说明您正在尝试联系安全团队的某个人。


披露流程

  1. 收到安全报告并分配主要处理人。此人负责协调修复和发布过程。确认问题并确定所有受影响的版本。审计代码以查找任何潜在的类似问题。
  2. 为所有仍受支持的版本准备修复。这些修复不会提交到公共存储库,而是本地保存,等待公告。
  3. 在禁运日期,Rails 安全邮件列表将收到公告副本。更改将被推送到公共存储库,新 gem 将发布到 RubyGems。有关发布和公告链接的信息将发布在Rails 博客上。

此过程可能需要一些时间,尤其是在需要与其他项目维护者协调时。我们将尽一切努力及时处理错误,但重要的是我们遵循上述发布流程,以确保披露以一致的方式处理。


接收披露

接收所有安全公告的最佳方式是订阅论坛的 Rails 安全公告部分。此部分流量非常低,并且在禁运解除的那一刻就会收到公开通知。

禁运解除前,除安全团队或初始报告人外,无人会收到通知。我们很抱歉无法对高流量或重要网站打破此政策,因为任何超出协调修复所需最低限度的披露都可能导致漏洞过早泄露。

如果您对改进此策略有任何建议,请发送电子邮件至 security@rubyonrails.org