重點摘要
- Axios 是一個使用廣泛的 JavaScript HTTP 用戶端,其 npm 每週下載次數超過 1 億。然而它最近卻遭到駭客入侵,駭客挾持了主要維護者的 npm 帳號並發布了兩個惡意版本 (1.14.1 和 0.30.4) 來部署跨平台遠端存取木馬程式 (RAT)。
- 攻擊中使用了一個幽靈相依元件:plain-crypto-js@4.2.1,它會執行一個安裝後掛鉤 (postinstall hook) 在 macOS、Windows 和 Linux 植入常駐惡意程式,隨後更將其檔案更換成乾淨的誘餌檔案來湮滅證據。
- 駭客避開了 GitHub Actions 的 OIDC Trusted Publisher (信任的發布者) 安全機制,利用偷來的 npm 權杖 (token) 手動發布已下毒的版本,因此不會在官方 GitHub 儲存庫留下任何痕跡。
- 幾分鐘內,自動化 npm 資安掃描工具就發現了惡意相依元件,隨後 npm 系統管理員也迅速將被駭客篡改的套件移除。
- 鑑識分析顯示,駭客使用了精密的加密編碼、反制鑑識分析技巧,以及對應不同平台的惡意檔案,點出了供應鏈的重大資安漏洞,尤其在相依元件釘選 (dependency pinning) 與 CI/CD 流程保護方面。
Axios 這個 JavaScript 生態系中最炙手可熱的 HTTP 用戶端 (npm 每週下載次數超過 1 億) 在 2026 年 3 月 30 日遭駭客入侵,變成了散播跨平台遠端存取木馬程式 (RAT) 的工具。駭客挾持了該軟體主要維護者的 npm 帳號,發布了兩個被下毒的版本 (1.x 版及老舊的 0.x 版,兩者隔僅 39 分鐘),並在其中注入了一個幽靈相依元件,其唯一目的就是在 macOS、Windows 和 Linux 上植入常駐惡意程式。此惡意程式在執行之後會自我毀滅,將其存在的證據換成一個乾淨的誘餌檔案來誤導調查。
攻擊時間表
此次入侵背後的預先準備大約持續了 18 小時左右,惡意相依元件在 Axios 發行版本釋出之前便預先植入 npm 來避免觸發「全新套件」(brand-new package) 警報:
| 時間戳記 (UTC:世界協調時間) | 活動 |
| 2026 年 3 月 30 日 05:57 UTC | plain-crypto-js@4.2.0 由 nrwise@proton.me 發布 — 這是乾淨的誘餌檔案,用來建立登錄中的歷史記錄。 |
| 2026 年 3 月 30 日 23:59 UTC | plain-crypto-js@4.2.1 發布 — 含有安裝後 (postinstall hook) 掛鉤的惡意檔案:node setup.js。 |
| 2026 年 3 月 31 日 00:05 UTC | 自動化 npm 資安掃描工具將 plain-crypto-js 標記為惡意程式 (六分鐘內偵測到)。 |
| 2026 年 3 月 31 日 00:21 UTC | axios@1.14.1 由遭駭客入侵的 jasonsaayman 帳號發布 (電子郵件:ifstap@proton.me)。 |
| 2026 年 3 月 31 日 01:00 UTC | axios@0.30.4 發布 — 39 分鐘後,對老舊的 0.x 分支下毒。 |
| 2026 年 3 月 31 日 ~03:30 UTC | npm 系統管理員移除了所有遭到入侵的版本並撤銷了權杖。 |
表 1:Axios 供應鏈遭入侵時間表。
截至本文撰稿為止,我們在監測資料中發現了符合這項威脅的活動,其影響遍及多個產業,包括:政府機關、金融、零售、顧問、娛樂、製造、科技、醫療,以及公共事業。
維護者的帳號是如何遭到挾持
駭客入侵了 Axios 專案主要維護者 jasonsaayman 的 npm 帳號,該帳號的電子郵件地址被換成駭客掌控的 ProtonMail 位址:ifstap@proton.me。
每個正常的 Axios 1.x 版本都是經由 GitHub Actions 搭配 npm 的 OIDC Trusted Publisher (信任的發布者) 機制來發布,透過加密方式將發布動作綁定到一個經過驗證的 CI 工作流程。然而惡意的 1.14.1 版是以手動方式發布,並使用偷來的 npm 存取權杖,沒有 OIDC 綁定,也沒有 gitHead。
而且,Axios GitHub 儲存庫內並無對應 1.14.1 版或 0.30.4 版的提交 (commit)、標記 (tag) 或發行 (release) 記錄,這些發行版本只存在 npm 上。
當 Axios 的協作者 DigitalBrainJS 試圖採取應變措施時,駭客使用了偷來的登入憑證 (擁有系統管理員權限) 來解開釘選 (unpin) 並刪除揭露問題。這名協作者公開表示:「沒用的,因為 git 和 npm 儲存庫的存取權限已遭駭客入侵,而他的 git 權限高於我的權限。我只是協作者,不是系統管理員,我無法撤銷他的存取權限,不論我修正了什麼,他都會跟在我後面再『修正』回去。」
關鍵鑑識分析訊號 — OIDC 比較:
// axios@1.14.0 — LEGITIMATE
"_npmUser": {
"name": "GitHub Actions",
"trustedPublisher": { "id": "github", "oidcConfigId": "..." }
}
// axios@1.14.1 — MALICIOUS
"_npmUser": {
"name": "jasonsaayman",
"email": "ifstap@proton.me"
// no trustedPublisher, no gitHead
}
幽靈相依元件:plain-crypto-js@4.2.1
兩個被下毒的 Axios 版本唯一的改變就是增加了一個新的相依元件:plain-crypto-js@^4.2.1。這個套件從未被匯入,而且 Axios 原始程式碼當中也從不需要這個套件,經過 grep 指令掃描所有 86 個檔案已確認它完全沒用到。它只存在於 package.json 當中,用來觸發 npm 的自動化相依性解析,並執行其安裝後掛鉤 (postinstall hook)。
這正是幽靈相依元件攻擊的典型特徵,也就是在 manifest 當中加入一個套件,純粹只是要利用它在安裝期間所產生的副作用。
plain-crypto-js@4.2.1 這個套件在發布後的幾分鐘內就已經被多個自動化掃描工具標記為已知惡意程式 (供應鏈安全評分為 0%)。而遭到入侵的 axios@1.14.1 也被做了類似的標記,隨後更是被 npm 解除發布。
技術面分析:RAT 植入器 (setup.js)
加密編碼架構
所有敏感的字串都經過編碼並以數值方式儲存在 stq[] 這個陣列當中,然後由兩個解碼函式負責在執行時期將它們解開:
- _trans_1(x, r) — XOR 運算:金鑰「OrDeR_7077」是經由 JavaScript 的 Number() 函式來處理,其中,英文字母會產生 NaN,然後位元運算中會變成 0。只有數字 7、0、7、7 能存活,因此實際產生金鑰是[0,0,0,0,0,0,7,0,7,7]。每個字元都會經由以下方式解碼:charCode XOR key[(7*r*r) % 10] XOR 333
- _trans_2(x, r) — 外層:將編碼後的字串反轉,將「_」換成「=」,使用 base64 解碼,然後交給 _trans_1 處理。
完全解碼後的字串
| 索引 | 解碼後的數值 | 用途 |
| stq[0] | child_process | 執行 shell (指令列工具)。 |
| stq[1] | os | 平台偵測。 |
| stq[2] | fs | 檔案系統操作。 |
| stq[3] | hxxp://sfrclak[.]com:8000/ | 幕後操縱 (CC) 伺服器基底網址。 |
| stq[5] | win32 | Windows 識別碼。 |
| stq[6] | darwin | macOS 識別碼。 |
| stq[13] | package.json | 執行後刪除。 |
| stq[14] | package.md | 將乾淨的範本 (stub),會被重新命名為 package.json。 |
原始碼說明:setup.js
以下詳細說明 plain-crypto-js@4.2.1 的整個惡意檔案,每一條重要的程式碼路徑都會說明。
解碼函式
- _trans_1(x, r) 會將「OrDeR_7077」這個金鑰拆成一個個的字元,並透過 Number() 產生對應的數值。非數字的字元會產生 NaN,然後在 XOR 位元運算之後會變成 0。所以最後實際產生的金鑰是 [0,0,0,0,0,0,7,0,7,7]。每個字元都會透過以下方式解碼:charCode XOR key[(7*r*r) % 10] XOR 333。二次方索引 (7r² mod 10) 會打亂金鑰存取模式來干擾頻率分析。
- _trans_2(x, r) 會將編碼後的字串反轉,復原 base64 填充 (將「_」換成「=」),使用 base64 解碼,然後將結果交給 _trans_1 處理。這兩個函式都被包圍在 try/catch {} 區塊當中,因此錯誤會被暗中吸收,不會產生看得見的堆疊追蹤記錄。
進入點:_entry("6202033")
攻擊行動 ID「6202033」會被當成參數傳遞,並附加到 CC 網址內,在分支之前,該函式會解碼六個 base64 分割的預留位置代碼:
| 變數 | 編碼後 | 解碼後 |
| E | atob("TE9DQUw=") + atob("X1BBVEg=") | LOCAL_PATH |
| S | atob("UFM=") + atob("X1BBVEg=") | PS_PATH |
| a | atob("U0NSXw==") + atob("TElOSw==") | SCR_LINK |
| c | atob("UFNfQg==") + atob("SU5BUlk=") | PS_BINARY |
| s | atob("d2hlcmUgcG93ZXJzaGVsbA==") | where powershell |
每個 atob () 呼叫會刻意拆成兩半,以防止分析人員使用 grep 工具找到完整字串。這些代碼是範本變數,植入器會從 stq[] 解碼出對應某平台的 shell 指令範本,然後將這些代碼換成實際的 CC 網址和本機檔案路徑。
這三個核心模組 (fs、os、 child_process) 都是透過動態的 require() 呼叫來載入,該呼叫會在執行時期從 stq[] 解碼出模組名稱。如此就能躲避靜態分析掃描工具,這些工具通常使用 grep 指令來搜尋像 require("child_process") 這樣的字串,所以匯入的函式就不會被自動化程式碼審查看到。
平台分支
植入器會使用一個 for(;;) {...break } 這樣的迴圈形式,這是一個只執行一次的無限迴圈。這是一種刻意混淆的技巧,可避免使用 if/else 這樣的結構,讓自動化程式碼審查很容易看出平台分支結構,這些分支包括:
- macOS (darwin):從 stq[9] 解出 AppleScript 範本,將 SCR_LINK 換成 CC 網址,將 LOCAL_PATH 換成 /tmp/6202033,將範本寫入磁碟,然後透過 stq[10] 的指令執行。
- Windows (win32):執行「where powershell」來尋找該解譯器,然後將它複製到 %PROGRAMDATA%\wt.exe (偽裝成 Windows Terminal),將一個 VBScript 啟動器寫入 %TEMP%\6202033.vbs 並注入 CC 網址與 PowerShell 路徑,然後執行。
- Linux (預設):從 stq[12] 解碼出一個 curl + nohup 指令,將 SCR_LINK 換成 CC 網址,然後直接透過 execSync 執行。
反制鑑識分析 (最後三項作業)
F(n); // execSync — RAT is now running
t.unlink(__filename, (x => {})); // DELETE setup.js
t.unlink("package.json", (x => {})); // DELETE malicious manifest
t.rename("package.md", "package.json", // SWAP clean stub into place
(x => {}));
每個回呼 (callback) 都是 (x => {}) — 錯誤會被暗中吸收。整個 _entry 函式也都被包圍在 try/catch {} 當中,基於相同原因。最後一行:_entry("6202033") 是檔案中唯一未經加密編碼的呼叫,當 npm 的安裝後 (postinstall) 掛鉤呼叫 node setup.js 時,就會立即執行。
平台對應惡意程式
macOS:AppleScript 植入器
幕後操縱 (CC) POST 內文: packages.npm.org/product0
幕後操縱 (CC) 伺服器會傳回一個 macOS 二進位檔案並儲存到 /Library/Caches/com.apple.act.mond,這路徑是用來模擬 Apple 系統快取項目。「com.apple.act.mond」這個名稱跟 Apple 的 reverse-DNS daemon 命名方式一致,有很可能是將「Activity Monitor Daemon」縮寫而來。使 chmod 770 指令讓它能夠執行,然後透過 /bin/zsh 在背景執行。AppleScript 檔案會在執行之後自我刪除。
Windows:VBScript + PowerShell 指令
幕後操縱 (CC) POST 內文:packages.npm.org/product1
四階段攻擊:
- 透過「where powershell」指令找到 PowerShell。
- 將 PowerShell 二進位檔案複製到 %PROGRAMDATA%\wt.exe (偽裝成 Windows Terminal)。
- VBScript 會執行隱藏的 cmd.exe 從 CC 擷取 PowerShell RAT,接著使用 -ExecutionPolicy Bypass -WindowStyle Hidden 作為參數來執行,然後再自我刪除。常駐惡意檔案:%PROGRAMDATA%\wt.exe。
- 被擷取的腳本會完全在記憶體內執行其最終惡意檔案。重新命名的 PowerShell 二進位檔 (wt.exe) 會執行以下指令:
Invoke-WebRequest 會透過 POST 請求將 Windows 平台識別碼傳送至 CC 並在 HTTP 回應的內文中收到的第二階段腳本。內文經過 UTF-8 解碼之後,傳送至 [scriptblock]::Create(),然後以內嵌 (inline) 方式完全在當前 PowerShell 處理程序的記憶體中執行。最後的惡意檔案不會寫入中間檔案。CC 網址會當成 scriptblock 的引數,讓被傳送的程式碼透過回呼 (call back) 方式執行其他工作,而不需將位址寫死。
Linux:Python RAT
幕後操縱 (CC) POST 內文: packages.npm.org/product2
直接透過 execSync 執行:將 Python RAT 下載至 /tmp/ld.py 並透過 nohup 以分離 (detached) 的處理程序執行。POST 內文的前綴「packages.npm.org/」似乎是經過刻意挑選,讓它在快速檢視時看起來好像跟 npm 相關,並且混雜在記錄檔內,即便它並非 npm 的官方登錄網域 (registry.npmjs.org)。
CC 基礎架構分析
透過對 CC 基礎架構的分析,我們可看出駭客伺服器的營運屬性:
| 屬性 | 數值 |
| 網域註冊時間 | 2026 年 3 月 30 日 16:03:46 UTC |
| 註冊者 | Namecheap Inc |
| 名稱伺服器 | dns1.registrar-servers.com, dns2.registrar-servers.com |
| 主機代管服務廠商 | Hostwinds LLC (AS54290) |
| 代管國家 | 美國 |
| DNS SPF 記錄 | v=spf1 include:spf.efwd.registrar-servers.com ~all |
| DNS MX 記錄 | eforward[1-5].registrar-servers.com (Namecheap default email forwarding) |
該網域註冊於 UTC 時間 3 月 30 日 16:03,這是在 plain-crypto-js@4.2.0 誘餌發布之後的 10 個小時 (05:57 UTC),以及 @4.2.1 惡意檔案上線之前的 8 個小時 (23:59 UTC)。如此可確認該基礎架構的部署與攻擊準備階段在同一天。從它使用了 Namecheap 的預設 DNS 和電子郵件轉寄設定,以及在大宗代管業者上註冊新網域來看,這應該是單次使用的拋棄式基礎架構。
我們的威脅情資平台記錄了 10 筆列在 sfrclak[.]com 底下的索引,包括對應各平台的 CC 端點:
| 網址 | 情境 |
| hxxp[://]sfrclak[.]com:8000/6202033 | 主要的 CC 回呼 (攻擊行動 ID 包含在網址中) |
| hxxp[://]sfrclak[.]com:8000/6202033.ps1 | Windows PowerShell 惡意檔案下載 |
| hxxp[://]sfrclak[.]com | 基底網域 |
這些網址的社群信譽評等分數都很低,因此就目前看來,根據網域和 IP 位址 (而非網址命名模式) 來執行來網路層次的攔截,應該是更加可靠的控管手段。
反制鑑識分析:自我破壞程序
在啟動惡意程式之後,setup.js 會執行三個清理步驟:
- 將自己刪除 - fs.unlink(__filename) 會移除 setup.js。
- 刪除 package.json - 使用安裝後掛鉤來移除 manifest。
- 將 package.md 重新命名為 package.json - 使用事前準備好的乾淨範本 (stub) 來加以取代 (v4.2.0,無安裝後掛鉤)。
在感染之後,任何針對 node_modules/plain-crypto-js/package.json 的檢查都會看到一個完全乾淨的 manifest,因為證據已經被原地調包。
偵測訊號:光是 node_modules/plain-crypto-js/ 的存在就足以證明駭客已入侵,因為這個套件並非任何正常 Axios 版本會用到的相依元件。
執行時期確認
我們執行了以下程序來驗證上述的靜態分析:在 GitHub Actions 執行器內安裝 axios@1.14.1,啟用稽核模式下的執行時期安全監控,然後記錄每一個對外連線、產生的處理程序,以及核心層次的檔案寫入動作。
我們記錄到兩個 CC 連線:
- curl at 01:30:51Z - npm 安裝開始後的 1.1 秒。
- nohup at 01:31:27Z - 在一個完全不同的工作流程步驟中。
惡意程式會以一個分離的背景處理程序 (PID 1) 常駐在系統,獨立於 npm 之外。
處理程序樹狀圖:完整攻擊程序
PID 2366 bash (workflow script)
└─ PID 2380 npm install axios@1.14.1
└─ PID 2391 sh -c "node setup.js"
└─ PID 2392 node setup.js
└─ PID 2399 /bin/sh -c "curl ... && nohup python3 ..."
PID 2401 curl -o /tmp/ld.py ... ppid: 2400
PID 2400 nohup python3 /tmp/ld.py ppid: 1 ← ORPHANED TO INIT
攻擊行動外圍:相關套件
- @shadanai/openclaw:一個 OpenClaw AI 閘道的分支,plain-crypto-js 隱藏在廠商路徑上。相同的 setup.js,相同的 CC,相同的惡意檔案。
- @qqbrowser/openclaw-qbot@0.0.130:提供一個遭到篡改的 axios@1.14.1,其 node_modules/ 目錄中已預先注入了 plain-crypto-js。不同的注入管道,同樣的惡意程式。
MITRE ATT&CK 手法、技巧與程序 (TTP)
| 編號 | 技巧 | 說明 |
| T1195.002 | 入侵軟體供應鏈 | 使用遭挾持的 npm 維護者帳號發布被下毒的 Axios 版本,藉此避開 OIDC Trusted Publisher 機制。 |
| T1059.005 | 指令與腳本解譯器:VBScript | 6202033.vbs 啟動器從 %TEMP% 寫入並執行 PowerShell 指令。 |
| T1059.001 | 指令與腳本解譯器:PowerShell | 使用重新命名的 wt.exe 以無檔案方式 [scriptblock]::Create() 執行來自 CC 伺服器 HTTP 回應內文中的惡意檔案。 |
| T1059.006 | 指令與腳本解譯器:Python | 透過 nohup 指令以分離的 (detached) 處理程序 (PID 1) 執行 Linux RAT /tmp/ld.py。 |
| T1027 | 加密編碼的檔案或資訊 | XOR 運算 (OrDeR_7077) + base64 反轉 + 字串陣列旋轉 + 拆開的 atob() 呼叫。 |
| T1036 | 障眼法 | wt.exe 模仿 Windows Terminal、com.apple.act.mond 模仿 Apple daemon、POST 內文前綴 packages.npm.org/ 模仿 npm 登錄流量。 |
| T1070.004 | 清除痕跡:檔案刪除 | setup.js 自我刪除,移除 package.json,將它換成乾淨的 package.md 範本 (stub)。 |
| T1082 | 系統資訊搜尋 | 根據 os.platform() 指紋來決定 macOS/Windows/Linux 執行分支。 |
| T1071.001 | 應用程式層次的通訊協定:網站通訊協定 | 將 HTTP POST 請求發送至 sfrclak[.]com:8000,網址包含了攻擊行動 ID 6202033。 |
| T1620 | 反射式程式碼載入 | 使用 PowerShell [scriptblock]::Create() 在其處理程序內執行來自 CC 的回應內容而不寫入磁碟。 |
矯正
在遭遇像 Axios 入侵這樣的供應鏈攻擊之後,企業有必要迅速執行徹底的矯正。以下步驟可協助企業清除惡意元件、復原至安全的環境,並且強化未來對抗這類資安事故的防禦能力:
- 釘選至安全的版本:npm install axios@1.14.0 (1.x) 或 axios@0.30.3 (0.x)。
- 在 package.json 中加入 overrides/resolutions (複寫/解析) 規則來防止暫時性相依元件解析。
- 移除 plain-crypto-js:rm -rf node_modules/plain-crypto-js && npm install --ignore-scripts
- 如果發現 RAT 惡意檔案:切勿在原地執行清除,請還原至已知的良好狀態。
- 換掉所有的登入憑證:npm 權杖、AWS 金鑰、SSH 金鑰、CI/CD 機密、.env 數值。
- 稽核 CI/CD 流程:任何在暴露期間執行 npm install 的工作流程,請更換掉所有注入的機密。
- 在網路/DNS 層次攔截 CC 流量:將 sfrclak.com 加入攔截名單。
- 在 CI/CD 中將「npm ci --ignore-scripts」設為常態性政策。
給開發人員、登錄操作人員以及資安團隊的啟示
Axios 入侵事件揭露了供應鏈資安的重大漏洞,顯示單一帳號入侵如何影響數百萬使用者。這起攻擊突顯出嚴格的相依元件釘選、CI/CD 安全機制,以及隨時保持警戒的登錄控管有多麼重要。藉由檢視這起行動所揭露的技術與營運缺失,我們就能發掘一些有價值的洞見來協助防範未來的風險:
給開發人員
- 釘選相依元件版本。指定一個範圍 (^1.14.0) 會靜靜地拉取下一個小版本/修補,採用精確釘選與 lockfile 驗證是最基本的防禦。
- 在 CI/CD 中使用「npm ci --ignore-scripts」。安裝後掛鉤是 npm 供應鏈攻擊的主要執行管道。
- 檢查鎖定檔案 (lockfile),而不單只檢查 package.json,因為惡意相依元件是暫時性的,只有在 package-lock.json 當中才看得到。
針對套件登錄操作人員
- 必須常態性使用 OIDC Trusted Publisher。這次的惡意發行版本很容易被偵測為異常,因為它缺乏 OIDC 綁定。
- 帳號盜用偵測應該對高下載量套件的電子郵件變更發出警訊,並且觸發審查暫時停權流程。
- 新發布的套件應該要有冷卻期,即使只有 24 小時也能降低其衝擊半徑。
給資安團隊
- 監控是否有幽靈相依元件,也就是列在 manifest 當中、但原始程式碼卻從未匯入的套件。
- CI/CD 的網路入口監控可偵測靜態分析無法偵測的問題。
- 安裝後證據可能已被摧毀,因此 lockfile 差異比對與網路記錄檔是比較可靠的鑑識來源。
採用 TrendAI Vision One™ 的主動式防護
TrendAI Vision One™ 是一套將資安曝險管理、資安營運以及強大的多層式防護集中在一起的業界領先 AI 驅動企業網路資安平台。
TrendAI Vision One™ Threat Intelligence Hub
TrendAI Vision One™ Threat Intelligence Hub 威脅情報中心提供了有關新興威脅與駭客集團的最新洞見、TrendAI™ Research 的獨家策略性報告,以及 TrendAI Vision One™ 平台的 TrendAI Vision One™ Threat Intelligence Feed 威脅情報來源。
新興威脅:Axios 遭駭客入侵:供應鏈內部攻擊襲擊每週 1 億次下載的套件
Axios 已遭入侵:供應鏈內部攻擊襲擊每週 1 億次下載的套件
追蹤查詢
TrendAI Vision One™ 客戶可以使用 Search 應用程式來尋找或追蹤本文提到的惡意指標,看看是否也出現在自己的環境中。
偵測 npm install 植入器產生的攻擊行動相關暫存檔案
eventSubId:101 AND objectFilePath:(*\Temp\6202033* OR */tmp/6202033*) AND parentFilePath:(*\node.exe OR */node)
偵測連上 Axios 供應鏈攻擊幕後操縱 (CC) 伺服器的對外連線
eventSubId:204 AND dst:("sfrclak.com" OR "142.11.206.73")
除此之外,TrendAI Vision One™ 客戶還可啟用 Threat Insights Hub 權利來取得更多追蹤查詢。
入侵指標 (IoC)
| 指標 | 數值 | 偵測結果 | |
| 網路指標 | |||
| CC 網域 | sfrclak[.]com | 91. CC server | |
| CC 網址 | http[://]sfrclak[.]com:8000/6202033 | 79. Disease Vector | |
| CC 網域 | callnrwise[.]com | 91. CC server | |
| CC IP | 142[.]11[.]206[.]73 | 91. CC server | |
| POST 內文 (macOS) | packages.npm.org/product0 | ||
| POST 內文 (Windows) | packages.npm.org/product1 | ||
| POST 本文 (Linux) | packages.npm.org/product2 | ||
| 惡意 NPM 套件 | |||
| axios@1.14.1 | 2553649f2322049666871cea80a5d0d6adc700ca | Trojan.JS.TPCPSTEAL.A | |
| axios@0.30.4 | d6f3f62fd3b9f5432f5782b62d8cfd5247d5ee71 | ||
| plain-crypto-js@4.2.1 | 07d889e2dadce6f3910dcbc253317d28ca61c766 | Trojan.JS.TPCPSTEAL.A | |
| 檔案雜湊碼 | |||
| setup.js — RAT 植入器 (plain-crypto-js@4.2.1 安裝後惡意檔案) | e10b1fa84f1d6481625f741b69892780140d4e0e7769e7491e5f4d894c2e0e09 | Trojan.JS.AXIOSDROP.THCCABF | |
| 6202033.vbs — Powershell RAT 下載器 | 591a70e8b166265804c1e2add3f5554b38364a8750248a8c5be751c5cd9b1655 | Trojan.VBS.AXIOSDROP.AA | |
| 6202033.ps1 — PowerShell RAT | ed8560c1ac7ceb6983ba995124d5917dc1a00288912387a6389296637d5f815c | Backdoor.PS1.AXIOSRAT.THCCABF | |
| 6202033.ps1 — PowerShell RAT | 617b67a8e1210e4fc87c92d1d1da45a2f311c08d26e89b12307cf583c900d101 | Trojan.PS1.AXIOSDROP.THCCABF | |
| system.bat — Windows 無檔案式載入器 | f7d335205b8d7b20208fb3ef93ee6dc817905dc3ae0c10a0b164f4e7d07121cd | Trojan.PS1.AXIOSDROP.THCCABG | |
| com.apple.act.mond | 92ff08773995ebc8d55ec4b8e1a225d0d1e51efa4ef88b8849d0071230c9645a | Backdoor.MacOS.NUKESPED.MANP | |
| ld.py — Linux Python RAT | fcb81618bb15edfdedfb638b4c08a2af9cac9ecfa551af135a8402bf980375cf | Backdoor.Python.AXIOSRAT.THCCABF | |
感謝 Ian Kenefick 提供寶貴資訊。