跳到主要内容

Travis CI 安全事件

·2 分钟阅读
Matthew R. Becker
conda-forge/core 成员

2021年9月9日,我们的一位核心开发人员发现,在 Travis CI 上构建的工件正从在 fork 仓库上运行的 PR 上传到我们的 conda 频道。快速调查显示,Travis CI 正在将加密的密钥传递给 fork 上的 PR 构建。进一步检查我们的日志和工件表明,这种情况从大约 2021 年 9 月 3 日开始就一直在发生。Travis CI 随后确认了此安全漏洞。有关此事件的更多详细信息,请参阅此 CVE据我们所知,没有针对 conda-forge 的实际利用此漏洞的漏洞利用。

我们的回应

我们采取了以下步骤来应对此事件。

  1. 我们立即通过暂停 Travis CI GitHub 应用程序关闭了 Travis CI 上的所有构建。
  2. 我们立即通过我们在那里的联系人向 Travis CI 披露了该错误。
  3. 一旦 Travis CI 向我们表示他们已准备就绪,我们便轮换了所有 feedstock 令牌,随后轮换了我们用于暂存频道的 anaconda.org 令牌。主 conda-forge 频道的 anaconda.org 令牌在此事件中从未泄露。此外,只有约 70 个 feedstock 的令牌在此事件中被泄露。
  4. 我们检查了我们的工件,并将从 PR 上传的任何工件标记为损坏。我们认为我们找到了所有内容,但我们不能完全确定。我们标记事物损坏的标准比实际需要的更宽松。
  5. 我们发出了 PR,通过我们的机器人重建任何损坏的工件。
  6. 我们对 conda-smithy 进行了更改,以帮助防止将来从 PR 意外上传工件。

结束语 & 您可以做什么?

我 (MRB) 想表彰我们的核心开发团队在处理此事件中的快速工作。不用说,conda-forge 基础设施的公共性质带来了风险。另一方面,通过公开,任何人都可以查看和验证我们的工件构建。conda-forge 的安全性在于降低风险,我们将继续尽力做到最好。

我们在 conda-forge 中抵御安全事件的最佳防御是!我们的 feedstock 维护者最有可能注意到事件和问题。如果您发现任何问题,请负责任地通过 [email protected] 向我们报告。