NPM套件Axios遭遇供應鏈攻擊,駭客鎖定三大平臺散布RAT木馬
資安公司SafeDep、Socket、StepSecurity,以及Elastic旗下的資安實驗室提出警告,他們於3月30日發現Axios的NPM套件遭到入侵,駭客挾持其中一名知名維護者jasonsaayman的NPM憑證,在繞過GitHub Actions流程的情況下,發布有問題的1.14.1與0.30.4版,若是開發人員不慎下載及安裝,電腦就有可能被植入RAT木馬,無論Windows、macOS或Linux的用戶,都是攻擊者的目標。由於此套件每週下載量達到1億次,這樣的事故影響範圍將會非常大。對此,若是不慎安裝上述版本Axios的用戶,必須立刻更換相關密鑰與憑證,並降級為1.14.0或0.30.3版因應。
Axios是JavaScript生態系統最普及的HTTP用戶端程式庫,運用範圍涵蓋前端框架、後端服務,以及企業應用程式。而這起大規模供應鏈攻擊事故,很容易讓人想到上週於5大生態圈發動供應鏈攻擊的駭客團體TeamPCP,不過,最早警告此事的Socket表示,目前尚無證據指明是該組織所為。
Socket指出,他們看到受影響的Axios套件版本,並未出現在其GitHub儲存庫的標籤。由於Axios開發工程團隊通常會同時發布GitHub標籤與NPM套件,而他們在察覺攻擊活動時,Axios的GitHub儲存庫最新的標籤是v1.14.0,這代表有問題的NPM套件,顯然並非透過標準的發布流程上架。
再者,他們也提及事故發生的初期,Axios的維護人員一度無法掌控專案,其中一名維護者在GitHub指出,攻擊者的權限超過他們自己的權限,導致其他維護人員無法註銷遭駭客挾持的帳號。
上述資安公司與研究團隊提及,攻擊者並非直接在有問題的Axios版本當中加入惡意程式碼,而是注入另一個相依套件,這是未曾在Axios原始碼出現過的套件,其功能是執行特定的指令碼,並根據開發環境搭載的作業系統類型,投放對應的第二階段有效酬載。值得留意的是,惡意軟體在成功執行後會自我銷燬,並將package.json替換成沒有問題的版本,藉此迴避資安人員的鑑識。
針對這起事故發生的過程,攻擊者先在3月30日發布看似正常的相依套件plain-crypto-js,藉此騙過NPM的審查流程,之後再上架含有惡意程式的新版本,並於短時間內同步污染Axios兩個主要版本分支1.x與0.x。Elastic指出,駭客對三大作業系統的有效酬載,都是同一個RAT木馬的實作,其C2通訊協定、指令集、Beacon的通訊頻率,以及偽造的使用者代理字串(User Agent)皆完全相同,差別是Windows、macOS、Linux版惡意程式,攻擊者分別以PowerShell、C++,以及Python打造。
值得留意的是,並非只有直接使用Axios的開發者會受影響,若是自行建置OpenClaw的使用者,也可能引入有問題的Axios,導致電腦被植入惡意程式。
中國起家的區塊鏈資安公司慢霧(SlowMist)創辦人余弦於社群網站X提出警告,3.28版OpenClaw可能會引入惡意版本的Axios,要用戶儘速檢查,若是使用npm install指令安裝OpenClaw的使用者,就有可能受到影響,假如使用者自行從原始碼編譯,由於其中搭配的Axios版本為1.13.5/1.13.6,不受這起事故波及。他也提到,可能還有其他OpenClaw技能套件(Skill)也依賴Axios而曝險。
後續余弦進一步公布技能套件受影響的情形:在1,246個套件當中,有2,672個引入Axios的相依路徑,而這還不包含其他的第三方套件。余弦也提及,OpenClaw開發工程團隊已經強制鎖定Axios相依模組的版本,來因應這起供應鏈攻擊事故。
axios Compromised: npm Supply Chain Attack via Dependency Injection
axios 1.14.1 was published to npm via a compromised maintainer account, injecting a trojanized dependency that executes a multi-platform reverse shell on install. No source code changes in axios itself, just a new entry in package.json.
safedep.io
Comments (0)