行業新聞與博客
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日
需要幫助嗎?聯繫我們的支持團隊 在線客服