
軟體供應鏈仍然是複雜攻擊者的主要目標,而最近的事件再次嚴峻地提醒我們其脆弱性。一項重大的供應鏈攻擊影響了多個看似不相關的發行者所發布的眾多套件。這起以自我複製蠕蟲為特徵的事件,暴露了開發人員在使用和信任開源組件方面存在的關鍵漏洞。
發生了什麼事?
這次攻擊始於一個熱門程式碼託管平台上維護者帳戶的洩露。具體來說,一個廣泛使用的函式庫(以鍵值儲存和每月數百萬次下載而聞名)的維護者成為了目標。這次初步的洩露為攻擊者提供了注入惡意程式碼所需的權限。攻擊者將惡意檔案直接推送到受影響儲存庫的 main 分支,並立即發布了新版本。這種方法確保了被污染的版本以有效的來源證明發布到套件註冊中心,看似由自動化管道簽署,從而繞過了某些傳統的完整性檢查。
被識別為自我複製蠕蟲的惡意負載旨在竊取憑證並自主傳播。它利用竊取的套件註冊中心憑證來後門共同擁有的套件,顯著擴大了攻擊範圍。該蠕蟲利用去中心化分類帳機制動態檢索命令與控制(C2)網域,這表明其基礎設施複雜且具有彈性。初步的洩露引入了 IDE 持續性負載,進一步鞏固了攻擊者的存取權限。
受影響的套件中包括每月數百萬次下載的熱門套件。總體影響範圍涵蓋了累積每月下載量龐大的套件。攻擊者利用一個被洩露的身份來引入這些惡意版本,影響了一個重要的生態系統,並擴展到其他維護者和組織。
為何這種模式不斷重演?
重大供應鏈洩露事件(尤其是在套件管理器中)的頻繁發生,根源於幾個系統性挑戰。集中式註冊中心是現代軟體開發的關鍵動脈,但其巨大的實用性也使其成為誘人的目標。套件和依賴項的龐大數量,通常嵌套多層,造成了一個廣闊的攻擊面,難以全面監控。開發人員經常在沒有完全審核程式碼的情況下引入套件,信任社區和套件維護者。
對開源供應鏈的隱式信任既是其最大的優勢,也是其最顯著的漏洞。
此外,個體維護者(通常是志願者)的安全實踐可能差異很大。正如這次事件所見,一個單一的被洩露帳戶可能會產生災難性的下游影響。惡意版本可以輕易地以看似有效的來源證明發布,特別是當利用被洩露的維護者帳戶和自動化的 CI/CD 管道時,這使得檢測變得具有挑戰性。攻擊者利用去中心化分類帳技術來實現動態 C2 基礎設施的能力,也展示了規避技術的演變,使得靜態分析和傳統的黑名單效果降低。
攻擊者的逐步策略
- 初始存取與帳戶洩露: 攻擊始於熱門程式碼託管平台上維護者帳戶的洩露,特別針對負責常用函式庫的個人。這是關鍵的第一步,因為它授予了對原始碼儲存庫和發布機制的直接存取權。
- 惡意程式碼注入: 一旦建立存取權限,攻擊者便將竊取憑證的自我複製蠕蟲注入到目標儲存庫的
main分支中。這次注入包括 IDE 持續性負載,以確保持續的存取權限。 - 發布具有有效來源證明的新版本: 攻擊者隨後立即發布了受感染套件的新版本。透過直接推送到
main分支並利用現有的自動化管道,這些惡意版本以有效的來源證明發布到套件註冊中心,對自動化檢查和開發人員來說看似合法。 - 自我複製與憑證竊取: 注入的蠕蟲旨在竊取套件註冊中心憑證。利用這些被竊取的憑證,它會自動後門被洩露維護者擁有發布權限的所有其他套件,迅速擴大攻擊範圍。
- 動態 C2 基礎設施: 惡意軟體利用去中心化分類帳機制動態檢索其命令與控制(C2)網域。這種技術使得防禦者更難透過靜態 IP 或網域黑名單來阻擋 C2 通訊,因為 C2 基礎設施可以即時變更。
- 廣泛分發: 被感染的套件,其中一些每月下載量達數百萬次,隨後分發給廣大的用戶群。對特定軟體代理執行惡意呼叫的觀察表明了負載的傳播和執行。
防禦者錯過了什麼?
在如此廣泛的洩露之後,分析防禦層可能在哪裡失效至關重要。初步的帳戶洩露突顯了多重身份驗證(MFA)強制執行或網路釣魚防禦方面的潛在弱點。即使有 MFA,複雜的網路釣魚或會話劫持技術也可能繞過這些控制。能夠直接推送到 main 分支並立即發布新版本,表明關鍵套件更新缺乏強大的程式碼審查流程或批准門檻,特別是對於非常受歡迎的函式庫。
此外,自動安全掃描工具可能難以檢測惡意負載,特別是如果它被混淆或設計為僅在特定條件下執行。使用去中心化分類帳的動態 C2 機制是一種先進的技術,傳統的基於網路的檢測可能無法立即標記。大量的依賴項和傳播速度也使許多組織難以即時應對,這突顯了對更快威脅情報共享和自動化響應能力的需要。
實用的防禦清單
組織可以透過實施多層次方法,顯著加強對類似供應鏈攻擊的防禦:
- 強制執行強大的 MFA 和防網路釣魚驗證: 對所有開發人員帳戶,特別是在套件註冊中心擁有發布權限的帳戶,強制使用硬體支援的 MFA(例如 FIDO2 金鑰)。
- 實施程式碼審查和批准工作流程: 建立嚴格的程式碼審查政策,要求對關鍵套件的更改進行多次批准,尤其是在向公共註冊中心發布新版本之前。
- 依賴項掃描和 SBOM 生成: 定期掃描所有依賴項是否存在已知漏洞和惡意程式碼。生成並維護軟體物料清單(SBOM),以了解您的完整依賴關係圖。
- 運行時監控和行為分析: 部署運行時應用程式自我保護(RASP)或類似工具,以監控生產和開發環境中的套件行為,尋找異常活動,例如意外的網路連接或檔案系統修改。
- 供應鏈安全平台: 利用專用的供應鏈安全平台,這些平台可以分析套件完整性,識別可疑的發布模式,並提供有關受感染依賴項的實時警報。
- 註冊中心存取權限的最小權限原則: 對套件註冊中心帳戶實施最小權限原則,確保開發人員只擁有其角色所需的權限。
- 自動化攻擊模擬: 定期運行攻擊性安全測試,模擬供應鏈攻擊,包括憑證竊取和惡意套件注入,以在攻擊者發現之前識別防禦中的漏洞。
現代攻擊性測試如何能夠發現此類事件?
傳統的防禦措施通常對已知的威脅做出反應。然而,現代的攻擊性測試透過模擬真實世界的攻擊技術,主動尋找漏洞。就這次事件而言,一個自主的攻擊性測試平台可以識別出幾個關鍵的弱點。例如,透過模擬一個被洩露的維護者帳戶,它可以嘗試推送惡意程式碼並發布新版本,揭示現有的自動化門禁、程式碼審查或來源證明檢查是否能夠阻止惡意發布。
此外,此類平台可以模擬竊取憑證蠕蟲的行為,嘗試竊取虛擬憑證或傳播到其他模擬套件。這將測試運行時監控、網路出口控制和行為檢測系統的有效性。該平台可以為這些攻擊向量生成可執行的概念驗證(PoC),展示其可利用性和影響,使安全團隊能夠在漏洞在野外被利用之前修補它們。我們的平台專注於自主攻擊性測試與可執行的 PoC,旨在持續挑戰組織對複雜威脅的安全態勢,為潛在的供應鏈弱點提供可操作的見解。
接下來要注意什麼?
這次事件不太可能是孤立的。利用供應鏈信任的更複雜、自我複製惡意軟體的趨勢正在增長。防禦者必須預測幾個不斷演變的威脅模式。預計將繼續關注維護者帳戶洩露,可能透過更先進的社交工程或針對開發人員工具的零日漏洞。動態 C2 基礎設施的使用,可能超越當前的去中心化技術,轉向其他臨時服務,也可能會增加。
此外,攻擊者將繼續針對熱門套件和生態系統,而不僅僅是一個,包括其他著名的註冊中心。開發和操作環境之間的界限日益模糊,IDE 和 CI/CD 管道等工具成為攻擊面的組成部分,這意味著保護整個開發工作流程至關重要。組織必須優先考慮持續監控、主動威脅搜捕,並將攻擊性安全實踐整合到其安全開發生命週期中,以領先於這些快速演變的供應鏈威脅。
相關閱讀

修補程式窗口崩塌:駕馭流行框架中的關鍵RCE漏洞
廣泛採用的框架中存在的關鍵遠端程式碼執行 (RCE) 漏洞,持續構成生存威脅。本文深入分析近期事件模式,剖析對企業安全的影響,並概述在修補程式窗口不斷縮小、漏洞利用加速的環境下,如何採取主動防禦策略。

無聲的供應鏈威脅:解析第三方漏洞的流行病
第三方軟件漏洞曾是小眾關注的問題,如今已演變成一種持續不斷、影響深遠的威脅。本文深入探討近期真實世界的事件,剖析攻擊者的手法,並為正努力應對這一普遍挑戰的首席信息安全官(CISO)和安全工程師提供可操作的情報。

雲端儲存桶錯誤配置的危險持續性:個人身份資訊洩露的深入探討
儘管多年來不斷發出警告,雲端儲存錯誤配置仍然是敏感客戶個人身份資訊 (PII) 的關鍵威脅媒介。本文剖析了其模式、攻擊者方法和防禦漏洞,為資訊安全長 (CISO) 和安全工程師提供了可操作的情報。
