跳到主要內容

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 令牌,稍後也輪換了我們用於 staging 頻道的 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]