關閉選單
PhantomRaven 攻擊導致 npm 被大量竊取憑證的軟體包淹沒

一個名為「PhantomRaven」的活躍攻擊活動始於 8 月,部署了 126 個 npm 包,下載量超過 86,000 次,這些套件會竊取身分驗證令牌、CI/CD 金鑰和 GitHub 憑證。Node 套件管理器 (NPM) 是 Node.js 的預設套件管理器,JavaScript 開發人員使用它來共用和安裝以分散式套件形式提供的可重複使用程式碼。研究人員表示,一些惡意軟體包會冒充 GitLab 或 Apache 工具。

這場針對軟體供應鏈的攻擊活動,暴露出JavaScript生態系統在面對新型威脅時的脆弱性,特別是結合了人工智能(AI)的欺騙手法。惡意行為者正積極尋找規避傳統靜態分析工具的方法,並利用開發者社群對AI助手的信任。

PhantomRaven 被Koi Security的研究人員發現,它包含模仿合法專案的軟體包,其中許多是 AI 產生的幻覺建議(「網域搶註」)的結果。當開發者要求 LLM 為專案推薦軟體包時,人工智慧助理會推薦一些看似合法但實際上並不存在的名稱,這就是所謂的「搶注軟體包」現象。這種被稱為「Slopsquatting」的技術,是傳統的「Typosquatting」(拼寫錯誤搶註)的升級版,它利用了大型語言模型(LLM)在生成程式碼建議時,有時會「幻覺」出不存在但命名合理的套件名稱的特性。開發者在未經仔細驗證的情況下,誤以為這些套件存在並嘗試安裝,從而落入攻擊陷阱。

PhantomRaven 活動中使用的軟體包利用了遠端動態依賴項 (RDD) 系統,它們聲明沒有依賴項,但在安裝過程中會自動從外部 URL 取得有效載荷。

這種「遠端動態依賴項」機制是 PhantomRaven 能夠長期躲避偵測的關鍵。由於這些惡意套件的原始程式碼中沒有包含任何明顯的惡意程式碼,傳統的靜態分析工具難以識別其危險性。

此機制會在執行「npm install」時自動取得並執行軟體包,無需使用者互動。這種「側載」有效載荷會對受感染的設備進行分析,以確定目標的價值,並蒐索受害者的環境變數以查找電子郵件地址。一旦執行,惡意軟體會對受感染的環境進行偵查,以評估目標的價值,並鎖定開發環境中極為敏感的資訊。

最令人擔憂的是,該惡意軟體會收集 NPM、GitHub Actions、GitLab、Jenkins 和 CircleCI 的令牌,這些令牌可能被用來向其他項目引入惡意更改,並有可能發起供應鏈攻擊。竊取的範圍涵蓋了整個持續整合/持續交付(CI/CD)管道的關鍵憑證,這使攻擊者不僅能竊取當前受害者的資料,還能將惡意程式碼注入到受害者維護的其他軟體專案中,從而發動大規模的「下游」供應鏈攻擊,將威脅擴散到數千個終端用戶和組織。

面對這種結合了AI欺騙和高隱蔽性技術的威脅,軟體開發人員必須大幅提高警覺性並實施更嚴格的安全協議。軟體開發人員應確保使用信譽良好的供應商發布的合法軟體包。他們應避免向軟體開發經理 (LLM) 諮詢軟體包建議,並仔細檢查搜尋結果,以區分真實專案和網域搶注專案。開發團隊在將任何新的套件納入專案依賴項之前,必須進行多因素驗證,包括檢查套件的發布者信譽、下載量、發布歷史以及其GitHub/GitLab上的實際專案活動。此外,對於任何聲明零依賴項但卻在安裝時觸發外部網路請求的套件,都應視為極高風險,並實施嚴格的網路行為監控。透過這些措施,開發社群才能有效抵禦 PhantomRaven 這類複雜且不斷演進的供應鏈威脅,確保軟體生態系統的整體安全與完整性。


資料來源:https://www.bleepingcomputer.com/news/security/phantomraven-attack-floods-npm-with-credential-stealing-packages/
 
分析了活躍的「PhantomRaven」供應鏈攻擊活動,該活動部署了超過百個惡意 npm 套件,利用 AI 大型語言模型(LLM)的「幻覺建議」(Slopsquatting)來欺騙開發者安裝虛假套件。