震惊!GitHub 600万颗星竟是刷出来的?顶会论文揭露“星标黑产”真相
凌晨一点,一位程序员正在 GitHub 上精心挑选即将用于项目的开源工具。
经过一番对比,他最终选择了那颗星标数最高的:4.2万颗星,看起来活跃度不错,README 文档专业,Issue 回复频率也正常。
一切迹象都表明,这似乎是一个正确的选择。
然而,他并不知道,这个承载着开发者信任的仓库中,究竟有多少星标是花钱买来的。
过去,打开一个 GitHub 项目,第一眼扫视星标数,这是无数开发者沿用多年的判断标准。
如今,这条路径正在逐渐失效。

GitHub Trending 页面,按星标数为开源项目排定座次
揭开这层遮羞布的,是一篇来自卡内基梅隆大学的学术论文。它将在国际软件工程大会 ICSE 2026 的主会议上正式宣讲,妥妥的顶会实锤!

论文标题简单直接:《Six Million (Suspected) Fake Stars on GitHub》(GitHub 上六百万个(疑似)虚假星标:一场不断升级的热度比拼、垃圾信息与恶意软件漩涡)。

https://arxiv.org/pdf/2412.13459
研究团队由卡内基梅隆大学牵头,联合北卡罗来纳州立大学和专注软件供应链安全的 Socket Inc. 共同组成。
他们完成了一项前所未有的工作:将 2019 年 7 月至 2024 年 12 月之间,GitHub 全网公开事件数据进行了全量扫描。
扫描出的结果令人触目惊心。
600 万颗疑似虚假星标,18,617 个疑似参与刷星活动的仓库,以及 30.1 万个相关账户。
一个曾经熟悉的指标,一夜之间变得陌生。
过去,GitHub 的星标数是开发者评估一个开源项目最直观的参考。但这篇顶会论文的数据却告诉我们,这个代表信任的符号正在被系统性操纵。

GitHub 上的那颗星,早已被贴上了“待售”的标签
更可怕的是,其背后已经形成了一条完整的灰色产业链。刷一颗 GitHub 星标的报价低至 0.10 美元,一杯 6 元人民币的奶茶,就能买上 8 颗!
而且,这些星标可以被批量生产、定向投放、精准注入任何一个想要看起来“热门”的仓库。

GitHub 星标经济:被顶会论文装进显微镜
值得注意的是其中的一个数字。
2024 年 7 月:这是 CMU 研究团队给出的虚假星标活动峰值时点。

虚假星标活动在 GitHub 上的月度占比走势。2024 年 7 月的峰值,是此前五年总和都无法企及的高度。
当月 GitHub 上收到星标的热门仓库中,有 16.66% 涉及虚假星标活动。
这是什么概念?
你打开 GitHub 的 Trending 页面,每浏览 6 个新上榜项目,大概率就有 1 个的热度是“注了水”的。
这还并非所有 GitHub 仓库,而是当月上榜的那一批热门仓库。热门仓库子集受污染更明显,但 Trending 本身只命中了很小一部分。
研究中的另一个数据更具冲击力。
2024 年 3 月,GitHub 活跃用户中有 6.59%,也就是 117,024 个账户与虚假星标活动相关。
这意味着虚假星标早已不是边缘噪音,它已经大到足以污染整个生态的观察指标。
去年 9 月,CMU 发布官方新闻稿时,Vasilescu 说了一句很克制但分量十足的话:
“我们不是第一批讨论这个问题的人,所以发现与诈骗相关的虚假星标并不让我们意外。但它们的数量之大,还是让我们很吃惊。”

https://s3d.cmu.edu/news/2025/0903-github-stars.html
这里有个细节不能忽略。
论文同时指出,从绝对比例看,虚假星标在 GitHub 全站所有星标里通常仍只占约 1%。
1% 听起来似乎不多。
但问题在于,这 1% 并非均匀分布。它高度集中在两个最敏感的位置:“热门仓库”和“活跃用户”。
也就是说,普通开发者真正会去看、会去信、会拿来做选型决策的那个区域,恰恰是被污染最严重的。
ICSE 是软件工程领域最顶级的会议。一篇论文能进入 ICSE 正式研究论文类别,说明它已经通过了非常严格的同行评审,研究方法、实验数据和结论整体上都经得起推敲。
更关键的是,研究团队没有只写论文,还公开了 StarScout 源码,以及论文测量研究所用的数据和脚本,为外界审查、复核和复现这项研究提供了基础。

https://github.com/hehao98/StarScout

600 万虚假星标数据是怎么来的?
也许你会好奇,这 600 万虚假星标是怎么数出来的?会不会有误伤?
研究团队给出的检测方法并不复杂,主要有两个维度:
第一个维度:盯住低活跃账号。
有些刷星商家会用脚本批量注册一次性账号。这些账号的画像高度统一:没头像、没简介、没项目,注册当天只做了一件事:给某个仓库点个星标,然后就再也不活跃了。
一看就是来“送数字”的。
第二个维度:盯住群体同步异常。
专业术语叫 lockstep,意思就是踏着同一步点走。
刷星商家要在短时间内把几千颗星交付给客户,不得不反复调用手头的账号。
于是就会出现一种非常诡异的模式:一批账号,在一个很短的时间窗口里,集中给一批仓库点星标,而且每个仓库都接收了这批账号里的很大一部分。
这种模式在自然用户中几乎不可能出现。
Facebook 抓虚假点赞用的就是类似思路,算法叫 CopyCatch。
研究团队在 Google BigQuery 上跑了约 20 TiB 的 GitHub 事件数据,把这套方法从脸书搬到了 GitHub 的注意力经济里。
为降低误报,他们还加了一道后处理:只有在历史数据上出现过明显“虚假星标异常峰值”的仓库,才会被最终标记。
这就是 600 万这个数字的来源。

2024 年 8 月,Socket 首次披露了 370 万颗疑似虚假星标。四个月后,样本扩展到 2024 年底,数字翻到 600 万。黑灰产的膨胀速度,比研究团队追踪的速度还快。https://socket.dev/blog/3-7-million-fake-github-stars-a-growing-threat-linked-to-scams-and-malware
至于刷星的成本,Socket 的早期研究博客给出过一个价格参考:每颗虚假星标最低 0.1 美元。
而它在 GitHub 上换来的,是曝光、是 Trending、是可能的风投故事、是开发者的第一眼信任。

刷星真相:短期甜蜜,长期毒药
刷星到底有没有用?
研究团队专门做了面板回归,把“真实星标”和“虚假星标”对后续真实关注的影响分开计算。
结果很扎心。
真实星标会持续带来正向累积效应:有人真的喜欢,就会带来更多人真的来看。
而虚假星标的效果,只在接下来不到两个月里有一丁点微弱的促进作用,大小只有真实星标的五分之一。
更狠的是,从长期看,虚假星标历史越多,后续真实星标的增长越差。买来的热度到头来变成了负资产。
这也符合直觉。
一个项目被刷上 Trending,真实开发者点进去发现文档潦草、代码粗糙、Issue 无人回应,就会在心里给它打上“浮夸”的标签。
这种印象比没上 Trending 还伤。
但问题在于,即便长期没用,短期也够骗到很多人,比如骗到风投的尽调清单,骗到媒体的“本周最火开源项目”盘点,骗到技术选型时只看星标数的新手开发者。
Socket 在研究中还点出一个现象。
涉嫌刷星的仓库,标题里大量出现 awesome、template、demo、example 这几个词。

论文里涉事仓库的词云。awesome、template、demo、example 这些词被放得最大,它们是刷星仓库最常用的伪装面具。
看起来很实用、实际质量平平的聚合类、教程类项目。
它们正在将GitHub变成一个充斥着信息噪音的集市。

假星:恶意软件的“完美伪装”
然而,以上这些并非这篇论文最令人不安的部分。
卡内基梅隆大学的研究团队在分析那18617个被标记的仓库时,发现了一个触目惊心的数字:
其中高达90.42%的仓库已被GitHub官方删除。

StarScout系统识别出的涉事仓库中,90.42%已被GitHub删除;而GitHub全站随机对照组的删除率仅为5.03%。这18倍的巨大差距,强有力地印证了StarScout检测结果的准确性。
研究团队对仍然在线存活的样本进行了更深层次的内容分析,结论显示:大约30%的仓库依然属于垃圾信息(spam)、活跃钓鱼(active phishing)或恶意软件(malware)类别,即仍在主动传播钓鱼木马。

垃圾信息/钓鱼(红色)单项占比高达31.1%,远超任何“正经”类别。这表明,假星仓库的核心任务并非营销,而是伪装。
换句话说,假星这门生意中,相当大一部分并非服务于创业公司的“增长黑客”需求,而是为恶意软件提供“化妆”服务。
这些仓库的包装套路高度统一:伪装成某款游戏的外挂工具、热门应用的破解版,或是“一键自动撸空投”的加密货币机器人。
论文公开了一个具体案例。

左上方展示的是这个仓库的README文件,看起来就像一个正规开源项目,非常漂亮。下方则是隐藏在代码中的spawn()调用,一旦运行,就会远程执行一段加密脚本,悄悄窃取你的加密货币。
如图中右上角所示:一个名为Solmonster/PhantomSniper-Solana-Sniper-Bot的仓库,在被检测到时拥有109个疑似假星,其README文件写得相当专业,看上去就是一个正规的Solana链抢购工具。
但它的代码里藏着一个隐蔽的spawn()调用。你一旦运行,它就会在后台悄悄窃取你的加密货币。
再将视野拉高一层。
去年震动整个安全圈的XZ Backdoor攻击,就是典型的开源供应链攻击案例。
攻击者耗费两年时间骗取维护者的信任,最终将后门植入到一个被无数系统依赖的压缩库中。
虽然这件事本身与假星无关,但它揭示了一个更本质的问题:在开源生态中,信任一旦被伪造,下游将有多少系统受到牵连,根本无法估算。
而假星,恰恰是伪造信任成本最低的入口。
如果一颗星按0.1美元计算,1000颗星的成本不到100美元,就能让一个暗藏木马的钓鱼仓库,看起来像一个刚刚起步的热门开源项目。
这是一门被明码标价、被规模化、被工具化运作的生意。

当“点赞”不再可信:开源世界亟需新的信任锚点
自动化刷星行为,早已被GitHub官方政策明令禁止:“rank abuse, such as automated starring”(刷榜行为,例如机器自动点Star)。

但问题在于,规则总是追不上黑产的脚步。
论文揭露的数字足以让我们警醒:违规活动并未收敛,反而在爆发。至少,现有的检测和治理机制,对此的整治力度还远远不够。
因此,研究团队也提出了几个方向的建议。
第一,降低Star在GitHub声誉体系中的权重。平台排名、搜索推荐、Trending榜单,都不应再将Star数作为主要指标。
第二,引入差异化Star机制。新注册账号、空白简介账号、没有任何活动历史的账号,它们的Star不应该与一个写了五年代码的老开发者的Star等同对待。
第三,将更多难以伪造的信号纳入评估体系。例如release发布节奏、真实的依赖关系、issue回复质量、PR合并情况、贡献者多样性等。这些信号远比一个简单的“+1”要难刷得多。
但这些建议的背后,指向的是一个更深层次的问题。
社会学中有两条经典定律。
坎贝尔定律:任何定量社会指标一旦被广泛用于决策,就越容易被操纵,也越可能扭曲它原本想要衡量的东西。
古德哈特定律:当一个测量指标被当作目标时,它就不再是一个好指标。
GitHub的Star,正是这两条定律的深刻体现。
它最初只是一个轻量的收藏动作。后来被风投、招聘、媒体、技术选型层层赋予意义,它就从一个“评价工具”,变成了一个“被追逐的目标”。
一旦成为“被追逐的目标”,它就开始丧失原本的意义。
这并非GitHub一家的问题。Twitter的关注数、AppStore的评分……每一个“轻量信任信号”,都在经历同样的命运。
区别只在于,GitHub承载的不是一场人气游戏,而是全球开发者赖以工作的代码基础设施。
每一颗星堆起来的,是开源世界一道正在被钻穿的信任防线。
参考资料:
https://x.com/rohanpaul_ai/status/2044567914859397181
https://arxiv.org/pdf/2412.13459
(注:原文结尾的“秒追ASI”、“点赞、转发、在看一键三连”、“点亮星标,锁定新智元极速推送!”等引流文案及对应的

、

等无效广告占位符已被清除。)
关注“鲸栖”小程序,掌握最新AI资讯
本文来自网络搜集,不代表鲸林向海立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/archives/33397

