Ruian Duan(乔治亚理工学院)、Omar Alrawi(乔治亚技术学院)、Ranjita Pai Kasturi(乔治亚理工学院
包管理器已经成为现代软件开发过程的重要组成部分。它们允许开发人员重用第三方代码,共享自己的代码,最小化代码库,并简化构建过程。然而,最近的报告显示,包管理器被攻击者滥用来分发恶意软件,给开发人员和最终用户带来了严重的安全风险。例如,在Npm中每周下载数百万次的eslint-scope软件包就遭到了破坏,从而窃取了开发人员的证书。为了理解导致最近发生供应链攻击的安全漏洞和错误信任,我们提出了一个比较框架,以定性评估解释语言的包管理器的功能和安全特征。基于定性评估,我们应用众所周知的程序分析技术,如元数据、静态和动态分析,来研究注册表滥用。我们最初的努力发现了339个新的恶意软件包,我们报告给注册中心进行删除。软件包管理维护人员从339个报告的软件包中确认了278个(82%),其中三个软件包的下载量超过100000次。对于这些包裹,我们收到了官方的CVE编号,以帮助加快从受感染的受害者身上取出这些包裹。我们概述了将程序分析工具定制为解释语言的挑战,并发布我们的管道,作为社区构建和帮助确保软件供应链安全的参考点。