GitHub 存在一个问题,那就是不真实的"星星"被用来人为提高诈骗软件和恶意软件分发软件仓库的受欢迎程度,使其看起来更受欢迎,从而帮助它们接触到更多毫无戒心的用户。
"星星"类似于社交媒体网站上的"赞"按钮,允许 GitHub 用户收藏某个软件源。 GitHub 将星星作为全球排名系统的一部分,并向你展示它认为你可能喜欢的相关内容。
"你可以给仓库和主题加星,以便在 GitHub 上发现类似的项目。" GitHub解释说。
拥有 408000 个星的顶级仓库
这个问题以前就有记录,比如去年夏天,Check Point 揭露了一个名为"Stargazers Ghost Network"的恶意软件交付服务,该服务利用一个由不真实用户组成的广泛网络,在虚假项目上加星,以推送窃取信息的恶意软件。
非恶意项目也会利用虚假明星来提升人气、扩大影响范围,并吸引合法用户的关注、真正的明星和采用。Socket、卡内基梅隆大学和北卡罗来纳州立大学的研究人员进行了一项新的研究,发现 GitHub 上有 450 万颗星被怀疑是假的,这让我们对问题的规模有了更清楚的认识。
GitHub的星级服务列表
寻找假星
研究人员开发并使用了一种名为"StarScout"的工具,对来自"GHArchive"的 20TB 数据进行分析,以找出不真实的星星。
GHArchive 包含 2019 年 7 月至 2024 年 10 月期间超过 60 亿次 GitHub 事件的元数据,其中包括 3.1 亿个版本库和 6.1 亿颗星上的 6050 万次用户操作。
StarScout 能检测出在 GitHub 上活动极少的用户(如在单个版本库上加星)、具有僵尸或临时账户活动模式的用户,以及协调行动的账户组(如在短时间内加星相同的版本库)。
他们的方法基于 CopyCatch 算法,该算法旨在检测社交网络中的欺诈模式。
StarScout 数据处理概览
450 万颗星星被怀疑是假的
在应用低活跃度和锁定签名算法处理数据以识别各资源库中的可疑明星后,研究小组在 22915 个资源库中发现了由 1320000 个账户提供的 4530000 个疑似不真实的明星。
为了提高对这些明星真实性的可信度,研究人员只考虑了单月明星活动出现明显异常峰值,且假星比例高于明星总数 10%的资源库,从而过滤掉了潜在的误报。
这样,结果就减少到 15835 个素材库的 278000 个账户提供的 3100000 颗假星。
聚类行为等虚假模式的识别
截至2024年10月,其中约91%的资源库和62%的疑似不真实账户已被删除,这证明了StarScout工具的准确性。
研究还显示,假冒明星的活动在 2024 年激增,在 2024 年 7 月拥有超过 50 个明星的资源库中,约有 15.8%参与了这些恶意活动。
研究人员报告了 StarScout 在 2024 年 7 月发现的不真实软件源和账户,GitHub 将其全部删除。 不过,他们仍在评估和报告 2024 年 11 月发现的其他群集。
伪造星级资源库(已删除和存在)的词云
伪造星级对 GitHub 及其用户的影响是多方面的,但总的来说,这个问题会削弱人们对该平台及其上托管的各种软件项目的信任。
用户应抛开星级,评估版本库的活动和质量,阅读文档,检查内容和贡献,并尽可能审查代码。
欺骗性的 GitHub 存储库比比皆是,该平台甚至被利用于国家支持的行动,因此在从该平台下载软件时一定要谨慎。