插件门户潜在数据泄露

2022 年 8 月 16 日,Gradle 插件门户和 Gradle Discourse 论坛受到安全事件的影响,可能导致部分 Gradle 社区成员的个人数据泄露。

托管在 gradle.orggradle.com 或其他地方的任何其他服务都没有受到影响。

发生了什么?

一个 Amazon Web Services 密钥授予访问包含部分 Gradle 插件门户和 Discourse 论坛用户个人信息的数据库备份的权限,该密钥在 Git 提交中被泄露。该密钥在被撤销之前暴露了两个小时。

我们认为泄露不太可能导致未经授权的数据访问,但出于谨慎和透明度,我们正在采取行动并通知受影响的个人。

哪些数据被泄露了?

我们检查了数据库备份,以确定哪些数据可能被访问。备份来自开发环境,其中包含 Gradle 插件门户和 Discourse 用户的数据。

我们正在向受影响的用户发送电子邮件,以专门通知他们此事件。如果您没有收到我们关于此事件的电子邮件,则您不受其影响。

受此事件影响的个人数据可能因用户而异,但可能包括电子邮件地址、显示名称,以及某些用户的哈希和加盐密码。我们已确认,与任何与可能受此事件影响的任何哈希和加盐密码相关的帐户没有任何活动。以下数据可能被泄露:

7133 个显示名称、用户名和潜在的 GitHub 用户名和电子邮件地址,这些地址存在于 Gradle 插件门户的开发数据库中。

  • 显示名称和用户名在插件门户或 Discourse 上已经是公开的。使用 GitHub 作为身份提供者时,GitHub 用户名与之的关联也是公开的。
  • 但是,电子邮件在插件门户或 Discourse 上不是公开的。如果数据库被第三方下载,他们将能够将这 7000 个插件门户或 Discourse 用户名与电子邮件地址关联起来。

3994 个用户名和电子邮件地址,来自 Gradle 构建工具论坛的历史版本。

  • 用户名(混合了句柄和显示名称)在我们的论坛上已经是公开的。
  • 但是,电子邮件地址不是公开的。如果数据库被第三方下载,他们将能够将这 4008 个用户名与电子邮件地址关联起来。

195 个用户名、电子邮件和哈希和加盐密码,用于未激活的用户帐户。

  • 哈希使用 bcrypt 生成。
  • 这些用户自事件发生以来均未被激活。
  • 只有 2 个哈希密码与生产用户匹配。

哪些数据保持安全?

  • 生产 Gradle 插件门户上任何插件的发布密钥都没有被泄露。
  • 插件门户工件无法被替换。
  • Discourse 论坛帖子无法被修改。

您应该采取哪些措施来保护自己免受数据滥用?

  • 我们建议您对可能针对您作为 Gradle 插件作者或 Gradle 论坛用户的身份进行的 Gradle 主题的网络钓鱼攻击保持格外谨慎。如果您对任何通信是否真正来自 Gradle 有任何疑问,请随时通过 [email protected] 与我们联系。
  • 我们建议您为所有帐户(与 Gradle 相关或其他)使用独特且复杂的密码。最佳做法是为每个服务使用密码管理器生成的唯一密码。
  • 如果您有任何问题或想更改帐户的电子邮件地址,请通过 [email protected] 与我们联系。

我们采取了哪些措施来应对此次事件?

  • 执行了事件响应程序,包括调查和缓解暴露。
  • 在整个组织的所有存储库中启用 GitHub 推送保护,以防止秘密密钥意外推送到 GitHub。
  • 通知了可能受影响的社区成员。
  • 已清除过期的待处理用户激活。

我们将采取哪些措施来防止进一步的事件?

我们正在采取以下进一步措施来改进我们的安全性并避免重复事件。

  • 停止在测试的命令行参数中传递凭据。
  • 在我们的数据库上引入保留策略。
  • 清理开发和生产数据库,删除不需要的数据。
  • 默认情况下在帐户范围内启用 S3 访问日志记录。
  • 加密数据库备份。

事件时间线

2022 年 8 月 16 日 10:03 UTC
推送了包含 AWS 访问密钥和密钥的提交。
2022 年 8 月 16 日 10:09 UTC
AWS 通知 Gradle 此披露,并自动应用隔离策略,以防止使用此密钥执行破坏性操作。
2022 年 8 月 16 日 12:04 UTC
Gradle 员工禁用 AWS 密钥。
2022.08.16 - 2022.08.23
内部事件响应。
2022.08.24
发布此博客条目并通知受影响的用户。

结语

我们很抱歉处于可能泄露委托给我们的信息的境地。我们将利用此次事件来改进我们的内部系统和安全性,以降低此类事件再次发生的可能性。

讨论