![]()
新智元報(bào)道
編輯:元宇
【新智元導(dǎo)讀】一顆星,0.1美元,一杯6元奶茶能買8顆。ICSE頂會(huì)論文曝出GitHub上600萬(wàn)顆星可能是刷出來(lái)的,其中大量「熱門項(xiàng)目」很可能是偽裝成盜版軟件、游戲外掛、加密貨幣機(jī)器人的釣魚(yú)或惡意軟件倉(cāng)庫(kù)。
凌晨一點(diǎn),一個(gè)程序員正在GitHub上挑選即將要用的開(kāi)源工具。
一番比較之后,他點(diǎn)進(jìn)了那個(gè)star數(shù)最高的:4.2萬(wàn)顆,活躍度還行,README寫(xiě)得專業(yè),issue回復(fù)頻率正常。
看起來(lái),這就是那個(gè)對(duì)的選擇。
但他不知道的是,這個(gè)倉(cāng)庫(kù)中那個(gè)承載了開(kāi)發(fā)者信任的star中,究竟有多大比例是花錢買來(lái)的。
在過(guò)去,打開(kāi)一個(gè)GitHub項(xiàng)目,第一眼掃star數(shù),這是許多開(kāi)發(fā)者沿用了多年的判斷路徑。
如今,這條路徑正在失靈。
![]()
GitHub Trending頁(yè)面,按star數(shù)給開(kāi)源項(xiàng)目排座次
扯開(kāi)這層遮羞布的,是一篇來(lái)自卡內(nèi)基梅隆大學(xué)的研究論文,它將在國(guó)際軟件工程大會(huì)ICSE2026的主會(huì)議上正式宣講,是妥妥的頂會(huì)實(shí)錘了!
![]()
論文的標(biāo)題簡(jiǎn)單粗暴:
《Six Million (Suspected) Fake Stars on GitHub》(GitHub上六百萬(wàn)個(gè)(疑似)虛假星標(biāo):一場(chǎng)不斷升級(jí)的熱度比拼、垃圾信息與惡意軟件漩渦)。
![]()
https://arxiv.org/pdf/2412.13459
研究團(tuán)隊(duì)來(lái)自卡內(nèi)基梅隆大學(xué),聯(lián)合北卡羅來(lái)納州立大學(xué)和專做軟件供應(yīng)鏈安全的Socket Inc.。
他們做了一件過(guò)去沒(méi)人做過(guò)的事,把2019年7月到2024年12月之間GitHub全網(wǎng)公開(kāi)事件數(shù)據(jù)全量掃了一遍。
掃出來(lái)的結(jié)果觸目驚心。
600萬(wàn)顆疑似假星,18617個(gè)疑似參與刷星活動(dòng)的倉(cāng)庫(kù),30.1萬(wàn)個(gè)相關(guān)賬戶。
一個(gè)曾經(jīng)熟悉的指標(biāo),就這樣一夜之間變陌生了。
過(guò)去,GitHub的star數(shù)是開(kāi)發(fā)者評(píng)估一個(gè)開(kāi)源項(xiàng)目時(shí)最直觀的參考。但這篇頂會(huì)論文數(shù)據(jù),卻告訴我們這個(gè)代表著信任的符號(hào)正在被系統(tǒng)性操縱。
![]()
GitHub上的那顆星,早已被貼上「FOR SALE」的標(biāo)簽
更可怕的是,它的背后已經(jīng)形成了一條完整的灰產(chǎn)市場(chǎng),刷一顆GitHub star的報(bào)價(jià)低至0.10美元,一杯6元奶茶,就能夠買上8顆!
而且這些star可以被批量生產(chǎn)、定向投放、精準(zhǔn)注入任何一個(gè)想看起來(lái)「熱門」的倉(cāng)庫(kù)。
GitHub星標(biāo)經(jīng)濟(jì)
被頂會(huì)論文裝進(jìn)顯微鏡
值得注意的是其中的一個(gè)數(shù)字。
2024年7月:是CMU研究團(tuán)隊(duì)給出的假星活動(dòng)峰值時(shí)點(diǎn)。
![]()
假星活動(dòng)在GitHub上的月度占比走勢(shì)。2024年7月的峰值,是此前五年總和都?jí)虿坏降母叨取?/p>
當(dāng)月GitHub上收到star的熱門倉(cāng)庫(kù)里,16.66%涉及假星活動(dòng)。
這是什么概念?
你打開(kāi)GitHub的Trending頁(yè)面,每瀏覽6個(gè)新上榜項(xiàng)目,大概率就有1個(gè)的熱度是「注了水」的。
這還不是所有GitHub倉(cāng)庫(kù),而是當(dāng)月上榜的那一批熱門倉(cāng)庫(kù)。熱門倉(cāng)庫(kù)子集受污染更明顯,但 Trending 本身只命中了很小一部分。
研究里另一個(gè)數(shù)據(jù)更有沖擊力。
2024年3月,GitHub活躍用戶中有6.59%,也就是117024個(gè)賬戶與假星活動(dòng)相關(guān)。
這意味著假星早就不是邊緣噪音,它已經(jīng)大到能污染整個(gè)生態(tài)的觀察指標(biāo)。
去年9月,CMU發(fā)布官方新聞稿時(shí),Vasilescu說(shuō)了一句很克制但很有分量的話:
我們不是第一批討論這個(gè)問(wèn)題的人,所以發(fā)現(xiàn)與詐騙相關(guān)的虛假star并不讓我們意外。但它們的數(shù)量之大,還是讓我們很吃驚。
![]()
https://s3d.cmu.edu/news/2025/0903-github-stars.html
這里有個(gè)細(xì)節(jié)不能忽略。
論文同時(shí)指出,從絕對(duì)比例看,假star在GitHub全站所有star里通常仍只占約1%。
1%聽(tīng)起來(lái)似乎不多。
但問(wèn)題在于,這1%不是均勻分布的。它高度集中在兩個(gè)最敏感的位置:「熱門倉(cāng)庫(kù)」和「活躍用戶」。
也就是說(shuō),普通開(kāi)發(fā)者真正會(huì)去看、會(huì)去信、會(huì)拿來(lái)做選型決策的那個(gè)區(qū)域,恰恰是被污染最嚴(yán)重的。
ICSE是軟件工程領(lǐng)域最頂級(jí)的會(huì)議,一篇論文能進(jìn)ICSE正式研究論文類別,說(shuō)明它已經(jīng)通過(guò)了非常嚴(yán)格的同行評(píng)審,研究方法、實(shí)驗(yàn)數(shù)據(jù)和結(jié)論整體上都是經(jīng)得起推敲的。
更關(guān)鍵的是,研究團(tuán)隊(duì)沒(méi)有只寫(xiě)論文,還公開(kāi)了StarScout源碼,以及論文測(cè)量研究所用的數(shù)據(jù)和腳本,為外界審查、復(fù)核和復(fù)現(xiàn)這項(xiàng)研究提供了基礎(chǔ)。
![]()
https://github.com/hehao98/StarScout
600萬(wàn)假星數(shù)據(jù)怎么來(lái)的?
也許你會(huì)好奇,這600萬(wàn)假星是怎么數(shù)出來(lái)的?會(huì)不會(huì)有誤傷?
研究團(tuán)隊(duì)給出的檢測(cè)方法不復(fù)雜,主要有兩個(gè)維度:
第一個(gè),盯低活躍賬號(hào)。
有些刷星商家會(huì)用腳本批量注冊(cè)一次性賬號(hào)。這些賬號(hào)的畫(huà)像高度統(tǒng)一:沒(méi)頭像、沒(méi)簡(jiǎn)介、沒(méi)項(xiàng)目,注冊(cè)當(dāng)天只做了一件事:給某個(gè)倉(cāng)庫(kù)點(diǎn)star,然后就再也不活躍了。
一看就是來(lái)「送數(shù)字」的。
第二個(gè),盯群體同步異常。
專業(yè)術(shù)語(yǔ)叫l(wèi)ockstep,意思就是踏著同一步點(diǎn)走。
刷星商家要在短時(shí)間內(nèi)把幾千顆星交付給客戶,不得不反復(fù)調(diào)用手頭的賬號(hào)。
于是就會(huì)出現(xiàn)一種非常詭異的模式:一批賬號(hào),在一個(gè)很短的時(shí)間窗口里,集中給一批倉(cāng)庫(kù)點(diǎn)star,而且每個(gè)倉(cāng)庫(kù)都接收了這批賬號(hào)里的很大一部分。
這種模式在自然用戶中幾乎不可能出現(xiàn)。
Facebook抓虛假點(diǎn)贊用的就是類似思路,算法叫CopyCatch。
研究團(tuán)隊(duì)在Google BigQuery上跑了約20TiB的GitHub事件數(shù)據(jù),把這套方法從臉書(shū)搬到了GitHub的注意力經(jīng)濟(jì)里。
為降低誤報(bào),他們還加了一道后處理:只有在歷史數(shù)據(jù)上出現(xiàn)過(guò)明顯「假星異常峰值」的倉(cāng)庫(kù),才會(huì)被最終標(biāo)記。
這就是600萬(wàn)這個(gè)數(shù)字的來(lái)源。
![]()
2024年8月,Socket首次披露了370萬(wàn)顆疑似假星。四個(gè)月后,樣本擴(kuò)展到2024年底,數(shù)字翻到600萬(wàn)。黑灰產(chǎn)的膨脹速度,比研究團(tuán)隊(duì)追蹤的速度還快。https://socket.dev/blog/3-7-million-fake-github-stars-a-growing-threat-linked-to-scams-and-malware
至于刷星的成本,Socket的早期研究博客給出過(guò)一個(gè)價(jià)格參考:每顆假星最低0.1美元。
而它在GitHub上換來(lái)的,是曝光、是Trending、是可能的風(fēng)投故事、是開(kāi)發(fā)者的第一眼信任。
刷星真相
短期甜長(zhǎng)期毒
刷星到底有沒(méi)有用?
研究團(tuán)隊(duì)專門做了面板回歸,把「真實(shí)star」和「假star」對(duì)后續(xù)真實(shí)關(guān)注的影響分開(kāi)算。
結(jié)果很扎心。
真實(shí)star會(huì)持續(xù)帶來(lái)正向累積效應(yīng),有人真的喜歡就會(huì)帶來(lái)更多人真的來(lái)看。
而假star的效果,只在接下來(lái)不到兩個(gè)月里有一丁點(diǎn)微弱的促進(jìn),大小只有真star的五分之一。
更狠的是,從長(zhǎng)期看假star歷史越多,后續(xù)真star的增長(zhǎng)越差。買來(lái)的熱度到頭來(lái)變成了負(fù)資產(chǎn)。
這也符合直覺(jué)。
一個(gè)項(xiàng)目被刷上Trending,真實(shí)開(kāi)發(fā)者點(diǎn)進(jìn)去發(fā)現(xiàn)文檔潦草、代碼粗糙、issue無(wú)人回應(yīng),就會(huì)在心里給它打上「浮夸」標(biāo)簽。
這種印象比沒(méi)上Trending還傷。
但問(wèn)題在于,即便長(zhǎng)期沒(méi)用,短期也夠騙到很多人,比如騙到風(fēng)投的盡調(diào)清單,騙到媒體的「本周最火開(kāi)源項(xiàng)目」盤(pán)點(diǎn),騙到技術(shù)選型時(shí)只看star數(shù)的新手開(kāi)發(fā)者。
Socket在研究中還點(diǎn)出一個(gè)現(xiàn)象。
涉嫌刷星的倉(cāng)庫(kù),標(biāo)題里大量出現(xiàn)awesome、template、demo、example這幾個(gè)詞。
![]()
論文里涉事倉(cāng)庫(kù)的詞云。awesome、template、demo、example這些詞被放得最大,它們是刷星倉(cāng)庫(kù)最常用的偽裝面具。
看起來(lái)很實(shí)用、實(shí)際質(zhì)量平平的聚合類、教程類項(xiàng)目。
它們?cè)诎袵itHub變成一個(gè)充滿信息噪音的集市。
假星是惡意軟件的假面
但所有這些,都還不是這篇論文最令人恐怖的部分。
CMU研究團(tuán)隊(duì)在分析那18617個(gè)涉事倉(cāng)庫(kù)時(shí)發(fā)現(xiàn)了一個(gè)極端數(shù)字:
其中90.42%已經(jīng)被GitHub刪除。
![]()
StarScout檢出的涉事倉(cāng)庫(kù),90.42%已被GitHub刪除;而GitHub全站隨機(jī)對(duì)照組的刪除率只有5.03%。這18倍的差距,為StarScout檢測(cè)結(jié)果提供了較強(qiáng)印證。
對(duì)仍然在線的樣本做進(jìn)一步內(nèi)容分析,結(jié)論是約30%還屬于spam或active、phishing、malware,也就是還在主動(dòng)傳播釣魚(yú)木馬的倉(cāng)庫(kù)。
![]()
Spam/Phishing(紅色)單項(xiàng)占比達(dá)31.1%,比任何「正經(jīng)」類別都高,假星倉(cāng)庫(kù)的主業(yè),不是營(yíng)銷,是偽裝。
換句話說(shuō):假星這門生意有相當(dāng)大一塊不是給創(chuàng)業(yè)公司做增長(zhǎng)黑客用的,而是給惡意軟件做「化妝」用的。
包裝套路高度統(tǒng)一。
偽裝成某款游戲的外掛工具、偽裝成某個(gè)熱門應(yīng)用的破解版、偽裝成「一鍵自動(dòng)擼空投」的加密貨幣機(jī)器人。
論文公開(kāi)了一個(gè)具體案例。
![]()
左上是這個(gè)倉(cāng)庫(kù)的 、README,漂亮得像一個(gè)正規(guī)開(kāi)源項(xiàng)目。下方是代碼里藏著的spawn()調(diào)用,一旦運(yùn)行就會(huì)遠(yuǎn)程執(zhí)行一段加密腳本,悄悄偷走你的加密貨幣。
如圖中右上所顯示:一個(gè)名為Solmonster/PhantomSniper-Solana-Sniper-Bot的倉(cāng)庫(kù),被檢測(cè)到時(shí)有109個(gè)疑似假星,README寫(xiě)得非常漂亮,看起來(lái)就像一個(gè)正規(guī)的Solana鏈搶購(gòu)工具。
但它的代碼里藏著一個(gè)隱蔽的spawn()調(diào)用。你一旦運(yùn)行,它就會(huì)悄悄竊取你的加密貨幣。
再把視野拉高一層。
去年震動(dòng)安全圈的XZ Backdoor攻擊,就是典型的開(kāi)源供應(yīng)鏈攻擊樣本。
攻擊者花了兩年時(shí)間騙到維護(hù)者的信任,把后門植入了一個(gè)被無(wú)數(shù)系統(tǒng)依賴的壓縮庫(kù)。
這件事本身和假星無(wú)關(guān),但它說(shuō)明了一個(gè)更本質(zhì)的問(wèn)題。
開(kāi)源生態(tài)里,信任一旦被偽造,下游有多少系統(tǒng)會(huì)被牽連,根本數(shù)不過(guò)來(lái)。
而假星恰恰是偽造信任的最低成本入口。
如果一顆星按0.1美元來(lái)算,1000顆不到100美元,就能讓一個(gè)藏著木馬的釣魚(yú)倉(cāng)庫(kù),看起來(lái)像一個(gè)剛起來(lái)的熱門開(kāi)源項(xiàng)目。
這是一門被定價(jià)、被規(guī)模化、被工具化的生意。
當(dāng)「點(diǎn)贊」不再可信
開(kāi)源世界需要新的信任錨
自動(dòng)化刷星,早在GitHub官方政策明文禁止:「rank abuse,such as automated starring」(刷榜行為,比如機(jī)器自動(dòng)點(diǎn)Star)。
![]()
但問(wèn)題是規(guī)則追不上黑產(chǎn)。
論文揭露的數(shù)字足以讓我們警醒:違規(guī)活動(dòng)不是在收斂,而是在爆發(fā)。至少現(xiàn)有的檢測(cè)和治理機(jī)制,對(duì)此的整治還是不夠的。
因此,研究團(tuán)隊(duì)也給出了幾個(gè)方向上的建議。
第一,降低star在GitHub聲譽(yù)體系里的權(quán)重。
平臺(tái)排名、搜索推薦、Trending榜單,都不該把star數(shù)當(dāng)作主要指標(biāo)。
第二,引入差異化star。
新注冊(cè)賬號(hào)、空白簡(jiǎn)介賬號(hào)、無(wú)任何活動(dòng)歷史的賬號(hào),它們的star不該和一個(gè)寫(xiě)了五年代碼的老開(kāi)發(fā)者的star等同看待。
第三,把更多難偽造的信號(hào)納入評(píng)估。
比如release發(fā)布節(jié)奏、真實(shí)依賴關(guān)系、issue回復(fù)質(zhì)量、PR合并情況、貢獻(xiàn)者多樣性。這些都比一個(gè)「+1」要難刷得多。
但這些建議的背后,是一個(gè)更深的問(wèn)題。
社會(huì)學(xué)里有兩條經(jīng)典規(guī)律。
坎貝爾定律:任何定量社會(huì)指標(biāo)一旦被廣泛用于決策,就越容易被操縱,也越可能扭曲它原本想衡量的東西。
古德哈特定律:當(dāng)一個(gè)測(cè)量指標(biāo)被當(dāng)作目標(biāo)時(shí),它就不再是一個(gè)好指標(biāo)。
GitHub的star,正是這兩條定律的深刻體現(xiàn)。
它最早只是一個(gè)輕量的收藏動(dòng)作。后來(lái)被風(fēng)投、被招聘、被媒體、被技術(shù)選型層層賦予意義,它就從一個(gè)「評(píng)價(jià)工具」,變成了一個(gè)「被追逐的目標(biāo)」。
一旦成為「被追逐的目標(biāo)」,它就開(kāi)始失掉原來(lái)的意義。
這不是GitHub一家的問(wèn)題,Twitter的關(guān)注數(shù)、AppStore的評(píng)分……每一個(gè)「輕量信任信號(hào)」,都在經(jīng)歷同樣的命運(yùn)。
區(qū)別只在于,GitHub承載的不是一場(chǎng)人氣游戲,而是全球開(kāi)發(fā)者賴以工作的代碼基礎(chǔ)設(shè)施。
每顆星堆起來(lái)的,是開(kāi)源世界一道正在被鉆穿的信任防線。
參考資
https://x.com/rohanpaul_ai/status/2044567914859397181
https://arxiv.org/pdf/2412.13459
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.