组件依赖关系分析方法、装置与介质制造方法及图纸

技术编号:36166564 阅读:12 留言:0更新日期:2022-12-31 20:16
本发明专利技术涉及计算机技术领域,公开了一种组件依赖关系分析方法、装置与介质。本发明专利技术通过调用检测引擎,并在检测引擎确定第三方组件为架构项目时,通过检测引擎中的包装机GradleW命令引擎对架构项目中依赖的第三方组件进行分析;在检测到包装机GradleW命令引擎解析失败时,调用深度解析器对架构项目中依赖的第三方组件进行组件依赖解析以获得定位信息;根据定位信息获取依赖组件数据,并对依赖组件数据进行汇总,生成依赖组件列表。通过基于GradleW命令对Gradle项目中依赖的第三方组件进行分析,从而提高组件依赖分析识别率、准确率。准确率。准确率。

【技术实现步骤摘要】
组件依赖关系分析方法、装置与介质


[0001]本专利技术涉及计算机
,尤其涉及一种组件依赖关系分析方法、装置与介质。

技术介绍

[0002]组件依赖是指能够完成某种功能并且向外暴露一个或多个接口的代码集。组件依赖可以分为第三方开源组件库和自有组件库两种。
[0003]现如今的应用开发,无论是后端服务器应用还是前端应用开发,都需借助开发框架和各种组件库进行快速开发。据统计,现在一个应用有将近80%的代码其实是来自于第三方组件的依赖库,而应用自身编写的程序代码其实只有20%左右。目前市场上存在的技术和产品一般通过数据和执行命令来分析组件依赖,然而,现有的相关技术和产品在进行基于GradleW(Gradle Wrapper,包装机)分析Java组件依赖时,还存在组件识别率低、准确率低的问题。

技术实现思路

[0004]本专利技术的主要目的在于提出一种组件依赖关系分析方法、装置与介质,旨在提高组件依赖分析识别率、准确率。
[0005]为实现上述目的,本专利技术提供一种组件依赖关系分析方法,所述组件依赖关系分析方法包括如下步骤:调用检测引擎,并在所述检测引擎确定第三方组件为架构项目时,通过所述检测引擎中的包装机GradleW命令引擎对所述架构项目中依赖的第三方组件进行分析;在检测到所述包装机GradleW命令引擎解析失败时,调用深度解析器对所述架构项目中依赖的第三方组件进行组件依赖解析以获得定位信息;根据所述定位信息获取依赖组件数据,并对所述依赖组件数据进行汇总,生成依赖组件列表。
>[0006]优选地,所述包装机GradleW命令引擎包括GradleW dependencies命令,所述架构项目包括Gradle项目,所述调用检测引擎,并在所述检测引擎确定当前第三方组件为架构项目时,通过所述检测引擎中的包装机GradleW命令引擎对所述架构项目中依赖的第三方组件进行解析的步骤包括:调用检测引擎,并通过所述检测引擎判断第三方组件是否为Gradle项目;若所述第三方组件为Gradle项目,则通过所述检测引擎中的GradleW dependencies命令解析运行时使用的第三方组件,以获得第三方组件依赖的定位信息。
[0007]优选地,所述调用检测引擎,并通过所述检测引擎判断第三方组件是否为架构应用的步骤之后,还包括:若所述第三方组件不为Gradle项目,则确定所述第三方组件解析失败,并退出组件依赖关系分析。
[0008]优选地,所述调用检测引擎,并在所述检测引擎确定第三方组件为架构项目时,通
过所述检测引擎中的包装机GradleW命令引擎对所述架构项目中依赖的第三方组件进行解析的步骤之前,还包括:收集第三方组件的pom文件,并根据所述pom文件构建本地资源库,以及将所述pom文件存储至本地仓库。
[0009]优选地,所述在检测到所述包装机GradleW命令引擎解析失败时,调用深度解析器对所述架构项目中依赖的第三方组件进行组件依赖解析以获得定位信息的步骤包括:在检测到所述包装机GradleW命令引擎解析失败时,进入深度解析模式,调用深度解析器读取所述架构项目中依赖的第三方组件中build.gradle文件内容,并通过预设正则表达式匹配获取dependencies内容;基于所述dependencies内容,通过预设正则表达式匹配组件依赖以获取定位信息,其中,所述定位信息包括第三方组件依赖组织名称、第三方组件依赖组件名称以及第三方组件依赖版本号。
[0010]优选地,所述根据所述定位信息获取依赖组件数据,并对所述依赖组件数据进行汇总,生成依赖组件列表,以及展示所述依赖组件列表的步骤包括:根据所述定位信息对所述深度解析器的解析结果进行收集,获得对应的依赖组件数据;基于预设过滤机制对所述依赖组件数据进行过滤,得到对应的目标依赖组件数据,并根据所述组件目标依赖组件数据生成依赖组件列表,以及展示所述依赖组件列表。
[0011]优选地,所述依赖组件列表包括依赖组件的漏洞类型、许可信息、风险等级、黑边名单中的一种或几种的组合。
[0012]优选地,所述通过所述检测引擎中的包装机GradleW命令引擎对所述架构项目中依赖的第三方组件进行分析的步骤之后,还包括:在检测到所述包装机GradleW命令引擎解析成功时,获得对应的依赖组件数据,并生成依赖组件列表,以及展示所述依赖组件列表。
[0013]此外,为实现上述目的,本专利技术还提供一种组件依赖关系分析装置,所述组件依赖关系分析装置包括:调用模块,用于调用检测引擎,并在所述检测引擎确定当前第三方组件为架构项目时,通过所述检测引擎中的包装机GradleW命令引擎对所述架构项目中依赖的第三方组件进行分析;解析模块,用于在检测到所述包装机GradleW命令引擎解析失败时,调用深度解析器对所述架构项目进行组件依赖解析以获得定位信息;展示模块,用于根据所述定位信息获取依赖组件数据,并对所述依赖组件数据进行汇总,生成依赖组件列表。
[0014]此外,为实现上述目的,本专利技术还提供一种组件依赖关系分析系统,所述组件依赖关系分析系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的组件依赖关系分析程序,所述组件依赖关系分析程序被所述处理器执行时实现如上所述的组件依赖关系分析方法的步骤。
[0015]此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有组件依赖关系分析程序,所述组件依赖关系分析程序被处理器执行时实
现如上所述的组件依赖关系分析方法的步骤。
[0016]本专利技术提出的组件依赖关系分析方法、装置与介质;本专利技术首先通过调用检测引擎,并在检测引擎确定第三方组件为架构项目时,通过检测引擎中的包装机GradleW命令引擎对架构项目中依赖的第三方组件进行分析;在检测到GradleW命令引擎解析失败时,调用深度解析器对架构项目中依赖的第三方组件进行组件依赖解析以获得定位信息;根据定位信息获取依赖组件数据,并对依赖组件数据进行汇总,生成依赖组件列表。通过基于GradleW命令对Gradle项目中依赖的第三方组件进行分析,从而提高组件依赖分析识别率、准确率。
附图说明
[0017]图1是本专利技术实施例方案涉及的硬件运行环境的设备结构示意图;图2为本专利技术组件依赖关系分析方法第一实施例的流程示意图;图3为本专利技术组件依赖关系分析方法组件依赖关系分析的流程示意图;图4为本专利技术组件依赖关系分析方法Gradle项目构建流程示意图;图5为本专利技术组件依赖关系分析方法第二实施例的流程示意图;图6为本专利技术组件依赖关系分析方法第三实施例的流程示意图;图7为本专利技术组件依赖关系分析方法第四实施例的流程示意图;图8为本专利技术组件依赖关系分析装置第一实施例的功能模块示意图。
[0018]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0019]应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0020]如图1所示本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种组件依赖关系分析方法,其特征在于,所述组件依赖关系分析方法包括如下步骤:调用检测引擎,并在所述检测引擎确定第三方组件为架构项目时,通过所述检测引擎中的包装机GradleW命令引擎对所述架构项目中依赖的第三方组件进行分析;在检测到所述包装机GradleW命令引擎解析失败时,调用深度解析器对所述架构项目中依赖的第三方组件进行组件依赖解析以获得定位信息;根据所述定位信息获取依赖组件数据,并对所述依赖组件数据进行汇总,生成依赖组件列表。2.如权利要求1所述的组件依赖关系分析方法,其特征在于,所述包装机GradleW命令引擎包括GradleW dependencies命令,所述架构项目包括Gradle项目,所述调用检测引擎,并在所述检测引擎确定当前第三方组件为架构项目时,通过所述检测引擎中的GradleW命令引擎对所述Gradle项目中依赖的第三方组件进行解析的步骤包括:调用检测引擎,并通过所述检测引擎判断第三方组件是否为Gradle项目;若所述第三方组件为Gradle项目,则通过所述检测引擎中的GradleW dependencies命令解析运行时使用的第三方组件,以获得第三方组件依赖的定位信息。3.如权利要求2所述的组件依赖关系分析方法,其特征在于,所述调用检测引擎,并通过所述检测引擎判断第三方组件是否为架构应用的步骤之后,还包括:若所述第三方组件不为Gradle项目,则确定所述第三方组件解析失败,并退出组件依赖关系分析。4.如权利要求1所述的组件依赖关系分析方法,其特征在于,所述调用检测引擎,并在所述检测引擎确定第三方组件为架构项目时,通过所述检测引擎中的包装机GradleW命令引擎对所述架构项目中依赖的第三方组件进行解析的步骤之前,还包括:收集第三方组件的pom文件,并根据所述pom文件构建本地资源库,以及将所述pom文件存储至本地仓库。5.如权利要求1所述的组件依赖关系分析方法,其特征在于,所述在检测到所述包装机GradleW命令引擎解析失败时,调用深度解析器对所述架构项目中依赖的第三方组件进行组件依赖解析以获得定位信息的步骤包括:在检测到所述包装机GradleW命令引擎解析失败时,进...

【专利技术属性】
技术研发人员:万振华
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1