開源軟體供應鏈再傳攻擊事件。資安業者揭露,名為 GhostAction 的惡意行動捲土重來,駭客利用遭到入侵的 GitHub 維護者帳號,在數百個程式碼儲存庫中植入會竊取機密資料的自動化工作流程。這波攻擊最特別之處在於,新版惡意程式會翻查專案的 Git 歷史紀錄,把開發者以為已經刪掉的金鑰再挖出來,擴大了可能外洩的資料範圍。
GhostAction 最早在 2025 年 9 月曝光。駭客取得 GitHub 帳號的寫入權限之後,會在該帳號有權修改的儲存庫裡,加入一個偽裝成安全檢查的工作流程檔案。GitHub Actions 本來是開發者用來自動執行測試、建置或發布軟體的工具,一旦惡意檔案被觸發執行,就會讀取它能接觸到的各種機密資料,例如套件發布憑證、雲端服務金鑰等,再傳送到攻擊者控制的伺服器。
研究人員針對 10 月 8 日發生的攻擊展開調查,發現駭客利用兩個遭到入侵的維護者帳號,在 346 個儲存庫植入惡意工作流程。其中有 279 個是從其他專案複製而來的儲存庫,顯示攻擊者採取廣撒網策略,透過複製關係一次波及大量專案。
受影響的專案包括開源遊戲引擎 Pyxel,以及 Uber 旗下的 AthenaDriver。後者的情況較為特殊,因為原開發者仍保有寫入權限,讓駭客得以直接在主要分支加入惡意工作流程,而不是藏在不顯眼的分支裡。
新版惡意工作流程的技術手法有所升級。它會取得儲存庫能存取的完整 Git 提交歷史,再逐一檢查過去的程式碼變更,搜尋 AWS、GitHub 與 OpenAI 等服務的金鑰或存取權杖。它還會擷取部分 AWS 金鑰附近的程式碼,嘗試找出相關機密。也就是說,即使金鑰已經從目前的程式碼版本中刪除,只要它還留在歷史紀錄裡,就可能被找出來。
針對 AthenaDriver 被植入的惡意工作流程,資安業者 StepSecurity 檢查了該專案的執行紀錄,確認惡意工作流程已經向攻擊者的伺服器傳送資料,並且收到伺服器的回應。不過,目前還無法確認有多少有效的憑證真正外洩。
另一家資安業者 OpenSourceMalware 也公布後續調查結果,截至 10 月 9 日,已經查到 790 個曾經被植入惡意工作流程的公開儲存庫,實際受波及的範圍可能比最初掌握的更大。調查還發現,一個新註冊的網域 my-github.com 指向 GhostAction 使用的攻擊伺服器,但目前沒有證據證明該網域由同一批駭客控制。
受影響的專案該如何應對?調查團隊建議,首先移除惡意工作流程,撤銷遭到濫用的 GitHub 存取憑證,並且檢查歷史紀錄、更換可能已經外洩的金鑰。團隊也提醒,清查攻擊期間發布的套件及部署的系統同樣重要,因為單純刪除惡意檔案,並不能讓已經被竊取的憑證失效。
這起事件再度凸顯軟體供應鏈攻擊的威脅正在升級。過去開發者普遍認為,只要把不小心寫進程式碼的金鑰刪掉就沒事,但新版攻擊手法證明,Git 歷史紀錄本身就是一個攻擊面。對使用開源套件的企業來說,依賴的上游專案是否遭到入侵,往往難以第一時間察覺。
後續值得關注的是,實際外洩的憑證規模目前仍是未知數,相關調查還在進行中。開發者與企業可以先檢查自己使用的專案是否在受影響名單內,並確認 CI 流程中是否有可疑的工作流程檔案。資安業者預期,類似利用歷史紀錄竊密的手法,未來可能被更多攻擊者仿效。