繼百萬周下載量的 npm 包「 node-ipc 」以反戰為名進行) 在其流行的 npm 庫「event-source- polyfill」中新增這段在 1.0.26 版本中引入的程式碼意味著:使用該庫構建的應用程式,將在啟動 15 秒後向俄羅斯使用者顯示反戰訊息。
Polyfill 包可以在可能不支援的 Web 瀏覽器上實現現有的 JavaScript 功能。因此,本文中的 event-source- polyfill 包可將 Firefox 的 擴充套件到其他 Web 瀏覽器中。目前,這個包被超過 使用,且每週在 npm 上下載超過 600,000 次。
與 「 node-ipc 」 清理俄羅斯使用者硬碟資料的激進作風不同,該「event-source- polyfill」應用程式並不會刪除任何資料或破壞應用程式,而是以文字方塊通知的形式敦促俄羅斯結束其對烏克蘭的「無理入侵」,並勸誡俄羅斯平民提防「片面」新聞,尋求可靠的新聞來源,比如 (...)。在文字方塊通知結束後,最後一行程式碼還會將使用者引導至 。
而有趣的是,在上次的 「 node-ipc 」包投毒事件中,網友一邊倒地譴責 node-ipc 作者,說這是對整個開源社群的信譽的「巨大損害」。相比之下,這次 event-source- polyfill 包的新版本惡意程式碼雖然也引發了,但有不少人支援作者,認為這是「正義程式碼」,雙方在 GitHub 上進一步展開了一場 。
「對一些人來說,這是惡意軟體,而對俄羅斯的一些人來說,它可能是有價值的資訊,很有幫助。」
「對我來說,破壞意味著該行為的意圖是破壞專案的原始目的。這種行為似乎與專案的原始目標不一致,所以它是卑鄙的,但它並不是真正的破壞。」
小編無意去審判該行為是正義或邪惡。這種反戰請願對一些人來說可能是英雄事件。但是,從本質上來說,在使用者不知情的情況下加入與開源軟體功能無關的內容,這仍是一種投毒行為。在 npm 問題頻發的今天,該事件進一步破壞了開源庫的可信賴性和可靠性。
在程式碼中偷偷加入一些反戰元素,永遠都是弊大於利。
延伸閱讀: