
攻擊者將惡意程式碼藏在rand-user-agent套件,透過橫向捲軸刻意隱藏在程式碼頁面底部,試圖避開檢查
資安廠商Aikido研究人員發現開源JavaScript函式庫rand-user-agent被植入遠端存取木馬(Remote Access Trojan,RAT),攻擊者竊用發布權限,針對開發者常用的NPM套件進行供應鏈攻擊。rand-user-agent套件雖非熱門套件,但每周下載量仍達4萬5千次,推估已有部分用戶系統遭入侵。
受影響的rand-user-agent版本包含1.0.110、2.0.83與2.0.84,均非由原開發團隊透過GitHub推送,疑似有第三方在原作者未維護套件期間竊用發布權限,將惡意版本上架至NPM。
惡意程式碼在該套件內部以混淆工程隱藏,使用極長的字串與加密邏輯繞過靜態分析。攻擊者植入的後門程式可與遠端指令伺服器建立連線,並具備上傳本機檔案、切換工作目錄以及執行任意系統指令等能力。初始惡意程式會檢查系統中是否存在axios與socket.io-client套件,若無則自動於使用者主目錄下的隱藏路徑.node_modules,安裝所需模組以方便後續運作,並避免被開發者注意。
RAT還會主動向攻擊者回報主機名稱與登入帳號資訊,並建立唯一識別碼作為後續控制辨識依據。一旦連線建立,遠端伺服器即可發送命令,例如上傳目錄中所有檔案、終止作業、切換路徑,甚至透過Node.js核心模組child_process執行任意系統指令。
研究人員在這個案例發現一個精巧的手法,是透過修改PATH環境變數優先順序,在Windows系統中加入虛假的Python安裝路徑,劫持原本預期由合法Python執行的操作流程,進一步提高攻擊成功率。由於該路徑設於%LOCALAPPDATA%,難以被用戶即時察覺。
從GitHub紀錄來看,rand-user-agent專案自7個月前版本2.0.82後便未再更新,但NPM註冊中心卻出現新的版本上架紀錄,這代表攻擊者可能已取得NPM帳號憑證,並藉此發布含惡意載荷的新版本。
對於企業或個人開發者而言,該事件凸顯供應鏈風險管理的重要性,尤其針對未持續維護又未設置多因素認證的開源專案,其NPM帳號安全性也應被視為風險控管的一環。此外,建議有使用該套件的開發者,立即檢查安裝記錄,並確認系統是否有和C2伺服器進行異常通訊。
熱門新聞
2025-06-09
2025-06-09
2025-06-10
2025-06-09
2025-06-09
2025-06-09