在GO中,开源软件的广泛采用导致了繁荣的第三方依赖性生态系统,这些生态系统通常被整合到关键系统中。但是,依赖关系的再利用引入了重大的供应链安全风险,因为单个折衷的软件包可能会产生级联的影响。现有的供应链攻击分类法忽略了特定于语言的功能,这些功能可以被攻击者隐藏恶意代码。在本文中,我们提出了一种针对GO语言及其包装生命周期的12个不同攻击向量的新颖分类学。我们的分类法确定了用于良性目的的特定语言的GO特征,可以滥用以通过供应链隐秘地传播恶意代码。此外,我们推出了Gosurf,这是一种静态分析工具,该工具根据我们提出的分类法分析GO包装的攻击表面。我们评估了500个使用现实世界中的500个语料库的Gosurf。我们的工作提供了确保GO生态系统中开源软件供应链的初步见解,使开发人员和安全分析师可以优先考虑代码审核工作并发现隐藏的恶意行为。
主要关键词