行業新聞與部落格
Tj-actions 供應鏈攻擊可追溯到單個 GitHub 令牌洩露事件
最近一次供應鏈攻擊危及了流行的 tj-actions/changed-files GitHub 操作,造成了一系列數字破壞,影響了 218 個 GitHub 儲存庫。
隨著調查人員的深入挖掘,這一複雜入侵事件的根源逐漸顯現出來,最初的入侵和最終目標都顯露出來。
雖然目標目標是與流行的加密貨幣交易所 Coinbase 相關的 GitHub 專案,但攻擊的起源可以追溯到從 spotbugs 工作流程中竊取單個令牌。這讓威脅行為者獲得了未經授權的訪問許可權,並使他們能夠入侵大量 GitHub 專案。
Spotbug 是一個靜態分析工具,可以識別 Java 程式碼中的錯誤,由 RD_MNTNR 維護,他也是 reviewdog 的積極維護者,reviewdog 是一個自動程式碼審查和測試 GitHub 專案,該專案的入侵導致 tj-actions/changed-files 被篡改。
tj-actions/changed-files 攻擊解析
3月14日,安全研究人員發現 tj-actions/changed-files 的原始碼遭到修改。
GitHub Actions 是持續整合和持續交付 (CI/CD) 框架,旨在簡化程式碼的構建、測試和部署。
StepSecurity 的一位發言人評論道:“在這次攻擊中,攻擊者修改了操作的程式碼,並追溯更新了多個版本標籤以引用惡意提交。受感染的操作會在 GitHub Actions 構建日誌中列印 CI/CD 機密。”
“如果工作流日誌是公開可訪問的(例如在公共儲存庫中),任何人都有可能閱讀這些日誌並獲取被洩露的機密。沒有證據表明洩露的機密被洩露到任何遠端網路目的地,”他們補充道。
軟體供應鏈安全公司 Endor Labs 在一篇部落格文章中寫道:“攻擊者可能不是在尋找公共儲存庫中的秘密——這些秘密已經是公開的了。他們可能想破壞其他開源庫、二進位制檔案和由此建立的工件的軟體供應鏈。任何作為 CI 管道一部分建立包或容器的公共儲存庫都可能受到影響。這意味著可能有數以千計的開源軟體包可能已被破壞。”
初步估計,此次攻擊影響巨大,危及多達 23,000 個儲存庫。
然而,更徹底的調查顯示,實際損失要受到更嚴格的控制,惡意的 tj-actions 攻擊只洩露了 218 個儲存庫的敏感機密,這只是最初擔心的總數的一小部分。
該事件的官方 CVE 編號為 CVE-2025-30066,後來被新增到美國網路安全和基礎設施安全域性 (CISA) 已知利用漏洞 (KEV) 目錄中。
進一步調查發現,威脅行為者已成功滲透到 reviewdog/action-setup GitHub 專案,並插入了一個惡意後門,當依賴於它的 tj-actions/eslint-changed-files 專案執行時會觸發該後門。
新爆料:Coinbase 和 spotbugs
3 月 20 日,Palo Alto Networks 旗下 Unit42 的研究人員發現,此次攻擊的最初目標是 Coinbase,具體來說是其開源 agentkit GitHub 專案。
攻擊者試圖利用該專案的公共 CI/CD 管道,可能將其用作進一步攻擊的墊腳石。
然而,這次攻擊被部分挫敗,因為攻擊者無法訪問或利用 Coinbase 的機密或釋出惡意軟體。
Unit42 的研究人員認為,在這次初次攻擊之後,同一個威脅行為者加大了攻擊力度,導致了更嚴重、更廣泛的攻擊,並引起了全球的關注。
4 月 2 日,Unit42 研究人員透露,根據 reviewdog 維護人員釋出的一份諮詢報告,他們已經拼湊出導致最初入侵的各個階段。
據 Unit42 稱,攻擊者最初是在 2024 年 11 月透過利用 spotbugs 的 GitHub Actions 工作流程獲得訪問許可權的,這使他們能夠在 spotbugs 儲存庫之間橫向移動,直到獲得對 reviewdog 的訪問許可權。
攻擊時間表
2024 年 11 月:攻擊者未經授權訪問了 spotbugs 。
2024 年 12 月 6 日:攻擊者利用易受攻擊的“pull_request_target”工作流程,透過一次性使用者帳戶(randolzflow)提交的惡意拉取請求竊取維護者的個人訪問令牌(PAT)。
2025 年 3 月 11 日:攻擊者利用竊取的 PAT 將另一個虛擬使用者 (jurkaofavak) 新增到 spotbugs 儲存庫。然後,該使用者推送了一個惡意的 GitHub Actions 工作流,該工作流提取了屬於 reviewdog 維護者 (RD_MNTNR) 的第二個 PAT,該維護者也具有 spotbugs 的訪問許可權。竊取的 PAT 授予攻擊者對 reviewdog/action-setup 儲存庫的寫訪問許可權,使他們能夠用來自分叉儲存庫的惡意提交替換 v1 標籤。
這實際上毒害了所有依賴 v1 標籤的專案,建立了一個後門,當與 tj-actions/eslint-changed-files 結合使用時會觸發該後門。然後,攻擊者使用竊取的憑據覆蓋儲存庫中的 Git 標籤,將其重定向到惡意提交,該提交旨在將持續整合 (CI) 執行程式中的敏感機密轉儲到日誌中。惡意提交洩露了 218 個儲存庫的機密,包括與 Coinbase 相關的儲存庫。
2025 年 3 月 14 日: Coinbase 的 CI 提取並執行了修改後的版本。幸運的是,攻擊者入侵 Coinbase 系統的計劃被挫敗了。該公司對此次入侵企圖的迅速反應有助於減輕損失,因為該公司迅速收到了有關潛在安全漏洞的通知,並果斷採取行動刪除了惡意工作流程。
2025 年 3 月 14 日: StepSecurity 的研究人員發現 tj-actions/changed-files 的原始碼已被篡改。
2025 年 3 月 15 日:該漏洞由 MITRE 披露,並分配了 CVE 識別符號 CVE-2025-30066。
2025 年 3 月 16 日:獨立攻擊性安全研究員 Adnan Khan 釋出了一份報告,指出另一個 GitHub 組織 reviewdog 遭到入侵。
2025 年 3 月 18 日: CISA 將 CVE-2025-30066 新增到其 KEV 目錄中。
2025 年 3 月 18 日: Reviewdog 維護人員釋出了安全公告。
2025 年 3 月 20 日: Palo Alto Networks 的 Unit42 透露,Coinbase 相關專案是此次攻擊的初始目標。
2025 年 4 月 2 日:Palo Alto Networks 的 Unit42 釋出的最新更新將此次攻擊追溯到從 spotbugs 工作流程中竊取單個令牌。
最近新聞
2025年04月14日
2025年04月14日
2025年04月14日
2025年04月14日
2025年04月14日
2025年04月14日
2025年04月07日
2025年04月07日
需要幫助嗎?聯絡我們的支援團隊 線上客服