
熱門HTTP工具庫Axios遭供應鏈攻擊 OpenClaw有危險?
據報導,互聯網上廣泛使用的HTTP客戶端工具Axios,日前遭受供應鏈攻擊。兩個新發布的版本被發現植入惡意依賴組件,該組件能夠散佈針對Windows、macOS及Linux系統的遠端存取木馬程式(RAT)。據了解,攻擊者透過入侵Axios主要維護者的npm帳戶凭证,繞過項目的GitHub Actions CI/CD管道發布了帶有惡意程式的版本。
事件概況
代號分別為1.14.1及0.30.4的兩個Axios版本,被發現注入了名為「plain-crypto-js」4.2.1版本的偽造依賴組件。安全研究人員Ashish Kurmi指出,該惡意組件的唯一用途是執行一個postinstall指令碼,功能如同跨平台遠端存取木馬投放工具,瞄準macOS、Windows及Linux三大作業系統。該木馬會連接至一個活躍的指令控制(C2)伺服器,並下載針對特定平台的第二階段酬載。執行完成後,惡意軟件會自我刪除,並以乾淨版本替換自身的package.json,以規避數碼鑑識偵測。
受影響的版本已從npm下架,但用戶若已安裝1.14.1或0.30.4版本,必須立即輪換所有密鑰及凭证,並降級至安全版本(1.14.0或0.30.3)。據悉,Axios每週下載量超過8,300萬次,是JavaScript生態系統中使用最廣泛的HTTP客戶端之一,廣泛應用於前端框架、後端服務及企業應用程式。
攻擊時間線
安全公司StepSecurity的調查顯示,今次攻擊並非機會主義行為,而是經過周密策劃。攻擊者提前18小時部署惡意依賴組件,並為三個作業系統預先構建了獨立酬載。兩個受影響的版本分支在39分鐘內相繼被植入惡意程式。
攻擊時間線如下:
- 2026年3月30日 05:57 UTC:「plain-crypto-js@4.2.0」乾淨版本發布
- 2026年3月30日 23:59 UTC:帶有酬載的「plain-crypto-js@4.2.1」新版本發布
- 2026年3月31日 00:21 UTC:使用被入侵的「jasonsaayman」帳戶發布注入「plain-crypto-js@4.2.1」的「axios@1.14.1」
- 2026年3月31日 01:00 UTC:使用同一帳戶發布注入相同惡意依賴的「axios@0.30.4」
據了解,攻擊者入侵了「jasonsaayman」的npm帳戶後,將其註冊電郵更改為攻擊者控制的Proton Mail地址(ifstap@proton.me)。「plain-crypto-js」則由名為「nrwise」的npm用戶發布,電郵地址為nrwise@proton.me。安全研究人員相信,攻擊者獲得了該帳戶的長期有效經典npm訪問令牌,從而直接接管帳戶並發布含有惡意程式的Axios版本。
木馬程式運作機制
嵌入式惡意程式透過混淆的Node.js投放工具(setup.js)啟動,會根據作業系統分支至三種攻擊路徑:
在macOS系統上,該惡意程式執行AppleScript酬載,從外部伺服器(sfrclak.com:8000)下載木馬二進制檔案,儲存至「/Library/Caches/com.apple.act.mond」,更改權限使其可執行,並透過/bin/zsh在背景執行。AppleScript檔案執行後會被刪除以掩蓋痕跡。
在Windows系統上,該程式定位PowerShell二進制路徑,將其複製至「%PROGRAMDATA%wt.exe」(偽裝成Windows Terminal應用程式),並寫入Visual Basic Script(VBScript)至臨時目錄後執行。VBScript連接相同伺服器以下載PowerShell RAT指令碼並執行,下載的檔案同樣會被刪除。
在其他平台(如Linux)上,投放工具透過Node.js的execSync執行Shell命令,從相同伺服器下載Python RAT指令碼,儲存至「/tmp/ld.py」,並使用nohup命令在背景執行。
安全公司SafeDep分析Linux RAT後發現,該木馬支援與macOS版本相同的命令。缺少持久性機制意味著惡意軟件不會在系統重啟後存活,這表明攻擊目標是快速提取數據,或利用RAT執行二進制檔案和Shell命令的能力來部署持久性。
規避偵測手法
值得注意的是,該攻擊的一個顯著特點是「節制性」。攻擊者並未修改任何Axios源代碼檔案,令傳統的diff式代碼審查難以發現問題。惡意行為完全存在於遞移依賴組件中,由npm的postinstall生命週期自動觸發。
主酬載啟動後,Node.js惡意程式還會執行三項數碼鑑識清理步驟:從已安裝的套件目錄中移除postinstall指令碼、刪除引用啟動投放工具的postinstall鉤子的package.json,以及將package.md重新命名為package.json。
「plain-crypto-js」中的package.md檔案是一份不含postinstall鉤子的乾淨package.json清單。透過切換套件清單,攻擊者能夠在事後檢查套件時避免引起任何懷疑。
其他受影響套件
安全公司Socket的分析發現,有兩個額外套件透過Vendored依賴方式散佈相同惡意程式:
- @shadanai/openclaw(版本2026.3.28-2、2026.3.28-3、2026.3.31-1及2026.3.31-2)
- @qqbrowser/openclaw-qbot(版本0.0.130)
在「@shadanai/openclaw」的情況中,該套件直接包含了惡意的「plain-crypto-js」酬載。而「@qqbrowser/openclaw-qbot@0.0.130」則在其node_modules資料夾中附帶了被篡改的「axios@1.14.1」,並注入了「plain-crypto-js」作為依賴。
資料來源: https://thehackernews.com/2026/03/axios-supply-chain-attack-pushes-cross.html
