代码分析方法、装置以及系统与流程

文档序号:34275293发布日期:2023-05-27 11:44阅读:54来源:国知局
代码分析方法、装置以及系统与流程

本申请涉及计算机领域,具体而言,涉及一种代码分析方法、装置、计算机可读存储介质以及代码分析系统。


背景技术:

1、一些大型互联网公司通常会采购多款代码扫描工具对公司的项目代码进行扫描。常用的代码扫描工具有fortify、coverity、blackduck等。

2、其中每一款扫描工具都有各自的扫描客户端和漏洞分析客户端,每次扫描时通过扫描客户端进行扫描,扫描完成后输出一个扫描结果文件,之后再通过漏洞分析客户端打开扫描结果文件进行本次扫描结果的漏洞处理。

3、然而,现实中一个项目通常包含几十个甚至上百个子项目,手动对每个子项目代码分别进行扫描,容易出现扫描混乱、重复扫和漏扫的情况,由于不同的扫描软件使用不同的客户端处理漏洞,导致漏洞重复处理、漏洞遗漏未处理的情况。另外,手动处理使得代码扫描和漏洞处理效率低下,且人员对扫描软件的学习成本较高。


技术实现思路

1、本申请实施例提供了一种代码分析方法、装置、计算机可读存储介质以及代码分析系统,以至少解决相关技术中手动对项目的代码进行扫描和漏洞分析,容易出错的问题。

2、根据本申请的一个实施例,提供了一种代码分析方法,包括:响应于作用在分析登陆界面上的第一操作,在显示设备上显示项目管理界面,所述项目管理界面包括多个主操作标识,所述主操作标识为待分析的主项目的操作标识;响应于作用在目标主操作标识上的第二操作,确定目标主项目下多个子项目的定时任务和项目信息,所述目标主操作标识为多个所述主操作标识中之一,所述目标主项目为所述目标主操作标识对应的所述主项目,所述项目信息包括所述子项目的代码信息,所述定时任务为定时对所述代码信息进行分析的任务;根据所述定时任务以及所述项目信息,生成包括所述代码信息的最终分析指令,并在触发所述定时任务的情况下,发送所述最终分析指令至代理服务,使得所述代理服务将所述最终分析指令转发至分析服务器中对应的代码分析软件,以使所述代码分析软件根据所述最终分析指令对所述子项目的代码进行分析,生成漏洞信息;接收所述代理服务返回的各所述子项目的所述漏洞信息,并在所述显示设备上显示所述漏洞信息。

3、在一个示例性实施例中,响应于作用在目标主操作标识上的第二操作,确定目标主项目下多个子项目的定时任务和项目信息,包括:响应于作用在所述目标主操作标识上的所述第二操作,显示所述目标主项目的管理界面,所述管理界面包括所述主项目的项目名称以及第一编辑区域;响应于作用在所述第一编辑区域上的第三操作,显示多个所述子项目的管理界面并确定各所述项目信息,所述子项目的管理界面显示有第二编辑区域;响应于作用在所述第二编辑区域上的第四操作,确定所述定时任务。

4、在一个示例性实施例中,所述定时任务包括定时时刻以及在当前时刻达到所述定时时刻的情况下触发的初始分析指令,所述初始分析指令为指示对所述子项目的代码进行分析的通用指令,所述项目信息还包括所述子项目的项目名称,根据所述定时任务以及所述项目信息,生成包括所述代码信息的最终分析指令,包括:根据所述项目名称,将所述初始分析指令转换为所述代码分析软件可识别的中间分析指令;根据所述中间分析指令以及所述代码信息,生成所述最终分析指令。

5、在一个示例性实施例中,所述方法还包括:根据多个所述定时时刻,将对应的多个所述最终分析指令进行顺序排列,在触发所述定时任务的情况下,发送所述最终分析指令至代理服务,包括:在所述当前时刻达到所述定时时刻,且接收到上一个所述最终分析指令对应的所述漏洞信息的情况下,将当前的所述最终分析指令发送至所述代理服务。

6、在一个示例性实施例中,接收所述代理服务返回的各所述子项目的所述漏洞信息,并在所述显示设备上显示所述漏洞信息,包括:接收多个所述漏洞信息;在多个所述漏洞信息中存在重复的漏洞信息的情况下,去除所述重复的漏洞信息,得到去重后的漏洞信息;生成所述去重后的漏洞信息的漏洞说明,并对所述漏洞说明以及所述去重后的漏洞信息进行分类,得到分类后的漏洞信息;在所述显示设备上显示所述分类后的漏洞信息。

7、在一个示例性实施例中,所述代码信息包括所述子项目的代码地址、代码分支信息和分析配置信息,所述分析配置信息为所述代码分析软件运行所需的配置信息。

8、根据本申请的另一个实施例,提供了一种代码分析装置,包括:显示单元,用于响应于作用在分析登陆界面上的第一操作,在显示设备上显示项目管理界面,所述项目管理界面包括多个主操作标识,所述主操作标识为待分析的主项目的操作标识;确定单元,用于响应于作用在目标主操作标识上的第二操作,确定目标主项目下多个子项目的定时任务和项目信息,所述目标主操作标识为多个所述主操作标识中之一,所述目标主项目为所述目标主操作标识对应的所述主项目,所述项目信息包括所述子项目的代码信息,所述定时任务为定时对所述代码信息进行分析的任务;生成单元,用于根据所述定时任务以及所述项目信息,生成包括所述代码信息的最终分析指令,并在触发所述定时任务的情况下,发送所述最终分析指令至代理服务,使得所述代理服务将所述最终分析指令转发至分析服务器中对应的代码分析软件,以使所述代码分析软件根据所述最终分析指令对所述子项目的代码进行分析,生成漏洞信息;接收单元,用于接收所述代理服务返回的各所述子项目的所述漏洞信息,并在所述显示设备上显示所述漏洞信息。

9、根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述任一项方法实施例中的步骤。

10、根据本申请的又一个实施例,还提供了一种代码分析系统,包括:浏览器,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现任一项中所述的方法的步骤;代理服务,与位于所述分析服务器中的多个所述代码分析软件分别连接,所述代理服务还与所述浏览器连接。

11、在一个示例性实施例中,所述代理服务位于所述分析服务器中。

12、通过本申请,提供了一种对主项目下所有子项目的自动扫描和漏洞分析方案,用户通过在显示设备上操作,生成需要分析的主项目下的子项目的最终分析指令,并在触发子项目的定时任务时,将该最终分析指令通过代理服务发送给分析服务器中对应的代码分析软件进行扫描分析,再接收该代码服务器转发回的漏洞信息并显示在显示设备上,实现对项目代码的自动扫描和漏洞分析,无需手动一个一个扫描分析子项目,造成漏扫、重复扫等问题,保证了漏洞信息的准确性较高。



技术特征:

1.一种代码分析方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,响应于作用在目标主操作标识上的第二操作,确定目标主项目下多个子项目的定时任务和项目信息,包括:

3.根据权利要求1所述的方法,其特征在于,所述定时任务包括定时时刻以及在当前时刻达到所述定时时刻的情况下触发的初始分析指令,所述初始分析指令为指示对所述子项目的代码进行分析的通用指令,所述项目信息还包括所述子项目的项目名称,根据所述定时任务以及所述项目信息,生成包括所述代码信息的最终分析指令,包括:

4.根据权利要求3所述的方法,其特征在于,

5.根据权利要求1至4中任一项所述的方法,其特征在于,接收所述代理服务返回的各所述子项目的所述漏洞信息,并在所述显示设备上显示所述漏洞信息,包括:

6.根据权利要求1至4中任一项所述的方法,其特征在于,所述代码信息包括所述子项目的代码地址、代码分支信息和分析配置信息,所述分析配置信息为所述代码分析软件运行所需的配置信息。

7.一种代码分析装置,其特征在于,包括:

8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至6任一项中所述的方法的步骤。

9.一种代码分析系统,其特征在于,包括:

10.根据权利要求9所述的代码分析系统,其特征在于,所述代理服务位于所述分析服务器中。


技术总结
本申请实施例提供了一种代码分析方法、装置以及系统,其中,该方法包括:响应于作用在分析登陆界面上的第一操作,在显示设备上显示项目管理界面,项目管理界面包括多个主操作标识;响应于作用在目标主操作标识上的第二操作,确定目标主项目下多个子项目的定时任务和项目信息;根据定时任务以及项目信息,生成包括代码信息的最终分析指令,并在触发定时任务的情况下,发送最终分析指令至代理服务,使得代理服务将最终分析指令转发至分析服务器中对应的代码分析软件,以使代码分析软件根据最终分析指令对子项目的代码进行分析,生成漏洞信息;接收代理服务返回的各子项目的漏洞信息并显示。本申请解决了手动对项目的代码进行分析,容易出错的问题。

技术研发人员:刘凯,李俊昌,徐峥
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1