- 简介本文介绍了软件材料清单(SBoM)的概念,它是软件构件、库和模块的详细清单,提供了整个软件供应链的可追溯性。由于JavaScript具有动态语法和无缝供应链集成的特点,在软件工程中越来越受欢迎,因此受到漏洞和攻击的威胁也显著增加。JavaScript应用程序包是一种经过合并、符号剥离和优化的代码集合,用于部署目的。通过反向工程过程从JavaScript应用程序包生成SBoM,即使没有访问原始依赖关系图,也可以确保供应商的软件发布的完整性、安全性和合规性。 本文介绍了首个针对JavaScript应用程序包的SBoM生成研究。我们确定了三个关键挑战,即嵌套代码作用域、极长的序列和大型检索空间。为了解决这些挑战,我们引入了Chain-of-Experts(CoE),这是一个多任务深度学习模型,通过三个任务生成SBoMs:代码分割、代码分类和代码克隆检索。我们在500个Web应用程序包上评估了CoE,并进行了超过66,000个依赖关系的实验。我们的实验结果表明,与单个任务特定解决方案相比,CoE提供了具有竞争力的结果,并且需要更少的训练和推理时间。因此,CoE提供了首个可扩展、高效和端到端的解决方案,用于实际JavaScript应用程序包的SBoM生成。
- 图表
- 解决问题如何从JavaScript应用程序包中生成SBoM,以确保供应商软件发布的完整性、安全性和合规性?
- 关键思路提出了一种名为Chain-of-Experts(CoE)的多任务深度学习模型,通过三个任务:代码分割、代码分类和代码克隆检索,生成JavaScript应用程序包的SBoM。
- 其它亮点使用CoE模型在500个Web应用程序包上进行了评估,结果显示CoE提供了具有竞争力的结果,并且训练和推理时间更短。这是第一个可扩展、高效和端到端的解决方案,用于生成真实世界JavaScript应用程序包的SBoM。
- 最近的相关研究包括:1)使用机器学习技术自动分析和处理软件组件的安全问题;2)使用SBoM来提高软件供应链安全性。
沙发等你来抢
去评论
评论
沙发等你来抢