全球軟體供應鏈安全再次亮起紅燈!一種被命名為「蟲草(Cordyceps)」的全新 CI/CD(持續整合與持續部署)工作流程漏洞,正悄悄蔓延至全球大小企業的程式碼儲存庫中。駭客正利用看似無害的「拉取請求(Pull Requests, PR)」,將惡意程式碼植入自動化流程中,進而挾持整個軟體供應鏈。根據滲透測試與資安業者 Novee 今日發布的最新報告,包含微軟(Microsoft)、Google、Cloudflare 以及 Apache 等全球科技巨頭的開源專案,皆在此次漏洞風暴中遭到波及。
何謂「蟲草」漏洞?CI/CD 自動化流程成駭客溫床
「蟲草(Cordyceps)」原指一種會感染宿主神經系統、將其化為殭屍並散播孢子的真菌。Novee 創始工程師暨資安研究員 Elad Meged 以此為名,精準描繪了這個新興漏洞的攻擊樣貌——駭客透過感染軟體開發的「神經中樞(CI/CD)」,進而控制整個軟體專案的發展走向。
在現代開源軟體開發模式中,「拉取請求(Pull Request, PR)」是不可或缺的一環。為了讓社群參與貢獻,任何開發者都可以提交 PR,建議將自己修改的程式碼合併(Merge)到主分支中。為了確保程式碼品質,這些請求通常需要經過專案維護者(Maintainers)的審核。
然而,「蟲草」漏洞的攻擊目標並非最終的程式碼本身,而是潛伏在「提交 PR」與「維護者審核」這兩者之間的「自動化 CI/CD 工作流程」。為了自動化測試與建置,許多儲存庫配置了 CI/CD 流程來自動運行新提交的程式碼。這些自動化腳本通常擁有極高的系統權限,並保管著關鍵的數位簽章金鑰(Signing Keys)與存取權杖(Access Tokens)。
Meged 指出,許多儲存庫的自動化 CI/CD 配置在存取安全上存在嚴重盲點。駭客只需提交一個特製的惡意 PR,當系統自動觸發 CI/CD 流程進行驗證時,惡意程式碼便會在擁有高權限的 CI 環境中執行。這使得駭客能夠輕易發動指令碼注入(Command Injection)、權限提升(Privilege Escalation),最終達成毀滅性的軟體供應鏈妥協。
掃描揭露驚人數據:微軟、Google 旗艦專案無一倖免
這並非單純的理論推演,而是正在發生的現實。Novee 團隊在一次針對開源生態系的掃描中,標記了高達 654 個可能遭到「蟲草」漏洞利用的儲存庫,其中更有 300 個被證實「完全可被利用(Confirmed fully exploitable)」。
攻擊者一旦利用成功,後果將不堪設想,包含:在官方商店發布惡意套件、竊取開發者憑證、偽造 CI 安全檢查結果、繞過合併閘道(Merge Gates)、進行機器人身分偽冒,以及發動進階社交工程攻擊。
報告中特別點名了五個受影響的全球知名開源專案:
Microsoft Azure Sentinel: Novee 發現,駭客只需在 PR 中留下特定註解,就能在微軟的 CI 環境中執行匿名代碼,進而竊取一把永不過期(Non-expiring)的 GitHub 應用程式金鑰。
Google AI Agent Development Kit: 惡意 PR 能夠在 Google 的 CI 基礎設施上執行,讓駭客取得關聯 Google Cloud 專案的「已驗證控制權」,等同於將整個 Google Cloud 儲存庫的生殺大權拱手讓人。
Apache Doris(分析型資料庫): Novee 證實可透過 PR 觸發兩起「零點擊(Zero-click)」攻擊。
Cloudflare Workers SDK: 亦被發現存在類似的 CI/CD 工作流程弱點。
Python Software Foundation (PSF) Black: 知名 Python 程式碼格式化工具同樣落入受害名單。
目前,Novee 已將漏洞通報給上述企業。微軟與 Google 已確認該漏洞的影響範圍,而 Cloudflare 與 Apache 則已迅速實施了系統強化與修補。幸運的是,Meged 向媒體證實:「目前沒有任何證據顯示有攻擊者或駭客集團已在大規模、廣泛地利用這種模式。」
AI 寫程式成幫兇?YAML 設定檔盲點放大供應鏈風險
為何如此嚴重的漏洞會廣泛存在於各大頂尖科技公司的專案中?核心原因在於「權限配置過當」。開發團隊往往為了圖方便,賦予了 CI/CD 流程過高的權限,使得原本不應具備修改權限的外部 PR,獲得了超越一般非維護者帳號的存取能力。
「這種供應鏈漏洞深植於整個軟體產業賴以運作的開源基礎管線中,」Meged 在部落格文章中寫道。「它之所以能躲過各種自動化資安掃描軟體的法眼,是因為從技術層面來看,每一個獨立的組件都在『按預期運作』。CI 工作流程只是聽命行事。真正的漏洞存在於『組合(Composition)』之中——未經信任的外部資料(Untrusted Data),跨越了從未有人稽核過的信任邊界。」
更令人擔憂的是,人工智慧(AI)的普及正在急遽放大這個問題。「AI 程式碼助理(AI Coding Agents)正在擴張這場災難,」Meged 警告。這些 AI 工具能以極快的速度生成 CI/CD 的 YAML 配置檔,但同時也盲目地複製、重現了這些不安全的權限配置模式。這導致相同的設定錯誤,正在以指數級別複合增長,並蔓延至數百萬個程式碼儲存庫中。
資安長(CISO)的防禦指南:將工作流程視為程式碼
儘管「蟲草(Cordyceps)」漏洞的本質大多源自配置錯誤,不一定需要申請獨立的 CVE(通用漏洞披露)編號,但它無疑為駭客開啟了一扇通往核心儲存庫與龐大軟體供應鏈的後門,其危險性絕對值得企業資安團隊高度重視。
面對這種難以被傳統弱點掃描工具察覺的新型態威脅,Meged 針對企業資安長(CISOs)提出了具體的防禦策略:
破除盲點,將工作流程視為程式碼(Workflow code is code): 企業必須意識到,CI/CD 工作流程的 YAML 設定檔與實際的應用程式碼同等重要,必須受到相同嚴格的安全審查與規範約束。許多組織對待 YAML 檔時,往往缺乏像對待 Java 或 Python 程式碼那樣的批判性視角,這是一個致命的疏忽。
全面盤點與權限限縮: 資安團隊應立即盤點內部所有 CI/CD 工作流程,特別是那些會處理「未信任輸入(如外部 PR)」且同時具備「高權限」的自動化腳本。必須嚴格落實「最小權限原則(Principle of Least Privilege)」,詳細界定每個角色的權限範圍,並將不必要的提權管道徹底封鎖。
利用可信賴的 AI 工具進行反制: 以毒攻毒。既然 AI 是放大漏洞的幫兇,企業也應善用可信賴的資安 Agent 工具,大規模、自動化地掃描並識別出暴露在「蟲草」風險下的脆弱工作流程。每一個輸入都必須經過嚴格的清洗與驗證,絕不能讓未信任的資料輕易觸及 CI 的核心執行緒。
在軟體開發日趨自動化的今天,確保 CI/CD 管線的純潔性,已成為捍衛軟體供應鏈安全的最重要防線。企業若不盡速修補這些隱藏在自動化流程中的裂痕,下一次的供應鏈浩劫,恐將在任何一個不起眼的 Pull Request 中無聲引爆。
引用來源