2022年09月09日
根據網站FreeBuf消息,CI/CD管道中存在安全漏洞,攻擊者可以利用這些漏洞來破壞開發過程并在部署時推出惡意代碼。
近日,研究人員在Apache和Google的兩個非常流行的開源項目的GitHub環境中發現了一對安全漏洞,可用于秘密修改項目源代碼、竊取機密并在組織內部橫向移動。
據Legit Security的研究人員稱,這些問題是持續集成/持續交付(CI/CD)缺陷,可能威脅到全球更多的開源項目,目前主要影響Google Firebase項目和Apache運行的流行集成框架項目。
研究人員將這種漏洞模式稱為“GitHub環境注入”。它允許攻擊者通過寫入一個名為“GITHUB_ENV”的GitHub環境變量創建一個特制的有效負載,來控制易受攻擊項目的GitHub Actions管道。具體來說,問題存在于GitHub在構建機器中共享環境變量的方式,它允許攻擊者對其進行操作以提取信息,包括存儲庫所有權憑證。
Legit Security首席技術官兼聯合創始人Liav Caspi補充道,這個概念是,構建Actions本身信任這些提交以供審查的代碼,不需要任何人對其進行審查。更糟糕的是,任何對GitHub做出過貢獻的人都可以觸發它,而無需任何人對其進行審查。所以,這個一個非常強大且危險的漏洞。
不要忽視CI/CD管道的安全性
根據Caspi的說法,他的團隊在對CI/CD管道的持續調查中發現了這些漏洞。隨著“SolarWinds式”供應鏈缺陷的激增,他們一直在尋找GitHub生態系統中的缺陷,因為它是開源世界和企業開發中最受歡迎的源代碼管理(SCM)系統之一,因此也是將漏洞注入軟件供應鏈的天然工具。
他解釋稱,“這些缺陷既體現了GitHub平臺設計方式的設計缺陷,也體現了不同的開源項目和企業如何使用該平臺。如果您非常了解風險并有意規避許多有風險的操作,您可能會編寫一個非常安全的構建腳本。但我認為沒有人真正意識到這一點,GitHub Actions中有一些非常危險的機制用于日常構建操作。”
他建議稱,企業開發團隊應始終對GitHub Action和其他構建系統保持“零信任”原則,假設他們用于構建的組件都可能會被攻擊者利用,然后隔離環境并審查代碼。
正如Caspi所解釋的那樣,這些缺陷不僅表明開源項目本身是供應鏈漏洞的潛在載體,而且構成CI/CD管道及其集成的代碼也是如此。
好消息是,目前這兩個漏洞都已得到修復。
文章來源:安全圈