The widespread dependency on open-source software makes it a fruitful target for malicious actors, as demonstrated by recurring attacks. The complexity of today's open-source supply chains results in a significant attack surface, giving attackers numerous opportunities to reach the goal of injecting malicious code into open-source artifacts that is then downloaded and executed by victims. This work proposes a general taxonomy for attacks on open-source supply chains, independent of specific programming languages or ecosystems, and covering all supply chain stages from code contributions to package distribution. Taking the form of an attack tree, it covers 107 unique vectors, linked to 94 real-world incidents, and mapped to 33 mitigating safeguards. User surveys conducted with 17 domain experts and 134 software developers positively validated the correctness, comprehensiveness and comprehensibility of the taxonomy, as well as its suitability for various use-cases. Survey participants also assessed the utility and costs of the identified safeguards, and whether they are used.
翻译:对开放源码软件的广泛依赖使得它成为恶意行为者的一个富有成效的目标,正如一再发生的攻击所证明的那样。今天开放源码供应链的复杂性导致一个巨大的攻击表面,使攻击者有无数机会实现将恶意代码注入公开源码文物的目标,然后由受害者下载和执行。这项工作提议对攻击开放源码供应链进行总体分类,不受特定程序语言或生态系统的影响,涵盖从代码贡献到包装分发的所有供应链阶段。以攻击树的形式,它涵盖107个独特的矢量,与94起现实世界事件相关联,并绘制了与33起减轻风险的保障措施的地图。与17名领域专家和134名软件开发者进行的用户调查积极证实了分类的正确性、全面性和易懂性,以及它对各种使用案例的适宜性。调查参与者还评估了已确定的保障措施的效用和成本,以及是否使用了这些保障措施。