vue-cli 的依賴項 node-ipc 包正在以反戰為名進行供應鏈投毒,該包在 npm 每週有上百萬下載量。
知名技術網站 V2ex 的一條爆出了這個問題,使用者 在使用 npm 構建前端專案時,啟動專案後桌面自動建立了一個《 WITH-LOVE-FROM-AMERICA.txt 》檔案,點開之後發現內容是空的。
simbaCheng 被嚇一跳,以為自己電腦中毒了。在網友的熱心幫助下,發現該 txt 檔案是 vue-cli 的依賴項 的作者 RIAEvangelist 在投毒,該作者是個反戰人士,還特意新建了一個 倉庫來宣傳他的反戰理念。
然而網友繼續深扒後,發現該作者還有更惡毒的投毒行為。如果說往使用者桌面寫 txt 檔案屬於激進的反戰行為,那麼知乎使用者 所介紹的 的舉動則是徹底的惡意攻擊:
攻擊原始碼在倉庫中。原始碼經過壓縮,簡單地將一些關鍵字串進行了 base64 編碼。其行為是利用第三方服務探測使用者 IP,針對俄羅斯和白俄羅斯 IP,會嘗試覆蓋當前目錄、父目錄和根目錄的所有檔案,把所有內容替換成 ❤。
但在提交了上面惡意攻擊程式碼後,也許是意識到自己行為的嚴重性,該作者在半天后把該惡意攻擊改成了「較和平」的「反戰」 TXT 文字,正如本文開頭所描述的一般。但無論如何這仍然是一種惡劣的攻擊行為,嚴重破壞了開源生態中的信任,它最壞的後果是帶來強程式碼稽核,各大程式碼託管平臺會對程式碼註釋、變數常數命名進行稽核。
注意:該作者清晰地知道自己在做什麼,以及這些程式碼意味著什麼,他在 issue 裡明確指出了下游可以消除影響的變通方法。在該 vue-cli 中,RIAEvangelist 更是大方承認自己的惡意程式碼是針對俄羅斯和白俄羅斯使用者