中文

SourceBroken:对PyPI生态系统中SourceRank(不)可靠性的大规模分析

密码学与安全 2026-01-01 v1 软件工程

摘要

SourceRank是一个由18个指标组成的评分系统,用于评估开源软件包的流行度和质量。尽管该系统已被用于多项近期研究,但尚无研究彻底分析其在面对旨在抬高恶意软件包分数、从而将其伪装成可信软件包的规避攻击时的可靠性。为填补这一空白,我们首先提出了一个威胁模型,该模型识别了每个指标潜在的规避方法,包括URL混淆技术,该技术通过利用指向可能与恶意软件包无关的合法仓库的URL,可影响18个指标中的5个。此外,我们通过分析最先进的MalwareBench数据集以及一个包含122,398个软件包的真实世界数据集中良性软件包和恶意软件包的SourceRank分布,研究了SourceRank在PyPI生态系统中的可靠性。我们的分析揭示,尽管历史数据表明良性软件包和恶意软件包之间存在明显区别,但真实世界中的分布重叠显著,这主要是由于SourceRank未能及时反映软件包的移除情况。因此,在真实场景中,SourceRank不能被可靠地用于区分良性和恶意软件包,也不能用于从PyPI上可用的软件包中选择良性软件包。最后,我们的分析揭示,URL混淆代表了一种新兴的攻击向量,其流行度从MalwareBench中的4.2%上升到我们真实世界数据集中的7.0%。此外,该技术常与其他规避技术一同使用,并能显著抬高恶意软件包的SourceRank指标。

关键词

引用

@article{arxiv.2512.24400,
  title  = {SourceBroken: A large-scale analysis on the (un)reliability of SourceRank in the PyPI ecosystem},
  author = {Biagio Montaruli and Serena Elisa Ponta and Luca Compagna and Davide Balzarotti},
  journal= {arXiv preprint arXiv:2512.24400},
  year   = {2026}
}

备注

Accpted for the 41st ACM/SIGAPP Symposium on Applied Computing (SAC '26), March 23--27, 2026, Thessaloniki, Greece