漏洞披露

如果您认为在 requests 中发现了潜在的安全漏洞,请直接发送电子邮件至 NateSeth请勿提交公开问题。

我们的 PGP 密钥指纹是

  • 8722 7E29 AD9C FF5C FAC3 EA6A 44D3 FF97 B80D C864 (@nateprewitt)

  • EDD5 6765 A9D8 4653 CBC8 A134 51B0 6736 1740 F5FC (@sethmlarson)

如果您愿意,还可以使用上述个人资料在 Keybase 上联系我们。

如果您不是以英语为母语,请尽力描述问题及其影响。为了更详细地描述,请使用您的母语,我们会尽力使用在线服务进行翻译。

请同时提供您用于发现问题以及重现问题所需的尽可能最少的代码。

请勿向任何人透露此信息。如有必要,我们会获取 CVE 标识符,并以您提供的任何姓名或别名给予您全部荣誉。只有在我们有修复程序并可以在版本中发布时,我们才会请求标识符。

我们会尊重您的隐私,只有在您允许的情况下才会公开您的参与。

流程

以下信息讨论了 requests 项目在收到漏洞披露后遵循的流程。如果您要披露漏洞,本部分文档会告知您我们将如何对您的披露做出回应。

时间表

当您报告问题时,项目成员之一会在两天内至多回复您。在大多数情况下,回复会更快,通常在 12 小时内。此初始回复至少会确认已收到报告。

如果我们能够快速重现问题,初始回复还将包含对问题的确认。如果我们无法重现,我们通常会要求提供有关重现场景的更多信息。

我们的目标是在最初披露后的两周内修复任何漏洞。这可能涉及发布一个临时版本,该版本只是禁用功能,同时可以准备更成熟的修复程序,但在绝大多数情况下,这意味着尽快发布一个完整版本。

在整个修复过程中,我们会随时向您通报修复进度。修复程序准备就绪后,我们会通知您我们认为已经找到了修复程序。通常我们会要求您确认修复程序在您的环境中解决了问题,尤其是当我们不确定我们的重现场景时。

此时,我们会准备发布。如果需要,我们会获取 CVE 编号,并为您发现漏洞给予全部荣誉。我们还将决定计划的发布日期,并告知您发布日期。此发布日期始终为工作日。

此时,我们会联系我们的主要下游打包人员,通知他们即将发布与安全相关的补丁,以便他们可以做出安排。此外,这些打包人员将提前获得预期的补丁,以确保他们能够及时发布其下游包。目前,我们在公开发布前主动联系的人员名单如下

我们会至少在计划发布日期前一周通知这些人,以确保他们有足够的时间进行准备。如果您认为您应该在此名单中,请通过本文开头提供的电子邮件地址之一告知维护人员。

在发布当天,我们会将补丁推送到我们的公共存储库,同时提供描述问题并感谢您的更新的变更日志。然后,我们会发布包含补丁的 PyPI 版本。

这时,我们将公布版本。这将涉及邮件列表、推文以及核心团队可用的所有其他通信机制。

我们还将明确提及哪些提交包含修复,以便其他分发商和用户如果无法升级,可以轻松地为其自己的 requests 版本打补丁。

以前的 CVE