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