周下載 60 萬的 npm 包在新版本中偷偷加入反戰(zhàn)代碼
繼百萬周下載量的 npm 包“ node-ipc ”以反戰(zhàn)為名進(jìn)行供應(yīng)鏈投毒后,又一位開發(fā)者在代碼中加入反戰(zhàn)元素。3 月 17 日,俄羅斯開發(fā)人員 Viktor Mukhachev (aka Yaffle) 在其流行的 npm 庫“event-source- polyfill”中添加了一段有趣的代碼。這段在 1.0.26 版本中引入的代碼意味著:使用該庫構(gòu)建的應(yīng)用程序,將在啟動(dòng) 15 秒后向俄羅斯用戶顯示反戰(zhàn)消息。
Polyfill 包可以在不支持的 Web 瀏覽器上實(shí)現(xiàn)現(xiàn)有的 JavaScript 功能。因此,本文主人公: event-source- polyfill 包可將 Firefox 的“ EventSource ”API 擴(kuò)展到其他 Web 瀏覽器中。目前,這個(gè)包被超過 135,000 個(gè) GitHub 存儲(chǔ)庫使用,且每周在 npm 上下載超過 600,000 次。
與 “ node-ipc ” 清理俄羅斯用戶硬盤數(shù)據(jù)的激進(jìn)作風(fēng)不同,該“event-source- polyfill”應(yīng)用程序并不會(huì)刪除任何數(shù)據(jù)或破壞應(yīng)用程序,而是以文本框通知的形式敦促俄羅斯結(jié)束其對(duì)烏克蘭的“無理入侵”,并勸誡俄羅斯平民提防“片面”新聞,尋求可靠的新聞來源,比如 BBC 的 Tor 網(wǎng)站(...)。在文本框通知結(jié)束后,最后一行代碼還會(huì)將用戶引導(dǎo)至 Change.org 反戰(zhàn)請(qǐng)?jiān)笗?。
而有趣的是,在上次的 “ node-ipc ”包投毒事件中,網(wǎng)友一邊倒地譴責(zé) node-ipc 作者,說這是對(duì)整個(gè)開源社區(qū)的信譽(yù)的“巨大損害”。相比之下,這次 event-source- polyfill 包的新版本惡意代碼雖然也引發(fā)了劇烈討論,但有不少人支持作者,認(rèn)為這是“正義代碼”,雙方在 GitHub 上進(jìn)一步展開了一場(chǎng)辯論 。
“對(duì)一些人來說,這是惡意軟件,而對(duì)俄羅斯的一些人來說,它可能是有價(jià)值的信息,很有幫助。”
“對(duì)我來說,破壞意味著該行為的意圖是破壞項(xiàng)目的原始目的。這種行為似乎與項(xiàng)目的原始目標(biāo)不一致,所以它是卑鄙的,但它并不是真正的破壞。”