小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

下載量和Vue一樣大的開源軟件被作者惡意破壞,數(shù)千款應(yīng)用受到牽連

 劉振東 2022-01-11
開源的黑暗面:faker.js 到底發(fā)生了什么?

流行開源包“colors”與“faker”的用戶們最近剛剛遭遇一場(chǎng)意外,毫無(wú)征兆的破壞導(dǎo)致應(yīng)用程序在使用這些包后開始輸出無(wú)法理解的亂碼數(shù)據(jù)。這背后的原因竟然是開源軟件包的作者 Marak Squires 故意引入了一個(gè)無(wú)限循環(huán),讓數(shù)千個(gè)依賴于“colors”與“faker”包的應(yīng)用程序全面失控。

colors.js 是一個(gè)用于處理顏色的 JavaScript 庫(kù),而 faker.js 是一個(gè)用于生成假數(shù)據(jù)的 JavaScript 庫(kù)。在構(gòu)建和測(cè)試應(yīng)用程序時(shí),假數(shù)據(jù)很有用,faker.js 可以為各個(gè)領(lǐng)域生成虛假數(shù)據(jù),包括地址、商業(yè)、公司、日期、財(cái)務(wù)、圖像或名稱。

這兩個(gè)包特別受開發(fā)者歡迎,其中單是 colors 包在 npm 上就擁有每周 2000 多萬(wàn)次下載量,依賴于它的項(xiàng)目近 19000 個(gè)。此外,faker 在 npm 上每周下載量也超過(guò) 280 萬(wàn)次,相關(guān)項(xiàng)目超 2500 個(gè),faker 的受歡迎程度可媲美于 Vue。因?yàn)檫@些開源軟件的應(yīng)用特別廣泛,所以這個(gè)事件影響也特別深遠(yuǎn)。

圖片

開源革命,還是開源暴動(dòng)?

這兩套高人氣開源 npm 包“colors”(在 GitHub 上名為 colors.js)與“faker”(在 GitHub 上名為 faker.js)背后的開發(fā)人員故意在代碼中引入了錯(cuò)誤內(nèi)容,相應(yīng)提交進(jìn)一步對(duì)依賴這些包的成千上萬(wàn)應(yīng)用程序造成影響。

就在昨天,Amazon 云開發(fā)工具包(aws-cdk)等開源項(xiàng)目用戶,突然發(fā)現(xiàn)自己的應(yīng)用程序開始在控制臺(tái)上瘋狂輸出亂碼消息。

這些消息中包含大量“LIBERTY LIBERTY LIBERTY”(自由)字樣,之后還跑著一大堆非 ASCII 字符:

圖片面對(duì)“faker”與“colors”項(xiàng)目?jī)A瀉出的垃圾數(shù)據(jù),用戶感到震驚錯(cuò)愕 (GitHub)

最初,用戶懷疑這些項(xiàng)目使用的“colors”與“faker”包遭到了惡意入侵,類似于去年 coa、rc 和 ua-parser-js 等包被攻擊者劫持的狀況。但事實(shí)證明,令 colors 與 faker 陷入混亂的其實(shí)是由合法開發(fā)者故意提交的錯(cuò)誤代碼。

開發(fā)者 Marak Squires 向 colors.js 包的 v1.4.44-liberty-2 版本中添加了“新的美國(guó)國(guó)旗模塊”,此項(xiàng)變更隨后被推送至 GitHub 與 npm。

圖片colors.js 惡作劇提交出自“Marak”之手 (GitHub)

新代碼中引入的無(wú)限循環(huán)會(huì)沒完沒了地運(yùn)行,任何使用“colors”的應(yīng)用程序都會(huì)在控制臺(tái)上無(wú)休止地輸出由非 ASCII 字符序列組成的亂碼。

同樣的,faker 的惡作劇版本“6.6.6”也被發(fā)布到了 GitHub 和 npm 之上。這位開發(fā)者還語(yǔ)帶嘲諷地表示,“我們注意到 v1.4.44-liberty-2 版本的 colors 中存在一項(xiàng) Zalgo bug?!薄拔覀冋谂鉀Q這個(gè)問(wèn)題,請(qǐng)大家靜待解決方案的發(fā)布?!彼^ Zalgo 文本,指的就是因某些故障引發(fā)的非 ASCII 字符。

這位開發(fā)者的舉動(dòng)似乎是在故意報(bào)復(fù),希望反抗那些長(zhǎng)期依賴于免費(fèi)和社區(qū)支持軟件、但卻從不向社區(qū)做出回饋的大型企業(yè)和其他利用開源項(xiàng)目進(jìn)行商業(yè)化盈利的用戶。

2020 年 11 月,Marak 就已經(jīng)警告稱不會(huì)再“無(wú)償工作”來(lái)支持那些商業(yè)巨頭,并強(qiáng)調(diào)這些業(yè)務(wù)實(shí)體面前只有兩條路:要么選擇項(xiàng)目分叉,要么以每年“六位數(shù)”的薪酬補(bǔ)償開源開發(fā)人員。

圖片

這位開發(fā)者之前曾寫道,“諸位,我不會(huì)再用自己的無(wú)償工作來(lái)支持那些財(cái)富五百?gòu)?qiáng)(以及其他小型公司)了。言盡于此?!薄八袁F(xiàn)在只有兩個(gè)選擇,要么給我發(fā)一份年薪六位數(shù)的用工合同,要么趕緊分叉項(xiàng)目、找其他人接手?!?/p>

圖片

有趣的是,我們發(fā)現(xiàn)“faker”項(xiàng)目在 GitHub repo 上的 README 頁(yè)面https://github.com/marak/Faker.js/)也被 Marak 改掉了,里面赫然出現(xiàn)了“Aaron Swartz 到底經(jīng)歷了什么?”的字樣。

Swartz 是一位杰出的開發(fā)人員,他幫助建立了 Creative Commons、RSS 和 Reddit。他的貢獻(xiàn)對(duì)幾乎所有的 Web 開發(fā)人員都產(chǎn)生了深遠(yuǎn)的影響。2013 年,年僅 26 歲的 Swartz 在一場(chǎng)法律糾紛中自殺身亡。

為了讓所有人都能免費(fèi)訪問(wèn)信息,這位黑客主義者從麻省理工學(xué)院的校園網(wǎng)絡(luò) JSTOR 數(shù)據(jù)庫(kù)中下載到數(shù)百萬(wàn)篇期刊文章。據(jù)稱,他采用的方法是反復(fù)輪換自己的 IP 與 MAC 地址以繞過(guò)校方和 JSTOR 設(shè)置的技術(shù)屏蔽方案。但此番舉動(dòng)也導(dǎo)致 Swartz 面對(duì)違反《計(jì)算機(jī)欺詐與濫用法》的指控,一旦罪名成立,他最高可能被判處 35 年監(jiān)禁。

事件引發(fā)軒然大波

Marak 的大膽舉動(dòng)旋即引發(fā)軒然大波,各界紛紛就此事發(fā)聲。

部分開源軟件社區(qū)成員贊揚(yáng)了這位開發(fā)者的勇敢行為,但也有人對(duì)他的過(guò)激舉動(dòng)表示震驚。一位用戶在推文中寫道,“很明顯,colors.js 的作者因?yàn)槟貌坏綀?bào)酬而抓狂……所以他決定每當(dāng)有用戶加載他的包時(shí)都輸出一面美國(guó)國(guó)旗……這是什么腦回路?”

也有人覺得這是“又一個(gè)開源開發(fā)者造成的流氓案件”,信息安全廠商 VessOnSecurity 則公開指責(zé)此舉“不負(fù)責(zé)任”,并強(qiáng)調(diào):“如果你不想有人用免費(fèi)代碼組織商業(yè)業(yè)務(wù),那別發(fā)布這類代碼不就好了?這種無(wú)差別打擊的行為傷害到的不止是大企業(yè),更是每一位使用開源代碼的用戶。此類行徑只會(huì)打擊用戶的版本更新熱情,讓他們?cè)诿看紊?jí)時(shí)都提心吊膽?!?/p>

根據(jù)相關(guān)報(bào)道,GitHub 已經(jīng)凍結(jié)了這位開發(fā)者的賬戶,而群眾們對(duì)此也是議論紛紛:

圖片

NPM 已經(jīng)將 faker.js 包回滾至先前版本,GitHub 則暫停了我對(duì)所有公共及私有項(xiàng)目的訪問(wèn)權(quán)限。那可是上百個(gè)項(xiàng)目,現(xiàn)在都訪問(wèn)不了了。#AaronSwartz  --@marak

軟件工程師 Sergio Gómez 回應(yīng)稱,“刪改自己的代碼也違反到 GitHub 的服務(wù)條款了?這是赤裸裸的綁架!我們最好做好分散托管軟件源代碼的準(zhǔn)備?!?br>

另一位用戶也發(fā)布推文稱,“不知道究竟是怎么回事,但我自己所有的項(xiàng)目都托管在 GitLab 的私有實(shí)例上,以免遇上類似的狀況。永遠(yuǎn)不要相信任何互聯(lián)網(wǎng)服務(wù)商?!?/p>

一位名叫 Piero 的開發(fā)者則指出,“Marak 搞亂了 faker 和 colors、影響到無(wú)數(shù)項(xiàng)目,難道還指望著自己能不受一點(diǎn)牽連?”

需要提醒大家一點(diǎn),Marak 的此次過(guò)激行為發(fā)生在不久前影響巨大的 Log4j 漏洞事件之后。作為一套重量級(jí)開源庫(kù),Log4j 在不同企業(yè)及商業(yè)實(shí)體開發(fā)的各類 Java 應(yīng)用程序當(dāng)中都有廣泛使用。而 Log4shell 漏洞的曝光引發(fā)越來(lái)越多 CVE,不少開源維護(hù)者不得不在休假期間無(wú)償幫助修復(fù)這些免費(fèi)項(xiàng)目。

于是開源業(yè)界開始普遍擔(dān)憂,認(rèn)為大企業(yè)們已經(jīng)習(xí)慣于“壓榨”開源成果、不停消耗,但卻沒有給予足夠的回報(bào)來(lái)支持這些志愿放棄空閑時(shí)間來(lái)維持關(guān)鍵項(xiàng)目的貢獻(xiàn)者。面對(duì)網(wǎng)民和 Bug 賞金獵人們的指責(zé)之詞,也有人憤然回?fù)?,?qiáng)調(diào) Log4j 的維護(hù)者們“已經(jīng)在夜以繼日地構(gòu)建緩解方案,包括修復(fù)、撰寫文檔、提交 CVE 以及回復(fù)質(zhì)詢等等?!?/p>

有用戶在推文中寫道,“對(duì)于此次 colors.js/faker.js 作者破壞自有軟件包的回應(yīng),恰恰說(shuō)明很多企業(yè)開發(fā)者認(rèn)為自己在道德上有權(quán)無(wú)償享用開源開發(fā)者的勞動(dòng)成果、且無(wú)需給出任何回報(bào)?!薄半m然免費(fèi)開源軟件運(yùn)動(dòng)及其目標(biāo)值得稱贊,但它最終讓許多非常有才華的人幻想破滅且變得貧窮,因?yàn)殚_源實(shí)際上并不是一種可行的商業(yè)模式?!?/p>

至于開源軟件生態(tài)到底能不能長(zhǎng)久存續(xù),恐怕只有時(shí)間能給出答案。

與此同時(shí),這里要提醒 colors 與 faker 兩大 npm 項(xiàng)目用戶務(wù)必使用安全的包版本。比較穩(wěn)妥的方法是降級(jí)至上個(gè)版本的 colors(例如 1.4.0)與 faker(例如 5.5.3)。

參考鏈接:

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

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多