Visual Studio支持递移相依功能

微软现在于Visual Studio 17.3中支持递移相依(Transitive Dependency),以简化开发者在Visual Studio中的NuGet组件日常管理工作。直接相依关系很容易关注,但是开发者通常很难关注递移相依,因此微软于Visual Studio 17.3引入一项实验性功能,供用户查看递移相依项目,并能够采取相关的措施,以快速关注并且修复漏洞。

当前知名的组件生态系统,包括NuGet、npm、RubyGems和Maven Central,直接与递移相依关系之间存在明显的差异,根据GitHub的调查,项目的直接相依项目数量中位数为6到10个,但是直接相依关系所产生的递移相依关系,可能会额外产生20到70个递移相依项目,以.NET生态系统来说,每个项目的平均相依项目的总数为50个。

这个问题使得软件安全管理变得复杂,递移相依项目中存在不少漏洞,使得漏洞修复工作充满挑战,因此现在微软于Visual Studio的NuGet组件管理页面中,加入递移相依的标签,用户可以跟直接相依项目一样,点击递移相依项目,并且随时将任意递移相依项目,提升为直接相依项目。

微软提到,管理相依项目是一项重要的工作,用户需要花费许多心力,才能正确关注相依的函数库,通过更全面地掌握相依关系,深入了解函数库可能存在的已披露漏洞,并发现可能存在的攻击路径。