GitHub供應鏈攻擊事件:Coinbase遭襲,218個倉庫暴露,CI/CD密鑰泄露

image

此次供應鏈攻擊涉及GitHub Action "tj-actions/changed-files",最初是針對Coinbase的一個開源項目的高度定向攻擊,隨后演變為范圍更廣的威脅。

攻擊過程與影響

Palo Alto Networks Unit 42在一份報告中指出:“攻擊載荷主要針對其開源項目agentkit的公共CI/CD流程,可能是為了利用它進行進一步的攻擊。然而,攻擊者未能使用Coinbase的密鑰或發布軟件包。”

該事件于2025年3月14日曝光,當時發現"tj-actions/changed-files"被入侵,注入了泄露運行該工作流的倉庫中敏感密鑰的代碼。該漏洞被分配了CVE標識符CVE-2025-30066(CVSS評分:8.6)。

根據Endor Labs的估計,218個GitHub倉庫因這次供應鏈攻擊暴露了其密鑰,泄露的信息主要包括DockerHub、npm和亞馬遜云服務(AWS)的“幾十個”憑證,以及GitHub安裝訪問令牌。

安全研究員Henrik Plate表示:“考慮到成千上萬的倉庫依賴于這個GitHub Action,供應鏈攻擊的初始規模聽起來很可怕。然而,深入分析工作流、運行情況和泄露的密鑰后,發現實際影響比預期的要小:‘僅’218個倉庫泄露了密鑰,其中大多數是短期的GITHUB_TOKEN,一旦工作流運行完成就會過期。”

攻擊手段與后續發展

此后,另一個名為"reviewdog/action-setup"的GitHub Action的v1標簽也被入侵,該標簽通過"tj-actions/eslint-changed-files"作為依賴項被"tj-actions/changed-files"使用,其攻擊載荷與tj-actions事件類似。"reviewdog/action-setup"的漏洞被追蹤為CVE-2025-30154(CVSS評分:8.6)。

據稱,CVE-2025-30154的利用使未識別的威脅行為者獲得了與"tj-actions/changed-files"相關的個人訪問令牌(PAT),從而允許他們修改倉庫并推送惡意代碼,進而影響了所有依賴該Action的GitHub倉庫。

Unit 42的研究人員Omer Gil、Aviad Hahami、Asi Greenholts和Yaron Avital表示:“當執行tj-actions/eslint-changed-files Action時,tj-actions/changed-files CI運行器的密鑰被泄露,攻擊者得以竊取運行器中使用的憑證,包括屬于tj-bot-actions GitHub用戶賬戶的個人訪問令牌(PAT)。”

目前懷疑攻擊者設法獲得了對reviewdog組織具有寫權限的令牌,以進行惡意修改。然而,該令牌的獲取方式目前仍不清楚。

此外,對"reviewdog/action-setup"的惡意提交據稱是通過首先分叉相應倉庫,提交更改,然后創建分叉拉取請求到原始倉庫,最終引入任意提交——這種情況被稱為“懸空提交”。

Palo Alto Networks的高級研究經理Gil告訴The Hacker News:“攻擊者采取了多種技術手段來掩蓋其蹤跡,例如利用懸空提交、創建多個臨時GitHub用戶賬戶,以及在工作流日志中混淆其活動(尤其是在最初的Coinbase攻擊中)。這些發現表明,攻擊者技術高超,對CI/CD安全威脅和攻擊策略有深刻理解。”

Unit 42推測,分叉拉取請求背后的用戶賬戶"iLrmKCu86tjwp8"可能在攻擊者從注冊時提供的合法電子郵件地址切換到一次性(或匿名)電子郵件后從公眾視野中隱藏,這可能導致該用戶的所有交互和操作被隱藏。然而,GitHub在回應時既未確認也未否認這一假設,但表示正在積極審查情況并采取必要措施。

GitHub發言人告訴The Hacker News:“目前沒有證據表明GitHub或其系統遭到入侵。所提及的項目是用戶維護的開源項目。”

image

“GitHub繼續根據GitHub的可接受使用政策審查并處理與倉庫內容相關的用戶報告,包括惡意軟件和其他惡意攻擊。用戶應始終在更新到新版本之前審查GitHub Actions或他們代碼中使用的任何其他包。這一點在這里與所有其他使用第三方代碼的情況一樣。”

對tj-actions/changed-files的GitHub分叉的深入搜索發現了另外兩個賬戶"2ft2dKo28UazTZ"和"mmvojwip",這兩個賬戶此后已從平臺上刪除。這兩個賬戶還被發現創建了與Coinbase相關的倉庫的分叉,如onchainkit、agentkit和x402。

進一步檢查發現,這些賬戶通過分叉拉取請求修改了agentkit倉庫中的"changelog.yml"文件,指向之前使用PAT發布的惡意版本的"tj-actions/changed-files"。

據信,攻擊者獲得了對agentkit倉庫具有寫權限的GitHub令牌——這反過來是由執行tj-actions/changed-files GitHub Actions促成的——以便進行未經授權的更改。

攻擊者的策略與動機

另一個值得強調的重要方面是兩種情況下使用的攻擊載荷的差異,表明攻擊者試圖保持低調。

Gil表示:“攻擊者在攻擊的不同階段使用了不同的攻擊載荷。例如,在大規模攻擊中,攻擊者轉儲了運行器的內存,并將存儲為環境變量的密鑰打印到工作流的日志中,無論哪個工作流正在運行。然而,在針對Coinbase時,攻擊者專門獲取了GITHUB_TOKEN,并確保只有在倉庫屬于Coinbase時才會執行攻擊載荷。”

目前尚不清楚此次攻擊的最終目標是什么,但Gil指出,“強烈”懷疑其意圖是經濟利益,可能是試圖進行加密貨幣盜竊,考慮到對Coinbase的高度針對性。截至2025年3月19日,該加密貨幣交易所已修復了攻擊。

目前也不清楚是什么促使攻擊者改變策略,將最初的有針對性的攻擊轉變為大規模且不那么隱秘的行動。

Gil表示:“一種假設是,在意識到他們無法利用其令牌毒害Coinbase倉庫——并得知Coinbase已檢測并緩解了攻擊后——攻擊者擔心失去對tj-actions/changed-files Action的訪問權限。由于入侵此Action可能提供對許多其他項目的訪問權限,他們可能決定迅速采取行動。這可以解釋為什么他們在Coinbase緩解其暴露后僅20分鐘就發起了大規模攻擊,盡管檢測風險增加。”

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74407.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74407.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74407.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Redis 核心源碼解析:從設計哲學到企業級應用實踐

一、Redis 的核心設計哲學 Redis 的成功源于其 「用內存換時間」 的核心理念,圍繞以下三個核心原則構建: 極簡主義:單線程模型避免鎖競爭,代碼保持高度內聚。 性能至上:所有數據常駐內存,網絡層采用事件驅…

GZCTF平臺搭建及題目上傳

前言 我用手里的Ubuntu虛擬機搭建的,大家根據自己的實際情況來吧 安裝及部署 首先,你的虛擬機需要有Docker和Docker-Compose,前者可以看我之前的文章,另外一個可以輸入下面的命令安裝,注意先獲取管理員權限&#xff…

Pycharm社區版創建Flask項目詳解

一、創建工程項目 二、配置工程目錄 新建的空項目下創建目錄。 1、新建app.py文件 2、app.py代碼如下: from flask import Flask, render_templateapp Flask(__name__)app.route("/") def root():"""主頁:return: Index.html"&qu…

CentOS 7 64位安裝Docker

以下是在已有的 CentOS 7 64 位虛擬機上安裝 Docker 并配置華為鏡像源的詳細步驟: 1. 備份原有 Yum 源(可選,建議操作) # 備份原有倉庫文件 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backu…

運動仿真——phased.Platform

在雷達仿真過程中,運動仿真的必要性,以及運動仿真可以實現哪些功能,在matlab對應的user guide中已經講的很清楚了,這里不再贅述。 本文主要介紹phased.Platform的一些“坑”,和典型的用法。 第一坑:系統對…

緩存刪除三級補償方案:延遲隊列+消息隊列+定時任務兜底

問題背景: 在 Cache-Aside 模式中,更新數據庫后刪除緩存失敗會導致數據不一致。本文提供工業級三級補償方案,實現最終一致性保障。 整體架構: 更新操作觸發 → 一級延遲隊列 → 二級消息隊列 → 三級定時任務方案實現: 一、第一級補償:延遲隊…

從零開始實現 C++ TinyWebServer 數據庫連接池 SqlConnectPool詳解

文章目錄 數據庫連接池是什么?Web Server 中為什么需要數據庫連接池?SqlConnectPool 成員變量實現 Init() 函數實現 ClosePool() 函數SqlConnectRAII 類SqlConnectPool 代碼SqlConnectPool 測試 從零開始實現 C TinyWebServer 項目總覽 項目源碼 數據庫連…

C++題目

1、內存管理 1.內存模型 棧:在執行函數時,函數內局部變量的存儲單元都可以在棧上創建,函數執行結束時這些存儲單元自動被釋放。 堆:就是那些由new分配的內存塊,其釋放由程序員控制(一個new對應一個delete&#xff09…

天地圖InfoWindow插入React自定義組件

截至2025年03月21日天地圖的Marker不支持添加Label; 同時Label和Icon是不支持自定義HTMLElement只支持String;目前只有InfoWindow支持自定義HTMLElement; 效果圖 React核心api import ReactDOM from react-dom/client const content document.createElement(div);…

Java并發編程面試匯總

Java并發編程 一、 基礎概念1. 進程與線程的區別是什么?2. 創建線程的幾種方式?3. 線程的生命周期(狀態)有哪些?4. 什么是守護線程(Daemon Thread)?5. 線程優先級(Priori…

【STM32】第一個工程的創建

目錄 1、獲取 KEIL5 安裝包2、開始安裝 KEIL52.1、 激活2.2、安裝DFP庫 3、工程創建4、搭建框架5、開始編寫代碼 1、獲取 KEIL5 安裝包 要想獲得 KEIL5 的安裝包,在百度里面搜索“KEIL5 下載”即可找到很多網友提供的下載文件,或者到 KEIL 的官網下載&a…

動態規劃~01背包問題

01背包問題 經典的0 - 1背包問題的解決方案。 二維數組的版本 代碼功能概述 0 - 1背包問題指的是有 n 個物品和一個容量為 m 的背包,每個物品有對應的體積 v[i] 和價值 w[i],需要從這些物品里挑選若干個放入背包,讓背包內物品的總價值達到最…

深入理解Java享元模式及其線程安全實踐

引言 在軟件系統中,當需要處理海量細粒度對象時,直接創建大量實例可能會導致內存消耗激增和性能下降。享元模式(Flyweight Pattern)通過共享對象內部狀態,成為解決這類問題的經典方案。然而在多線程環境下&#xff0c…

1、mysql基礎篇--概述

關系型數據庫(RDBMS) 概念特點:數據模型: 概念 建立在關系模型基礎上,有多張表相互連接的二維表組成的數據庫 特點: 1、使用表存儲,格式統一,便于維護 2、使用sql語言操作&#…

如何提升庫存系統的高并發和穩定性:算法與設計模式

庫存系統是企業運營的核心模塊,尤其是在電商、零售和供應鏈管理中,系統的高并發和穩定性直接影響訂單處理的準確性和效率。面對海量訂單、復雜的庫存管理需求,如何在高并發環境下確保庫存數據的準確性和系統的穩定性?本文將從架構…

【多線程】synchronized底層實現的方式

前言 在java 開發中對于鎖的應用非常的常見,如果對于什么時候該用什么鎖,以及鎖實現的原理有所不知道的,或者面試過程中面試官問你不知道怎么回答的,歡迎來看下面的文章 1、synchronized和ReentrantLock的區別 2、synchronized的…

Pytorch中Tensorboard的學習

1、Tensorboard介紹 TensorBoard 是 TensorFlow 開發的一個可視化工具,用于幫助用戶理解和調試機器學習模型的訓練過程。盡管它最初是為 TensorFlow 設計的,但通過 PyTorch 的 torch.utils.tensorboard 模塊,PyTorch 用戶也可以方便地使用 Te…

ETL 自動化:提升數據處理效率與準確性的核心驅動力

在數字化轉型的浪潮中,數據已成為企業戰略資產,高效處理數據的能力直接關系到企業的競爭力。ETL(Extract, Transform, Load)自動化作為數據處理領域的關鍵技術,正逐漸成為企業在數據時代脫穎而出、實現高效運營與精準決…

std::endl為什么C++ 智能提示是函數?

在使用vscode 的C智能提示后&#xff0c;輸入endl 后&#xff0c;提示的卻是std::endl(basic_ostream<CharT, Traits> &os), 感覺比較奇怪&#xff0c;各種代碼里都是直接用的std::endl 啊&#xff0c; 這里怎么變成函數了呢&#xff1f; 在 C 中&#xff0c;std::en…

簡潔、實用、無插件和更安全為特點的WordPress主題

簡站WordPress主題是一款以簡潔、實用、無插件和更安全為特點的WordPress主題&#xff0c;自2013年創立以來&#xff0c;憑借其設計理念和功能優勢&#xff0c;深受用戶喜愛。以下是對簡站WordPress主題的詳細介紹&#xff1a; 1. 設計理念 簡站WordPress主題的核心理念是“崇…