当前位置: 首页 > 科技观察

谷歌发布了开源依赖的“内窥镜”

时间:2023-03-18 15:01:10 科技观察

现代企业的软件开发高度依赖开源项目。巨大的安全隐患。1、开源安全危机无孔不入据安全牛《开源盛世需警惕“安失之乱”》此前的报道,现代软件中自由软件和开源软件(FOSS)的比例高达80%-90%。同时,75%的开源代码库存在安全漏洞,其中49%为高危漏洞。国内开源安全形势尤为严峻,因为国产软件很大一部分是组装而成的,其原材料都是开源软件。开源软件已经成为网络空间的“砖瓦”,无处不在。开源软件中的安全问题会影响依赖它的其他开源软件。这种逐层依赖创建了一个非常隐蔽和复杂的攻击面。近日,谷歌发布了一款新的实验性开源依赖分析工具OpenSourceInsights,它可以帮助开发者发现他们使用的开源包/库的依赖关系以及他们当前已知的安全漏洞。2.开源依赖分析OpenSourceInsights是谷歌云平台托管的一个工具。通过网站访问,用户可以输入具体开源包的名称,得到其与开源项目的依赖关系概览,包括以下信息:关于软件包的信息(描述、所有权、链接)依赖关系(开源组件)packagedependson)Dependents(依赖此开源组件的包)SecurityBulletins(包和依赖项中的已知漏洞,非托管依赖项等)License除此之外,Insights还提供交互式工具来可视化和分析完整的、可传递的依赖关系图。它还提供了一个比较工具,突出显示不同版本的软件包如何影响您的依赖关系:可能是通过更改它们自己的依赖关系、添加许可要求或修复安全问题,”OpenSourceInsights团队解释道。该工具目前显示有关50,000个(Rust)Cargo包、600,000个Go模块、420,000个Maven(Java)和3600千个npm包(Node.js)的信息。此外,谷歌正在开发额外的打包系统。Insights开发团队解释说:“该项目扫描它可以发现的所有可用包,或者通过阅读npm等系统包的主站点,或者通过扫描GitHub和其他存储库托管站点。“目前,Insights只能使用已知的打包模型分析此类系统,因为它需要打包信息来构建依赖关系图。这意味着至少目前他们没有C或C++的数据,没有明确的打包模型。3.提高安全性开源供应链由于企业软件开发对开源软件的依赖程度越来越高,而且不受管理的开源代码带来的安全风险(包括安全漏洞、过时或过时的组件以及许可合规性问题)无处不在,企业软件开发团队需要密切关注软件解决方案包中许多频繁变化的开源代码依赖项。开发人员可以使用漏洞扫描器和依赖项审计来识别漏洞,但OpenSourceInsights提供了对软件供应链安全更广泛和更深入的思考。Insights并没有试图取代标准工具集,而是通过针对每个包模型的整个生态系统的新集成视图来增强它。“一个关键的区别是Insights数据来自软件本身及其包定义,”谷歌解释道。结果可能与仅声明的依赖项(例如打包“锁定”文件)完全不同或更完整。此外,Insights提供的数据会定期重新评估以保持最新状态,这在快速发展的开源开发世界中非常重要。“Insights还跟踪各种公共漏洞数据库以标记已知的安全问题。谷歌表示,常用软件包的数据通常是最新的,但非活动和旧软件包的数据可能已过时。”安安牛原创文章,转载请通过安安牛(微信?id:gooann-sectv)获得授权】点此查看该作者更多好文