在現代前端開發中,npm 封裝包是開發者的核心工具,但這也成了駭客發動供應鏈攻擊的絕佳切入點。近期安全研究機構 Checkmarx 發現了一組名為 ViteVenom 的惡意 npm 套件,這些套件專門針對 Vite 前端構建工具的生態系,其最令人不安的地方在於它利用了區塊鏈技術來構建指令控制伺服器(C2, Command and Control),讓傳統的安全防禦手段幾乎失效。
什麼是供應鏈攻擊與 Typosquatting
對於剛接觸開發的工程師來說,首先要理解的是供應鏈攻擊(Software Supply Chain Attack)。這種攻擊不是直接攻破你的伺服器,而是將惡意代碼植入你信任的第三方套件中。當你執行 npm install 時,就無意中將後門安裝到了本地開發環境。
這次 ViteVenom 採用的手法是 Typosquatting(拼寫錯誤攻擊),也就是註冊一個與知名套件名稱極其相似的名稱。例如,駭客這次使用了 Scoped Package(範圍套件),刻意模仿 @vitejs 的命名空間(如 @vite-ts/vite-ui),讓開發者在快速安裝時容易誤以為這是官方提供的擴充套件,從而降低警覺心。
區塊鏈 C2:無法被封鎖的指令通道
傳統的惡意軟體通常會連接到一個特定的域名或 IP 地址來接收指令(即 C2 伺服器)。安全團隊只要發現該域名,就可以透過 DNS 封鎖或將伺服器下線來切斷攻擊路徑。
然而,ViteVenom 採用了一套極其複雜的四層區塊鏈基礎設施,橫跨 Tron、Aptos 和 Binance Smart Chain (BSC)。其運作邏輯如下:惡意代碼不會在安裝時立即執行,而是在代碼被 import(匯入)時才觸發,這能有效繞過許多僅在安裝階段掃描的端點安全軟體。
具體的加載流程是:首先查詢 Tron 區塊鏈上攻擊者錢包的最新交易紀錄,將交易數據解碼後獲取 BSC 的交易雜湊值(Hash),接著再去 BSC 區塊鏈的輸入欄位中提取加密的有效載荷(Payload),最後使用內建的金鑰解密,下載最終的遠端訪問木馬(RAT, Remote Access Trojan)。
這種做法的實務影響在於,區塊鏈是去中心化且公開的,沒有人能單方面刪除區塊鏈上的交易紀錄。這意味著駭客的指令路徑幾乎無法被摧毀或封鎖,除非整個區塊鏈崩潰。
RAT 的危害與持久化手段
一旦 RAT 成功植入,攻擊者就獲得了對開發者電腦的遠端控制權。這類木馬通常具備以下能力:建立反向 Shell(Reverse Shell,讓攻擊者能從遠端直接操作你的終端機)、竊取環境變數中的 API 金鑰或憑證、外洩本地檔案。
為了確保電腦重啟後依然能控制,該惡意軟體會嘗試將後門注入到 shell 的設定檔中,例如 .bashrc、.zshrc 或 .profile。一旦這些檔案被修改,每次你開啟終端機時,惡意代碼都會自動執行。
開發者的防禦建議
面對這種高度隱匿的攻擊,單靠防毒軟體是不夠的。建議採取以下實務操作:
第一,嚴格審核依賴項。在安裝不熟悉的套件前,檢查其下載量、GitHub 活躍度以及作者身份。對於 @ 符號開頭的範圍套件,務必確認其是否真的屬於官方組織。
第二,定期檢查環境設定檔。檢查 .bashrc 或 .zshrc 等檔案是否有不明的指令或奇怪的 curl/wget 請求。
第三,憑證輪替。如果你發現安裝過可疑套件,請立即將所有儲存在 .env 檔案或系統環境變數中的 API Key、資料庫密碼全部更換,因為這些資訊在 RAT 面前是完全透明的。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。