又一起npm供應鏈攻擊正在悄然蔓延,病毒通過受感染的軟體包竊取密鑰和敏感數據,波及眾多開發者環境。安全研究人員發現,此次攻擊與上個月被歸因於TeamPCP的開源感染事件存在大量重疊。
應用安全廠商Socket和StepSecurity披露,一種具有自我傳播能力的CanisterWorm類惡意軟體已入侵多個與Namastex Labs(一家智能體AI公司)相關的npm軟體包。此次攻擊明顯針對特定的開發者工作流程,而非普通消費級npm用戶。目前已確認被感染的軟體包仍在持續被安全團隊識別和追蹤,整體攻擊規模仍在調查之中。
根據StepSecurity的記錄,受感染的pgserve版本於4月21日UTC時間22:14首次發布,隨後當天又有兩個惡意版本相繼上線。
Socket指出,此次蠕蟲攻擊事件與TeamPCP上個月藉助Trivy供應鏈漏洞發動的早期CanisterWorm攻擊存在多處相似之處。那批攻擊之所以被命名為CanisterWorm,是因為攻擊者藉助ICP容器(canister)投遞額外的惡意載荷並竊取數據。
儘管此次Namastex相關軟體包中使用的容器與Socket此前記錄的TeamPCP CanisterWorm攻擊中的容器並非同一個,但Socket研究團隊指出,二者在攻擊手法、作戰風格和代碼譜系上存在"高度重疊",不過目前尚未將本次npm軟體包感染事件正式歸因於TeamPCP。
Socket在報告中寫道:"在此次新發現的npm事件中,惡意軟體採用了相同的核心攻擊手段:安裝時執行、從開發者環境竊取憑證、向外部主機滲漏數據、基於容器的基礎設施,以及旨在感染更多軟體包的自我傳播邏輯。此外,惡意載荷中還明確引用了TeamPCP/LiteLLM方法,重疊程度已十分顯著。"
具體而言,該載荷引用了一種"TeamPCP/LiteLLM方法",用於.pth文件注入。
該惡意軟體會收集Token、憑證、API密鑰、SSH密鑰,以及雲服務、CI/CD系統、鏡像倉庫、Kubernetes和Docker配置、大語言模型平台等相關的各類敏感資訊,隨後通過一個普通的Webhook和一個ICP容器端點(硬編碼容器ID為cjn37-uyaaa-aaaac-qgnva-cai)將竊取的數據外傳。
此外,該惡意軟體還會嘗試竊取MetaMask和Phantom等瀏覽器錢包擴展數據,以及本地加密貨幣錢包文件,涵蓋Solana、Ethereum、Bitcoin、Exodus和Atomic Wallet等。
更危險的是,該軟體包含一套完整的自我擴散邏輯:提取受害者機器上的npm Token,識別受害者有權發布的軟體包,向其中注入新的惡意載荷,再將這些已被污染的軟體包重新發布出去。一旦在受害者機器上發現PyPI憑證,同樣的自我傳播機制也會被用於上傳惡意Python軟體包。
Socket對此發出警告:"換言之,這絕不僅僅是一個憑證竊取工具,它被設計為能夠將一個被攻陷的開發者環境,變成進一步感染更多軟體包的跳板。"
Q&A
Q1:CanisterWorm攻擊是什麼?它是如何傳播的?
A:CanisterWorm是一種具有自我傳播能力的npm供應鏈惡意軟體。攻擊者將惡意代碼注入npm軟體包,在開發者安裝軟體包時自動執行。惡意軟體會提取開發者機器上的npm Token,找出受害者有權發布的軟體包,再將惡意載荷注入這些包並重新發布,從而不斷擴大感染範圍。如發現PyPI憑證,還會進一步感染Python生態。
Q2:CanisterWorm會竊取哪些數據?
A:該惡意軟體會收集Token、憑證、API密鑰、SSH密鑰,以及雲服務、CI/CD系統、鏡像倉庫、Kubernetes和Docker配置、大語言模型平台等相關敏感資訊。同時還會竊取MetaMask、Phantom等瀏覽器錢包擴展數據,以及Solana、Ethereum、Bitcoin、Exodus、Atomic Wallet等本地加密貨幣錢包文件。
Q3:此次Namastex Labs相關npm攻擊和TeamPCP是什麼關係?
A:Socket研究團隊發現兩起攻擊在手法、風格和代碼譜系上存在"高度重疊",惡意載荷中甚至明確引用了TeamPCP/LiteLLM方法。但由於所用的ICP容器ID並不相同,目前安全團隊尚未將本次攻擊正式歸因於TeamPCP,調查仍在進行中。






