潛在威脅分析:GitHub Actions 配置錯誤帶來的資安風險

GitHub Actions 設定錯誤恐成供應鏈攻擊破口,近 3 萬個熱門專案僅一成完全沒問題

近年來,供應鏈攻擊(Supply Chain Attack 的新聞幾乎三不五時就會出現,而且大多都是從攻擊者入侵公開的套件(Package)開始。很多人因此認為,公開套件庫最大的風險,就是有人竊取開發者帳號,把惡意程式偷偷塞進軟體裡。

但事實上,使用開源專案儲存庫(Repository)時,真正要注意的不只有這個問題。關鍵元件的設定錯誤(Misconfiguration,同樣可能成為攻擊者入侵的突破口。

其中,GitHub Actions 就是一個典型例子。它是一套自動化工具,讓開發團隊可以建立 CI/CD(持續整合/持續交付) 流程。不過,只要 GitHub Actions 的腳本設定有誤,攻擊者就可能趁虛而入,而且這類情況已經不是理論上的風險,而是真實發生過的攻擊事件。

像是近期的 Mini Shai-Hulud 惡意程式攻擊,就是一個很好的例子。這起事件同樣是從熱門專案維護者的帳號遭入侵開始,但真正散布惡意程式的關鍵,是利用了 GitHub Actions 的設定漏洞,藉此竊取開發環境中的各種機密資訊(Secrets)。


掃描近 3 萬個熱門 GitHub 專案,只有 10% 完全沒有問題

卡巴斯基全球研究與分析團隊(GReAT)利用新版 Kaspersky Container Security(KCS 的偵測規則,針對約 3 萬個熱門 GitHub 儲存庫 的 GitHub Actions 進行安全分析。

結果顯示,只有約 10% 的專案,其自動化流程沒有發現任何安全疑慮。


掃描 13 萬條 CI/CD 流程,找出超過 25 萬項潛在風險

研究團隊總共分析了約 13 萬條 CI/CD Pipeline,並發現超過 25 萬項 不符合安全建議的設定。

當然,這些問題不一定代表就是漏洞,但都表示這些設定值得進一步檢查與調整,以降低未來遭到攻擊的風險。

在這些發現中:

  • 59.8% 屬於低風險設定問題。
  • 39.8% 屬於中風險。
  • 0.4% 則被判定為高風險設定錯誤。

更值得注意的是,研究人員在 8 個 GitHub 專案 中發現了重大安全漏洞,這些漏洞甚至可能導致供應鏈攻擊。

受影響的專案涵蓋相當廣泛,包括:

  • 企業 AI 整合工具
  • 開發者工具與自動化服務
  • 資安測試工具

卡巴斯基研究人員也已將這些重大漏洞通報給相關專案維護者。


GitHub Actions 最常見的安全問題有哪些?

研究中最常見的 GitHub Actions 設定錯誤包括:

  • 權限設定過於寬鬆,或未明確定義存取權限。
  • 使用的相依套件(Dependencies)沒有固定版本(Version Pinning)。
  • 在 Workflow 層級套用了過於寬泛的設定。

此外,研究人員也發現一些更危險、但相對少見的情況,例如:

  • 將敏感機密資訊(Secrets)直接暴露在最上層設定中。
  • 使用可能存在風險的執行條件(Run Conditions)。
  • 不安全地處理外部輸入資料。

雖然這些高風險問題出現的比例不高,但一旦被攻擊者利用,造成的影響可能相當嚴重。


如何降低風險?

GitHub Actions 的設定錯誤,很可能讓原本用來提升開發效率的 CI/CD 流程,反而變成攻擊者入侵的工具,進一步危害開發環境,甚至攻擊整個企業基礎架構。

因此,建議企業與開發團隊定期檢查 GitHub Actions 的設定,及早找出潛在問題,建立更安全的開發流程,才能有效降低供應鏈攻擊帶來的風險。


本次研究所使用的這套偵測規則,現在已隨著最新版本更新,正式提供給 Kaspersky Container Security 使用者使用。

透過這套新規則,Kaspersky Container Security 不僅能掃描 GitHub 儲存庫(Repository),找出 GitHub Actions 的設定錯誤,也能直接整合到企業的 CI/CD 開發流程 中,在開發階段就及早偵測潛在的安全風險,避免問題一路流入正式環境。

如果想進一步了解 Kaspersky Container Security 的功能與應用,可以前往產品官方頁面查看更多資訊。

資料來源: 250,000 misconfigurations in GitHub Actions | Kaspersky official blog

Comments are closed.

Up ↑

探索更多來自 卡巴斯基部落格 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

繼續閱讀