[论文解读] Measuring and Preventing Supply Chain Attacks on Package Managers.
本文提出 MalOSS,一种结合元数据、静态分析与动态分析的审核流水线,用于检测包管理器中的恶意软件包。通过应用对比框架分析供应链攻击,作者识别并报告了339个恶意软件包,其中82%被确认并移除,另有3个下载量较高的软件包获得了CVE编号。
Package managers have become a vital part of the modern software development process. They allow developers to reuse third-party code, share their own code, minimize their codebase, and simplify the build process. However, recent reports showed that hundreds of malware have sneaked into package managers, which have been downloaded millions of times, posing significant security risks to developers as well as end-users. For example, eslint-scope, a package with millions of weekly downloads in Npm, was compromised to steal credentials from developers. To understand the attacks on package managers and the misplaced trust that makes them possible, we propose a comparative framework to study the package managers for interpreted languages. By systematically analyzing the recent attacks using our framework, we can identify security gaps and broken trust in the package manager ecosystem. Based on these insights, we propose and implement a vetting pipeline, MalOSS, to perform metadata, static and dynamic analysis on packages and flag the suspicious ones. Through iterative labeling, we identified and reported 339 malware to package manager maintainers. 278 (82 percent) of them have been confirmed and removed, and 3 of them with more than 100,000 downloads have been assigned CVEs. To help secure the ecosystem, we propose actionable security improvements for package manager maintainers and suggestions for other stakeholders.
研究动机与目标
- 理解包管理器中供应链攻击的根本原因,特别是针对解释型语言生态系统的攻击。
- 识别导致恶意软件渗入软件包仓库的系统性安全漏洞与失效的信任模型。
- 开发一种可扩展、可操作的审核流水线,能够在恶意软件造成广泛危害前及时识别其存在。
- 通过基于证据的建议,提升包管理器生态系统的整体安全水平,为维护者与利益相关方提供支持。
提出的方法
- 设计一种对比框架,基于信任与安全属性,系统性地评估解释型语言的包管理器。
- 执行元数据分析,检测作者、依赖关系与发布历史中的异常行为。
- 应用静态分析,检测软件包源代码中的混淆代码、可疑API调用及已知恶意模式。
- 通过在隔离环境中执行软件包,开展动态分析,观察运行时行为,包括网络与系统调用。
- 实施迭代式标记流程,验证可疑软件包,并对其进行分类,以便向维护者报告。
- 向包管理器维护者报告已识别的恶意软件,附带证据,支持下架处理与CVE编号分配。
实验结果
研究问题
- RQ1哪些常见的攻击向量与信任模型缺陷导致了包管理器中的供应链攻击?
- RQ2多层分析流水线(元数据、静态、动态)在真实生态系统中检测恶意软件包的有效性如何?
- RQ3报告的恶意软件包中,有多少比例被维护者确认并移除?有多少获得了CVE编号?
- RQ4可以向包管理器维护者及其他利益相关方提出哪些安全改进措施,以减少未来的攻击面?
主要发现
- 该研究在包管理器中识别出339个恶意软件包,其中278个(82%)在报告后被维护者确认并移除。
- 三个每周下载量超过100,000的恶意软件包获得了CVE标识符,表明其具有高风险影响。
- 该框架成功检测到广泛使用软件包(如 eslint-scope)中的恶意行为,该软件包曾被利用以窃取开发者凭证。
- 多阶段分析流水线(元数据、静态、动态)在发现混淆代码与行为恶意代码方面表现有效。
- 绝大多数报告的软件包被迅速移除,证明了主动检测与报告机制的可行性与实际影响力。
- 研究结果揭示了包管理器生态系统中系统性的信任问题,尤其是在作者声誉与依赖完整性方面。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。