安全研究人員警告稱,一場名為“巨齒鯊(Megalodon)”的大規(guī)模供應(yīng)鏈攻擊已通過自動化提交的方式,向超過5500個 GitHub 代碼倉庫注入惡意軟件。 該攻擊濫用 GitHub Actions 工作流,在持續(xù)集成環(huán)境中植入竊密載荷,目標(biāo)包括憑證、CI 機密、密鑰與令牌等敏感信息。
![]()
據(jù)安全公司 SafeDep 報告,“巨齒鯊”行動依賴惡意 GitHub Actions 工作流,這些工作流被通過偽造的自動提交批量注入目標(biāo)倉庫,在短短六小時內(nèi)形成一次集中式攻擊波次。 SafeDep 稱,攻擊者在 5 月 18 日六小時窗口內(nèi)向受影響倉庫推送了超過 5700 個惡意提交,最終波及 5561 個獨立倉庫。
攻擊中至少使用了兩種不同的載荷。 其中一種會在倉庫中新增一個工作流,使其在每次 push 或 pull request 時自動觸發(fā),從而在開發(fā)與構(gòu)建過程中持續(xù)執(zhí)行惡意代碼。 另一種則替換現(xiàn)有工作流的觸發(fā)條件,將其改造為“休眠后門”,在表面不影響日常流程的前提下,為攻擊者預(yù)留遠(yuǎn)程喚醒通道。
一旦目標(biāo)環(huán)境被感染,惡意工作流會嘗試竊取 CI 環(huán)境變量、AWS 憑證、GCP 訪問令牌、Azure 憑證、SSH 私鑰、Docker 與 Kubernetes 配置、各類 API 密鑰、數(shù)據(jù)庫連接字符串,以及 GitHub Actions 令牌、GitLab CI/CD 令牌等數(shù)十種不同類型的敏感信息。 這些信息一旦外泄,可能被用來進(jìn)一步攻陷云基礎(chǔ)設(shè)施、代碼庫和生產(chǎn)環(huán)境。
SafeDep 介紹,“巨齒鯊”是在分析 Tiledesk 開源聊天與聊天機器人平臺時被發(fā)現(xiàn)的。 研究人員注意到該項目在 5 月 19 日至 21 日間陸續(xù)發(fā)布了遭篡改的惡意版本 NPM 包,從而暴露出背后更大規(guī)模的倉庫入侵行動。 攻擊相關(guān)的 NPM 賬號名為 eljohnny,賬號郵箱為 giovanni@tiledesk.com,其既發(fā)布了干凈的 2.18.5 版本,也發(fā)布了被污染的版本。
SafeDep 指出,攻擊者并未直接控制該 NPM 賬號本身,而是通過攻陷其對應(yīng)的 GitHub 倉庫下手。 在源代碼被“投毒”后,維護(hù)者在不知情的情況下從受感染的代碼發(fā)布了惡意包,這也凸顯出供應(yīng)鏈攻擊中“上游源被悄然篡改”的典型風(fēng)險。
追蹤攻擊源頭時,SafeDep 發(fā)現(xiàn)觸發(fā)感染鏈的惡意提交同樣發(fā)生在 5 月 18 日,提交作者標(biāo)識為“build-bot”。 通過相關(guān)郵箱追查,研究人員發(fā)現(xiàn)當(dāng)天通過該郵箱共進(jìn)行了 2878 次提交,另一個關(guān)聯(lián)郵箱又進(jìn)行了 2841 次提交,總計 5718 次惡意提交全部集中在同一天完成。
在技術(shù)手段上,攻擊者選擇了 GitHub Actions 中的“workflow_dispatch”工作流類型來實現(xiàn)后門觸發(fā)。 這種觸發(fā)方式可以通過 GitHub API 調(diào)用,并利用竊取到的 GitHub 令牌在后期任意時間遠(yuǎn)程激活休眠后門。 更為關(guān)鍵的是,該觸發(fā)類型被 GitHub 的“反遞歸規(guī)則”豁免,不受阻止“由令牌觸發(fā)的事件再次生成新工作流”的限制,為攻擊者提供了更大的操作空間。
在“巨齒鯊”事件暴露的同時,生態(tài)系統(tǒng)層面也在嘗試應(yīng)對類似威脅。 NPM 方面日前宣布,已經(jīng)使所有繞過雙因素認(rèn)證且具寫入權(quán)限的細(xì)粒度訪問令牌全部失效,以防范類似“Mini Shai?Hulud”一類的供應(yīng)鏈攻擊。 安全公司 Ox Security 認(rèn)為,該舉措有助于降低賬號被劫持的風(fēng)險,但并未真正消除根本隱患。
Ox Security 警告稱,只要平臺仍然允許任意代碼在缺乏嚴(yán)格審查的前提下上傳和分發(fā),通過被攻陷倉庫傳播的惡意代碼就會持續(xù)出現(xiàn)。 該公司指出,供應(yīng)鏈攻擊正進(jìn)入一個全新時代,TeamPCP 早前對 GitHub 的攻陷不過是開端,未來針對開發(fā)者群體的攻擊浪潮將如“海嘯”般接踵而至。
在本次事件之外,近期圍繞供應(yīng)鏈安全的其他案例也不斷出現(xiàn),包括利用 TanStack 攻擊竊取 Grafana 代碼和數(shù)據(jù)的事件,以及多起針對 NPM 包的大規(guī)模投毒行動。 這些連續(xù)出現(xiàn)的事件表明,軟件供應(yīng)鏈的脆弱性和可見性不足依然是整個行業(yè)面臨的突出問題。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.