
在新一輪Shai-Hulud供應鏈攻擊中,攻擊者在npm倉庫(Node Package Manager)植入了數百款經過惡意篡改的知名軟件包,涉及Zapier、ENS Domains、PostHog、Postman等熱門項目。
這些惡意軟件包被上傳至npm平臺,核心目的是竊取開發者憑證及持續集成/持續部署(CI/CD)密鑰,竊取到的數據會以編碼形式自動上傳至GitHub。截至本文發布時,GitHub上已檢索到27600條與此次攻擊相關的記錄條目。
![]()
在新Shai-Hulud行動中被竊取秘密的GitHub倉庫
Shai-Hulud惡意軟件最早于9月中旬現身npm生態,當時它通過自我傳播型載荷感染了187個軟件包,并利用TruffleHog工具竊取開發者密鑰。其攻擊手法為:自動下載合法軟件包,修改package.json文件以注入惡意腳本,再通過被盜的維護者賬號將篡改后的包重新發布到npm。
專注于開發者安全的平臺Aikido Security的惡意軟件研究員Charlie Eriksen較早發現了這輪新攻擊——起初檢測到105個帶有Shai-Hulud特征的惡意篡改包,此后僅按包名統計,數量已增至492個。隨后該研究員發出預警,指出此次供應鏈攻擊竊取的密鑰已泄露至GitHub。
然而攻擊規模仍在呈指數級擴張,目前惡意包數量已突破2.7萬個。云安全平臺Wiz的研究人員發現,攻擊者共使用了約350個獨立的維護者賬號,并透露“過去幾小時內,每30分鐘就有1000個新倉庫被創建”。
GitHub上出現的這些倉庫,實則表明使用了惡意npm包且環境中存儲有GitHub憑證的開發者設備已遭入侵。
CI/CD安全公司Step Security對新版Shai-Hulud惡意軟件的技術分析顯示,其惡意載荷主要存在于兩個文件中:一個是setup_bun.js,這是一個偽裝成Bun安裝程序的惡意投放器;另一個是bun_environment.js,文件大小達10MB。
Step Security指出,該文件采用“極致的代碼混淆技術”,例如包含數千條記錄的大型十六進制編碼字符串、反分析循環,以及用于提取代碼中所有字符串的混淆函數。
該惡意軟件的攻擊流程分為五個階段,包括竊取密鑰(GitHub與npm令牌、AWS、GCP、Azure等云平臺的憑證),以及一個破壞性步驟——覆蓋受害者的整個主目錄。
為自部署軟件提供防護解決方案的公司Koi Security統計顯示,若計入同一軟件包的所有受感染版本,Shai-Hulud已影響超800個npm包。
研究人員確認,新版Shai-Hulud變體的破壞性步驟僅在滿足四個特定條件時才會觸發:當惡意軟件無法通過GitHub認證、無法在GitHub創建倉庫、無法獲取GitHub令牌,或無法找到npm令牌時,便會刪除用戶的主目錄。
據Wiz透露,惡意代碼會收集開發者及CI/CD密鑰,并將其上傳至“名稱包含Shai-Hulud標識”的GitHub倉庫。該惡意代碼僅在軟件包預安裝階段執行,并會創建以下四個文件:cloud.json、contents.json、environment.json、truffleSecrets.json。竊取的密鑰會被上傳至自動生成的GitHub倉庫,這些倉庫的描述統一為“Shai-Hulud
![]()
GitHub賬戶托管來自沙丘行動的倉庫
此外,攻擊者似乎還獲取了部分GitHub賬號的控制權,目前正利用這些賬號創建包含上述四個文件的倉庫。
盡管GitHub會在攻擊者創建倉庫后立即進行刪除,但攻擊者創建新倉庫的速度極快,難以徹底攔截。
在Aikido Security發現的186個感染新版Shai-Hulud惡意軟件的包中,包含多個來自Zapier、ENS Domains、PostHog和AsyncAPI的軟件包。其中,遭篡改的Zapier包是構建Zapier集成功能的官方工具包,對Zapier開發者至關重要;而ENS Domains相關包則是錢包、去中心化應用(DApps)、交易所及ENS Manager應用廣泛使用的工具庫,主要用于處理.eth域名(如將域名解析為以太坊地址、關聯IPFS內容、驗證域名有效性,以及與官方ENS智能合約交互)。
目前所有遭篡改的包仍可在npm上下載,但在部分情況下,npm平臺會彈出“最新版本未經授權發布”的警告信息,這表明平臺的自動審查機制已檢測到異常。
![]()
npm上的警告信息
研究人員建議開發者:獲取完整的受感染包列表,將所用包降級至安全版本,并立即更換密鑰及CI/CD令牌。
Wiz的研究人員則建議安全團隊:首先識別出受感染的包并替換為合法版本,同時督促企業更換所有與npm、GitHub及云服務商相關的憑證。
Aikido Security還建議開發者,若條件允許,在持續集成過程中禁用npm的postinstall(安裝后)腳本。
值得注意的是,Shai-Hulud此次卷土重來的背景是在npm平臺遭遇多起高影響供應鏈攻擊后。GitHub已推出額外的安全措施以防范此類攻擊,但這些措施目前仍在逐步落地中。
參考及來源:https://www.bleepingcomputer.com/news/security/shai-hulud-malware-infects-500-npm-packages-leaks-secrets-on-github/
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.