<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          拒絕白嫖,著名開源項目作者暴力刪庫,賬號被封!

          共 3782字,需瀏覽 8分鐘

           ·

          2022-01-14 01:31

          點擊關(guān)注“SQL數(shù)據(jù)庫開發(fā)

          設(shè)為“置頂或星標”,第一時間送達干貨
          整理 | 鄭麗媛
          來源 | CSDN(ID:CSDNnews)

          還記得去年年底令全球多數(shù) Java 工程師深夜加班的 Apache Log4j 2 漏洞?彼時,發(fā)現(xiàn)最初只有 3 個人贊助該開源項目的事實令許多人受到?jīng)_擊,甚至有人因此感慨道“這就是開源丑陋的一面”:當項目順利進行時,一切都很好;而一旦項目出問題了,每個人都只會去抱怨項目背后的無償維護者

          Apache Log4j 2 漏洞發(fā)生至今已一月有余,目前尚未徹底平息。不曾想,上周又發(fā)生了一起令許多開發(fā)者“頭禿”的開源事件:數(shù)千個使用了流行開源 NPM 包 faker.js 和 colors.js 的項目一夜之間突然“變磚”,不斷輸出滿屏亂碼,而“罪魁禍首”竟是項目作者 Marak Squires 故意為之。


          著名開源項目作者刪庫

          對許多 JavaScript 和 Node.js 開發(fā)者而言,faker.js 和 colors.js 這兩個庫應(yīng)該并不陌生:

          • faker.js 用于在瀏覽器和 Node.js 中生成大量虛假數(shù)據(jù),在 NPM 上每周下載量近 244 萬。

          • colors.js,一個實現(xiàn)對顏色進行各種操作和計算的 JavaScript 庫,每周下載量約 2314 萬。


          從每周下載數(shù)據(jù)可以看出,faker.js 和 colors.js 的應(yīng)用十分廣泛,如 AWS CDK 等許多流行工具均在開發(fā)過程中使用了這兩個庫,一直以來也沒有意外發(fā)生。因此,上周末有 AWS CDK 用戶看到其應(yīng)用在控制臺上不斷打印亂碼時感到無比震驚:“究竟發(fā)生了什么?”

          據(jù)該用戶分享的截圖顯示,這些亂碼包括文本“LIBERTY LIBERTY LIBERTY”以及一系列非 ASCII 字符:

          該用戶認為這是“由于 faker.js 導(dǎo)致的奇怪輸出”,事實證明,Ta 的猜想沒錯。據(jù) faker.js 的 GitHub 頁面顯示,該庫代碼已被全部刪除,所有 commit 信息都被改為「endgame」,且 Readme 部分也僅剩下項目作者 Marak Squires 留下的一句話:“What really happened with Aaron Swartz(Aaron Swartz 到底發(fā)生了什么)?”

          (注:Aaron Swartz 是一名出色的開發(fā)人員,曾建立 Creative Commons、RSS 和著名社交網(wǎng)站 Reddit,但在 2011 年被指控非法入侵 MIT 和學術(shù)數(shù)據(jù)庫 JSTOR 以竊取文件,后于 2013 年自殺。)

          不僅如此,有心人應(yīng)該已經(jīng)發(fā)現(xiàn)了上文 faker.js 下載量圖中奇怪的最新版本號“6.6.6”——要知道,與國內(nèi)普遍的認知不同,圣經(jīng)中用三個“6”連寫表示惡魔的符號,代表以撒旦為首的邪惡勢力,因此西方國家常將三個“666”視作魔鬼、撒旦等不吉利的象征。

          類似事情也發(fā)生在了 colors.js 庫:Marak Squires 在 v1.4.44-liberty-2 版本中為 colors.js 庫添加了一個“new American flag module”并將其發(fā)布至 GitHub 和 NPM,而代碼中其中引入了一段無限循環(huán),讓所有使用了 colors.js 的程序都會在控制臺無休止地打印各種非 ASCII 字符的亂碼。

          事后,Marak Squires 還刻意嘲諷道:“我們注意到,在 v1.4.44-liberty-2 版本的 colors.js 中有一個 Zalgo 漏洞,請相信我們正在努力解決這個問題,很快就會有一個解決方案?!?/span>

          (注:Zalgo 文本原指用 Unicode 組合字符在字母上過度添加各種符號生成的一種數(shù)字文本,常用于恐怖場景以令人毛骨悚然,在此處指代那些非 ASCII 字符的亂碼。)


          拒絕白嫖,一切因“錢”而起


          Marak Squires 這番操作打破了許多原以為 NPM 庫被破壞的猜想,但轉(zhuǎn)而卻令更多人百思不得其解:好好的兩個開源項目,為什么 Marak Squires 突然要自己搞破壞?

          問題似乎始于 2020 年 9 月 Marak Squires 遭遇的一場火災(zāi)。當時,Marak Squires 租借的房子突發(fā)大火,所有財產(chǎn)幾乎被全部燒毀,無奈之下 Marak Squires 在推特上發(fā)布求助:

          “我在一場公寓火災(zāi)中失去了所有東西,幾乎無家可歸,也無法訪問我的大部分帳戶,所有值錢的東西都不見了。如果有人能給 [email protected] 一點錢,那將幫助我免于在街上凍僵,哈哈。”

          在這之后,或許是求助金額尚不足以支持 Marak Squires 的生活,近十天后,他又在 GitHub 上譴責大型公司使用其開源項目卻不回饋的行為

          “恕我直言,我不會再用我的免費工作來支持財富 500 強企業(yè)了(以及其他較小規(guī)模的公司)。沒什么好說的。趁這個機會,你可以給我發(fā)一份年薪六位數(shù)的合同,或者克隆項目,讓別人來做。”

          從這兩件事中,我們似乎可以窺見此次 Marak Squires 毫無征兆“自毀”項目的原因:拒絕白嫖,一切因“錢”而起

          好在據(jù) The Verge 報道,目前 colors.js 已更新至正常版本,雖然 faker.js 仍未修復(fù),但可降級至之前的 5.5.3 版本來解決問題。而 GitHub 方面似乎也因此暫時封禁了 Marak Squires 的 GitHub 賬戶:


          開源開發(fā)者該如何自處?


          毫無疑問,這起事件再次引起了人們對于開源開發(fā)者生存現(xiàn)狀的關(guān)注,這或許也是 Marak Squires 此次的行動目標:現(xiàn)實中,大量網(wǎng)站、軟件和應(yīng)用均依賴免費的開源項目來創(chuàng)建基本工具和組件,但就如同 Apache Log4j 2 一樣,這些開源項目背后維護者的財政困境鮮為人知。

          針對此次事件,諸多資深開發(fā)者也表達出了各自的看法。

          • 資訊安全專家 VessOnSecurity 認為:“這太不負責任了!如果你在發(fā)布免費代碼時遇到問題,那就不要發(fā)布。你破壞自己被廣泛使用的項目,不僅傷害了大企業(yè),也傷害了所有使用它的人。這會導(dǎo)致人們害怕更新,因為新版本可能并不安全。”

          • 軟件工程師 Sergio Gómez 則認為:“從 GitHub 刪除他自己的代碼居然違反了他們的服務(wù)條款?這是道德綁架!我想我們需要開始分散托管免費軟件源碼了?!?/span>

          許多網(wǎng)友也對此各執(zhí)一詞。

          • @Mike_Walsh:“老實說,這人完全有權(quán)破壞自己的工作,尤其是當他利用自己的空閑時間維護這些項目,卻沒有看到一分紅利時。為什么大公司就應(yīng)該從別人的無償勞動中賺到一大筆錢,甚至他們還聲稱這樣做是‘出于對開源的熱愛’?所以我覺得這樣很公平,你對我好我會回報你,但如果你在背后捅了我一刀,也同理。”

          • @GT500:“就我的理解來看,我認為這個人忘記了開源的精神,只是貪婪罷了。如果他想要別人為他的軟件付費,那他就不應(yīng)該在開源許可下發(fā)布它。開源的倡導(dǎo)者花了幾十年的時間試圖讓公司使用開源軟件,試圖說服他們這是免費的、應(yīng)該使用它,且永遠不必為此付費。而這個人的行為會導(dǎo)致什么?我們可能會回到公司只使用垃圾付費軟件的黑暗時光,因為他們會覺得已經(jīng)不能再信任開源項目了。”

          從開源中來,到開源中去??赡軐芏嚅_源開發(fā)者而言,最終目標并不是金錢,更多是希望人們共同參與項目維護,以此回饋社區(qū)。那么在你看來,你認為這一矛盾該如何緩解,開源開發(fā)者又該如何自處呢?

          參考鏈接:

          • https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/

          • https://www.theverge.com/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected

          • https://web.archive.org/web/20220105101202/https://twitter.com/marak/status/1320465599319990272


          最后給大家分享我寫的SQL兩件套:《SQL基礎(chǔ)知識第二版》《SQL高級知識第二版》的PDF電子版。里面有各個語法的解釋、大量的實例講解和批注等等,非常通俗易懂,方便大家跟著一起來實操。

          有需要的讀者可以下載學習,在下面的公眾號「數(shù)據(jù)前線」(非本號)后臺回復(fù)關(guān)鍵字:SQL,就行
          數(shù)據(jù)前線
          ——End——

          后臺回復(fù)關(guān)鍵字:1024,獲取一份精心整理的技術(shù)干貨
          后臺回復(fù)關(guān)鍵字:進群,帶你進入高手如云的交流群。

          推薦閱讀

          瀏覽 49
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  五月婷婷天天干 | 靠逼免费视频网站 | 五月丁香乱伦文学 | 日韩免费视频每日更新婷婷久久久 | 911在线无码精品秘 入口楼风 |