新聞

AI滲透測試平臺業者Novee Labs公開一類名為Cordyceps的CI/CD供應鏈風險,指出許多開源專案使用GitHub Actions建立自動化工作流程時,若未妥善處理外部輸入與執行權限,攻擊者可能藉由留言、拉取請求(Pull Request,PR)、分支名稱,或流程產生的檔案與輸出資料,讓自動化流程執行非預期指令,進而竊取憑證、操控儲存庫,甚至影響後續軟體發布。

Cordyceps並非GitHub平臺本身的漏洞,而是自動化流程設計與維護上的安全缺陷。GitHub Actions常被用來執行測試、建置、發布套件與部署雲端資源,也可能握有簽署金鑰、權杖或雲端存取權限,因此相關設定雖然看似只是專案設定檔,實際上卻可能接觸程式碼、金鑰與雲端服務。當流程把外部使用者可控制的內容視為可信資料,就可能讓攻擊者借用專案原本授予自動化系統的權限。

研究團隊掃描約3萬個高影響力儲存庫,初步標記654個儲存庫,其中超過300個被確認可被利用,影響包括讓流程執行攻擊者控制的程式碼、偽造CI檢查並繞過合併門檻、污染建置或發布流程、竊取雲端憑證或自動化權杖,以及透過自動化機器人帳號影響專案操作。該公司也列舉微軟、Google、Apache、Cloudflare與Python Software Foundation等組織相關開源專案案例。

Cordyceps風險不一定會出現在單一設定檔中,而是常發生在多個流程串接之後,例如低權限流程先接收外部貢獻者提交的內容,再透過流程產生的檔案、輸出資料或環境檔,把資料交給高權限流程處理。當高權限流程同時能存取寫入權限或雲端憑證,攻擊者就可能把不可信資料帶進受信任環境。以單一工作流程檔做規則比對的工具,便較難發現此類問題。

AI程式碼代理工具可能放大這類風險,因為這些工具能快速產生或修改CI/CD設定,要是缺少安全審查,同一種錯誤可能被複製到更多專案。研究人員提醒,開發者應把CI/CD流程視為安全關鍵程式碼,重新檢查外部輸入、流程權限、憑證使用方式,以及自動化步驟能觸及的發布管線與雲端部署權限。