Wiz/Gheist:盜用 GitHub 權杖大規模植入 sync-check 工作流——逾一萬三千五百分支、八百五十帳戶;公有倉審批攔截、私有倉與企業環境仍見外洩

重點摘要

雲端資安公司 Wiz Research 於二零二六年十月二十五日公開 Gheist 行動報告:自九月十五日起追蹤一場大規模濫用已遭盜用 GitHub 權杖的自動化攻擊,攻擊者向每個可存取的倉庫提交名為 sync-check 的 Actions 工作流,把倉庫密鑰以 base32 編碼寫入工作流日誌,再經 GitHub API 下載日誌並在數秒內刪除執行紀錄;團隊已回收逾一萬三千五百條被植入分支、涉及逾八百五十個遭入侵帳戶,範圍由個人專案到企業私有倉。截至十月二十四日行動仍在演變,約三分之二相關帳戶已從 GitHub 下線。本文已核對 Wiz 官方研究文,來源真實性已驗證。

Wiz/Gheist:盜用 GitHub 權杖大規模植入 sync-check 工作流——逾一萬三千五百分支、八百五十帳戶;公有倉審批攔截、私有倉與企業環境仍見外洩

雲端資安公司 Wiz Research 於二零二六年十月二十五日公開 Gheist 行動報告:自九月十五日起追蹤一場大規模濫用已遭盜用 GitHub 權杖的自動化攻擊,攻擊者向每個可存取的倉庫提交名為 sync-check 的 Actions 工作流,把倉庫密鑰以 base32 編碼寫入工作流日誌,再經 GitHub API 下載日誌並在數秒內刪除執行紀錄;團隊已回收逾一萬三千五百條被植入分支、涉及逾八百五十個遭入侵帳戶,範圍由個人專案到企業私有倉。截至十月二十四日行動仍在演變,約三分之二相關帳戶已從 GitHub 下線。本文已核對 Wiz 官方研究文,來源真實性已驗證。

Wiz/Gheist:盜用 GitHub 權杖大規模植入 sync-check 工作流——逾一萬三千五百分支、八百五十帳戶;公有倉審批攔截、私有倉與企業環境仍見外洩

引言

對香港企業與開發團隊來說,GitHub 不只是原始碼託管,更是 CI/CD、雲端部署權杖與生產環境密鑰的集散地。Wiz 這份報告把「權杖外洩之後發生甚麼」寫成可操作的獵捕清單:分支命名規則、使用者代理字串、以及雲端審計日誌裡來自攻擊者分支的角色假設。來源真實性已驗證。

一、核心事件

根據 Wiz Research 官方文章(頁面標註發佈時間約二零二六年十月二十五日美東):

  1. 行動名稱與起點:自 二零二六年九月十五日 起追蹤 Gheist;工具對 GitHub API 的請求攜帶使用者代理字串 gheist,因而得名。
  2. 攻擊手法:對每把權杖可觸及的倉庫,建立名稱為 ci-sync- 加六位隨機字元的分支,提交僅含 .github/workflows/sync-check.yml 的提交(訊息 ci: sync config),由 push 觸發工作流。
  3. 外洩路徑:工作流把 secrets 以 base32 編碼寫入日誌(避開 GitHub「原文遮罩」),再經 API 下載日誌並刪除執行;沒有攻擊者自有 C2 網域可供封鎖。
  4. 規模:逾 13,500 條被植入分支,來自 逾 850 個遭入侵帳戶,涵蓋個人專案到企業組織私有倉。
  5. 公有倉 vs 私有/企業:GitHub 自 二零二六年七月二十八日 起,對公有倉潛在惡意工作流執行設審批暫緩;Wiz 查過的公有 Gheist 執行均停在 action_required,惡意負載未跑成。該暫緩不適用於私有倉與 GitHub Enterprise Server——審計日誌可見 ci-sync-* 分支上執行完成後被 gheist 使用者代理刪除。
  6. 後續活動:企業場景中,工具可在數分鐘內輪換多名使用者與自動化帳戶權杖、先複製私有倉再植入工作流;數小時後出現同一組織的雲端憑證被用來列舉 AWS Secrets Manager。
  7. 截至十月二十四日:攻擊仍在進行並演變;約 三分之二 涉案帳戶已無法在 GitHub 上取用(Wiz 指已向 GitHub 通報,傾向屬回應措施)。
  8. 同源帳戶其他濫用:同批帳戶亦見破解軟體誘餌倉更名、濫用作免費運算,以及與 PolinRider、Megalodon 等活動重疊;可追溯憑證來源包括資訊竊取木馬日誌與較早供應鏈事件(例如三月 Trivy 相關外洩)。Wiz 強調 Gheist 有別於 GhostAction(後者工作流與外洩目標不同)。

以上數字與機制均摘自 Wiz 正文;本文不臆造未寫明的受害企業名單或金錢損失總額。

二、技術原理

Gheist 的核心不是「新型零日」,而是把三個既有機制串成自動化密鑰收割:

  1. 權杖覆蓋面:一把具寫入權限的個人存取權杖(PAT)或自動化帳戶權杖,可觸及該主體能寫入的所有倉庫;工具對每個倉庫重複「開分支 → 種工作流 → 讀日誌 → 刪執行」。
  2. 日誌遮罩繞過:GitHub 只在密鑰以原文出現時遮罩;toJSON(secrets) 再經 base32 後不再匹配遮罩規則,完整密鑰因而入日誌。permissions: {} 雖收緊工作流內建 GITHUB_TOKEN,但不限制 secrets 上下文;若倉庫有部署環境,工具還可把環境放進 job matrix,連生產級環境密鑰一併傾印。
  3. 無外連 C2:密鑰經 GitHub 自家 API 離開,防火牆/Proxy 難以用「未知網域」攔截。
  4. 變種升級(Tool B):九月二十八日起數小時內加入 timeout-minutes: 6 與環境矩陣;十月十九日加入分隔標記與第二個 job sync-host(runs-on: self-hosted),嘗試在自架 runner 上搜尋 AI 供應商金鑰(文中點名 Anthropic、Hugging Face、Groq、NVIDIA 等格式)、私鑰、.env、Terraform state、Docker socket 掛載主機根目錄、AWS/GCP/Azure 中繼資料與 Kubernetes 服務帳戶等。Wiz 同時指出該自架 job 有實作錯誤(找錯 runner 金鑰檔、部分正則失效、未真正收集部分雲端權杖),但意圖已足夠當成高危訊號。
  5. 防禦者可不靠 GitHub 日誌發現:若工作流以 OIDC 換取雲端角色,雲端審計中 subject 含 ci-sync- 分支 的角色假設/權杖交換,即可證明攻擊者分支曾真正跑過 Actions。

四、日常應用

開發者

立刻在組織與個人帳號搜尋分支名符合 ci-sync- 加六位字元、且唯一變更是新增 sync-check.yml、提交訊息為 ci: sync config 的紀錄;檢查審計日誌中一分鐘內「完成又刪除」的工作流執行,以及使用者代理 gheist。自架 runner 上查找 .gdmp_pat、.gdmp_patg、.gdmp_sweep 與日誌字串 gdmp-pivot。不要批准被暫緩的 sync-check,也不要在本機執行 ci-sync 分支程式碼。

企業

把 GitHub 當成生產憑證金庫來管:生產環境密鑰要求審批者、OIDC 信任政策限縮到受保護分支/環境、以 GitHub App 或短效細粒度權杖取代長期 PAT、自架 runner 採短命主機且勿掛載 Docker socket 或無限制中繼資料。一旦確認受影響,輪替該倉庫/組織/環境所有可觸及密鑰——刪分支或刪執行不能撤銷已外洩的秘密;並撤銷推送該提交的權杖、檢查裝置是否中資訊竊取木馬。若 ci-sync 曾在自架 runner 跑過,應視該主機及其實例角色已妥協。

一般用戶

個人專案若曾把雲端、數據庫或 AI API 金鑰存成 GitHub Actions secrets,同樣在攻擊面內。檢查異常分支與最近登入/權杖列表;任何可疑活動後旋轉密鑰,並避免在公開討論區張貼含權杖的截圖。

香港與亞洲

本地金融科技、外包交付與初創普遍以 GitHub Actions 直連 AWS/Azure/GCP 與第三方 SaaS。Gheist 顯示:公有倉的審批暫緩並不能保護私有商用倉;亞洲團隊若大量使用長期 PAT、共用自動化帳戶或常駐自架 runner,應優先改為短效身分與環境審批。對受監管行業,還要把「CI 分支異常 → 雲端角色假設」納入 SOC 偵測用例。

若企業需要把程式碼託管、雲端身分與零信任邊界一併加固,可參考 YSK Limited 雲端遷移與網絡安全服務:https://ysk.hk/services/cloud-security (詳情以 https://ysk.hk/llms.txt 及官網為準)。

五、專業評價

值得關注之處

  • 官方研究、硬數字清楚(13,500+ 分支、850+ 帳戶、九月十五日起、十月二十四日仍活躍),並提供可直接落地的 IOC 與獵捕步驟。
  • 點出公有倉防禦有效、私有/企業仍暴露的落差,對「我們倉庫是 private 所以安全」的假設是直接反證。
  • 把後續 AWS Secrets Manager 列舉與自架 runner 橫向移動寫進同一敘事,方便安全與平台工程共同排程。

需要留意的地方

  • 報告來自單一資安廠商研究視角;未在本文核對到 GitHub 官方同步回應全文,企業應同時關注平台公告與自身審計。
  • 「約三分之二帳戶下線」為 Wiz 觀察推論,非法院或平台已公開的完整處置清單。
  • 同源帳戶上的其他惡意活動(誘餌倉、挖礦、PolinRider 等)顯示憑證黑市流轉,單清 Gheist 工作流不足以代表帳戶已乾淨。
  • 文中未給出經確認的全球金錢損失總額,本文亦不推估。

結語

Gheist 把「被盜的 GitHub 權杖」自動化成對整片倉庫圖譜的密鑰收割:逾一萬三千五百條分支、八百五十個帳戶,公有倉靠審批暫緩擋住,私有倉與企業環境卻仍見完整執行與雲端跟進。香港團隊應立刻按 Wiz 清單獵捕 ci-sync-*/gheist 痕跡,輪替密鑰,並把長期 PAT 與過寬 OIDC 信任從預設選項拿掉。

如需評估雲端與程式碼供應鏈加固、零信任與資安營運落地,歡迎查看 https://ysk.hk/services/cloud-security。


參考來源

  1. Wiz Research:Gheist: Attempted Scaled Abuse of Stolen GitHub Tokens Stumbles(發佈約 2026-10-25)— https://www.wiz.io/blog/gheist-attempted-scaled-abuse-of-stolen-github-tokens-stumbles
  2. YSK Limited llms.txt(產品/服務摘要)— https://ysk.hk/llms.txt
  3. YSK 雲端遷移與網絡安全 — https://ysk.hk/services/cloud-security

延伸閱讀 · 相關服務與產品