資安公司Phylum研究人員發現,NPM(Node Package Manager)平臺目前正面臨嚴重的垃圾套件氾濫問題,這些套件主要與一個名為Tea協定的去中心化專案有關,垃圾套件目的是操縱Tea協定來誇大開發者的貢獻,以賺取加密貨幣獎勵。

從今年2月開始,NPM上發布的套件數量明顯增加,在4月8日達到高峰,一天甚至會有超過4.8萬個套件上傳。其中許多套件是以自動化工具生成,內容毫無實質價值,僅是為了利用Tea協定的獎勵系統賺取獎勵。這些垃圾套件的特徵,通常包含無意義的套件名稱,以及虛假的相依套件清單,並且有一個名為tea.yaml的檔案,來標示專案所有者。

這些垃圾套件增加的速度飛快,在2024年第二季,已經約有50萬個垃圾套件被上傳到NPM,占總套件發布量的21.25%到25.5%,如果僅計算新套件,垃圾套件的占比甚至高達68.66%到74.67%。

研究人員指出,雖然目前尚未發現這些垃圾套件包含或是執行狹義的惡意行為,但是大量上傳垃圾套件本身就是一種惡意,且可能存在一些潛在的安全風險。由於大多數垃圾套件具有無意義或是隨機名稱,因此一般開發者不太可能誤裝這些套件,但是其中像是為web3-cover的部分套件命名具有特定意思,便可能使開發者意外引入,進一步增加風險。

而且這些垃圾套件可能會對基於NPM資料訓練的模型產生影響,導致模型輸出錯誤,造成「垃圾進垃圾出」的現象。大規模的垃圾套件也阻礙開源套件平臺,對套件進行安全性評估的能力,雖然開發者可能不會主動安裝這些套件,但是複雜的相依項目鏈,可能導致開發者無意中引入這些套件,為實際惡意行為提供掩護。

NPM已經開始移除部分垃圾套件,但是移除的速度還是跟不上垃圾套件發布的速度,而Tea協定專案已經意識到這個問題,正在調整機制,避免這個機制被濫用。這個問題並非NPM獨有,包括Rubygems也出現類似的垃圾套件問題。

熱門新聞

Advertisement