如果您是數百萬使用 element-data 的用戶之一,現在是時候檢查是否遭到入侵。
一個每月下載量超過百萬次的開源軟體,在威脅行為者利用開發者帳號工作流程中的漏洞後遭到入侵,該漏洞使攻擊者得以存取其簽名金鑰和其他敏感資訊。
週五,不明攻擊者利用該漏洞推送了 element-data 的新版本。element-data 是一個命令列介面,可協助使用者監控機器學習系統的效能和異常。執行時,惡意套件會掃描系統中的敏感資料,包括使用者設定檔、倉儲憑證、雲端供應商金鑰、API 權杖和 SSH 金鑰,開發者表示。惡意版本標記為 0.23.3,並發布到開發者的 Python 套件索引和 Docker 映像帳號。該版本約在 12 小時後的週六被移除。Elementary Cloud、Elementary dbt 套件以及所有其他 CLI 版本均未受影響。
開發者寫道:「安裝了 0.23.3 版本,或下載並執行受影響 Docker 映像的用戶,應假設其執行環境中任何可存取的憑證都可能已被洩露。」
威脅行為者透過利用 GitHub Actions 中創建的漏洞,成功存取了開發者的帳號。透過在提取請求中發布惡意程式碼,攻擊者能夠執行一個在開發者帳號內運行的 bash 腳本。該 bash 腳本擷取了敏感資料。憑藉帳號權杖和簽名金鑰,攻擊者進而發布了一個幾乎與合法套件無法區分的惡意 element-data 套件。
開發者從第三方問題報告中得知了這次入侵。在三小時內,該套件即被移除。Element 開發者表示,他們也輪換了惡意程式碼存取的所有憑證。他們進一步修補了該漏洞,並審核了所有其他 GitHub Actions,以確保沒有包含相同的缺陷。
開發者敦促所有安裝了 0.23.3 版本的使用者立即採取以下步驟:
1. 檢查您安裝的 element-data 版本:
pip show elementary-data | grep Version
2. 如果版本是 0.23.3,請解除安裝並替換為安全版本:
在您的 requirements 和 lockfiles 中,明確指定 elementary-data==0.23.4。
3. 刪除您的快取檔案,以避免任何殘留物。
4. 在 CLI 可能運行過的任何機器上檢查惡意軟體的標記檔案:如果此檔案存在,表示該機器上已執行了惡意負載。
macOS / Linux: /tmp/.trinny-security-update
Windows: %TEMP%\.trinny-security-update
5. 輪換 0.23.3 運行環境中可存取的任何憑證 – dbt 設定檔、倉儲憑證、雲端供應商金鑰、API 權杖、SSH 金鑰,以及任何 .env 檔案的內容。CI/CD 運行器尤其暴露,因為它們通常在運行時掛載了廣泛的秘密。
6. 聯繫您的安全團隊,以追蹤被洩露憑證的未經授權使用。相關的 IOCs 位於本文底部。
在過去十年中,開源儲存庫的供應鏈攻擊變得越來越普遍。在某些情況下,它們已實現了一連串的入侵,惡意套件導致使用者洩漏,進而導致使用者環境的入侵。
HD Moore,一位擁有四十多年經驗的駭客,也是 runZero 的創始人兼執行長,他表示,使用者開發的儲存庫工作流程,例如 GitHub Actions,以託管漏洞而聞名。
他表示:「這對開源專案和開放儲存庫來說是一個大問題。」「真的很難不意外地創建可能被攻擊者提取請求利用的危險工作流程。」
他表示,這個套件可用於檢查此類漏洞。
Ars Technica 在 25 年來一直致力於分離資訊中的雜訊。憑藉我們獨特的技術敏銳度和對技術藝術與科學的廣泛興趣,Ars 在資訊的海洋中是值得信賴的來源。畢竟,您不需要知道一切,只需要知道重要的事。