《SecurityWeek》報導,超過 5,500 個 GitHub 儲存庫在一起供應鏈攻擊中遭到惡意軟體感染,安全研究人員警告,這起攻擊利用自動提交程式碼進行散播。這場被命名為「Megalodon」的攻擊行動,利用包含惡意內容的 GitHub Actions 工作流程,目的是竊取憑證、金鑰、Token 以及其他機密資訊。
Megalodon 供應鏈攻擊,波及 5,500 個 GitHub 儲存庫
資安公司 SafeDep 指出,駭客於 5 月 18 日短短 6 小時內,透過超過 5,700 次惡意程式碼提交,將遭竄改的 GitHub Actions 工作流程植入受害專案,影響超過 5,500 個 GitHub 儲存庫。調查顯示,攻擊者此次使用兩種不同的惡意程式。其中一種會新增新的 GitHub Actions 流程,並在每次程式碼推送或提交合併請求時自動觸發;另一種則會直接取代既有工作流程,在特定觸發條件下建立可長期潛伏的後門機制。
《SecurityWeek》提及,一旦開發環境遭感染,惡意程式便會蒐集並外傳大量機敏資訊,包括CI(持續整合)環境變數、AWS 憑證、GCP 存取權杖、Azure 憑證、SSH 私鑰、Docker 與 Kubernetes 設定檔、API 金鑰、資料庫連線字串,以及 GitHub Actions 與 GitLab CI/CD 等平台的存取憑證。
SafeDep 表示,研究人員是在發現 Tiledesk 惡意套件版本後,揭露這起名為「Megalodon」的供應鏈攻擊。攻擊者並未直接入侵 NPM 帳號,而是先滲透 GitHub 儲存庫,讓維護者在不知情下發布遭污染的套件。導致感染的惡意提交紀錄於 5 月 18 日推送,作者名稱為 build-bot。
研究人員進一步追查相關電子郵件地址後發現,其中一組地址在當天共建立 2,878 次提交,另一組則建立 2,841 次提交。遭感染的套件於 5 月 19 日至 21 日期間發布,而發布這些套件的 NPM 帳號 eljohnny([email protected])同時也曾發布正常的 2.18.5 版本。
NPM 撤銷權限存取憑證,資安業者警告供應鏈威脅未解
SafeDep 指出,攻擊者此次利用名為 workflow_dispatch 的 GitHub Actions 機制,讓先前植入的後門程式可在日後透過 GitHub API 遠端啟動,即使駭客不再直接入侵系統,也能利用先前竊取的 GitHub 存取憑證重新控制受害專案。研究人員表示,由於 workflow_dispatch 不受 GitHub 防止流程無限觸發的限制影響,因此即使事件本身是透過 GitHub 憑證啟動,駭客仍可進一步執行新的自動化流程。
另一方面,NPM 上週宣布,已全面撤銷所有可略過雙重驗證,且具寫入權限的精細度存取憑證(granular access tokens),以降低類似「Mini Shai-Hulud」供應鏈攻擊再次發生的風險。不過,資安公司 Ox Security 認為,此舉雖有助降低帳號遭盜用風險,但無法真正解決開源供應鏈安全問題,惡意程式仍可能透過已遭滲透的 GitHub 儲存庫持續散播。
Ox Security 研究員 Moshe Siman Tov Bustan 補充,GitHub 一旦遭入侵,所有將私人儲存庫託管於平台上的企業都可能受到波及,若 NPM、GitHub 等平台不更積極阻止惡意程式碼散播,針對開發者的供應鏈攻擊將持續升溫。
*本文開放合作夥伴轉載,資料來源:《SecurityWeek》、《The Register》,圖片來源:Unsplash。



