代码识别方法、终端设备及存储介质技术

技术编号:37981089 阅读:10 留言:0更新日期:2023-06-30 09:56
本申请公开了一种代码识别方法、终端设备及存储介质,涉及计算机领域。所述方法包括:获取代码数据,所述代码数据包括部分或全部匿名代码;对所述代码数据进行解析以及抽象化处理,生成所述代码数据对应的抽象语法树;遍历所述抽象语法树,并对所述抽象语法树进行特征提取,得到所述抽象语法树的节点信息;确定所述节点信息中的目标节点,并根据所述目标节点生成路径信息;基于预训练好的代码识别模型,根据所述路径信息确定所述代码数据对应的身份信息。本申请实施例旨在准确地识别出恶意代码,从而在自动化测试平台准确地对恶意代码进行溯源以及定位,提高了测试平台的稳定性和安全性,提高了用户体验。提高了用户体验。提高了用户体验。

【技术实现步骤摘要】
代码识别方法、终端设备及存储介质


[0001]本申请涉及计算机领域,尤其涉及一种代码识别方法、终端设备及存储介质。

技术介绍

[0002]现有的自动化测试平台中,由于系统服务过程中会存在高并发以及多业务模块场景,因此原有的单体架构无法满足系统需求,从而采用更为灵活、更为多样的原子化微服务分布式架构。
[0003]然而微服务分布式架构的自动化测试平台虽然拥有着高并发与易拓展的性质,但是随之而来的将是不可忽视的安全问题。比如,在自动化测试平台中用于写入测试用例的代码语言可能会被注入恶意代码,而这种恶意代码可能会破坏测试平台的稳定性,从而影响了自动化测试平台的安全性,用户体验较差。

技术实现思路

[0004]本申请提供了一种代码识别方法、终端设备及存储介质,旨在准确地识别出恶意代码,从而在自动化测试平台准确地对恶意代码进行溯源以及定位,提高了测试平台的稳定性和安全性,提高了用户体验。
[0005]第一方面,本申请提供了一种代码识别方法,应用于原子化微服务分布式架构的平台,所述方法包括:获取代码数据,所述代码数据包括部分或全部匿名代码;对所述代码数据进行解析以及抽象化处理,生成所述代码数据对应的抽象语法树;遍历所述抽象语法树,并对所述抽象语法树进行特征提取,得到所述抽象语法树的节点信息;确定所述节点信息中的目标节点,并根据所述目标节点生成路径信息;基于预训练好的代码识别模型,根据所述路径信息确定所述代码数据对应的身份信息。
[0006]第二方面,本申请提供一种终端设备,所述终端设备包括存储器和处理器;
[0007]所述存储器,用于存储计算机程序;
[0008]所述处理器,用于执行所述的计算机程序并在执行所述的计算机程序时实现如上述所述的代码识别方法。
[0009]第三方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述所述的代码识别方法。
[0010]本申请提供一种代码识别方法、终端设备及存储介质,其中,该代码识别方法应用于原子化微服务分布式架构的平台。本申请通过获取代码数据,所述代码数据包括部分或全部匿名代码;对所述代码数据进行解析以及抽象化处理,生成所述代码数据对应的抽象语法树;遍历所述抽象语法树,并对所述抽象语法树进行特征提取,得到所述抽象语法树的节点信息;确定所述节点信息中的目标节点,并根据所述目标节点生成路径信息;基于预训练好的代码识别模型,根据所述路径信息确定所述代码数据对应的身份信息。由此可以准确地识别出恶意代码,从而在自动化测试平台准确地对恶意代码进行溯源以及定位,提高
了测试平台的稳定性和安全性,提高了用户体验。
[0011]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0012]为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0013]图1是本申请实施例提供的一种代码识别方法的步骤流程示意图;
[0014]图2是本申请实施例提供的一种代码数据转化为抽象语法树的应用场景示意图;
[0015]图3是本申请实施例提供的一种节点信息的示意图;
[0016]图4是本申请实施例提供的一种目标节点转化为路径信息的应用场景示意图;
[0017]图5是本申请实施例提供的一种路径信息转化为数字向量的应用场景示意图;
[0018]图6是本申请实施例提供的一种代码识别模型的测试准确率的示意图;
[0019]图7是本申请实施例提供的一种代码识别方法的应用场景示意图;
[0020]图8是本申请实施例提供的一种终端设备的结构示意性框图;
[0021]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
具体实施方式
[0022]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0023]附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0024]应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0025]还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0026]现有的自动化测试平台主要用于系统更新与测试,其中包括:环境预处理模块,根据前端的用户下发的远程调试信息,Server端在调度符合条件的环境与执行器;镜像监听模块,实时扫描目标文件夹获取更新的系统镜像,镜像资源用于设备烧录更新;用例测试模块,实现镜像烧录完成后的测试执行;结果生成模块,产生测试报告并进行汇总,释放环境测试计划执行结束。
[0027]具体地,整体架构包括用户层、服务层、执行层、终端设备层。其总体流程概述:1.用户通过前端界面发起远程调试。2.执行环境预处理模块,处于服务层的任务调度向环境
管理模块申请符合条件的环境资源池。3.在执行器管理中的执行器池里查询符合条件的执行器Client随后下发任务,调用执行池调度模块,随后上报结果,释放环境。
[0028]其中,环境预处理模块的工作流程包括:用户层通过前端界面发起远程调试,处于服务层的任务调度向环境管理模块申请符合条件的环境资源池,在执行器管理中的执行器池里查询符合条件的执行器Client随后启动执行调度模块。
[0029]镜像监听模块与用例测试模块合并称为执行调度模块。执行调度模块的工作流程包括:开启监听脚本,每获取目录信息判断系统镜像是否更新,将更新的镜像文件传入工作目录并对设备进行烧录更新。烧录更新完成的设备会通过端口检测,将开发者选项开启的设备进行XDevice测试。
[0030]结果生成模块的工作流程包括:执行调度模块完成后,生成测试报告,上报结果将其汇总,等待环境释放成功,任务调度层返回执行结束,返回测试完毕结果。
[0031]以上是对于自动化测试平台的简要概述,从内容来看,系统服务过程中会存在高并发以及多业务模块场景,因此原有的单体架构无法满足系统需求,因此采用更为灵活、更为多样的原子化微服务分布式架构。
...

【技术保护点】

【技术特征摘要】
1.一种代码识别方法,其特征在于,应用于原子化微服务分布式架构的平台,所述方法包括:获取代码数据,所述代码数据包括部分或全部匿名代码;对所述代码数据进行解析以及抽象化处理,生成所述代码数据对应的抽象语法树;遍历所述抽象语法树,并对所述抽象语法树进行特征提取,得到所述抽象语法树的节点信息;确定所述节点信息中的目标节点,并根据所述目标节点生成路径信息;基于预训练好的代码识别模型,根据所述路径信息确定所述代码数据对应的身份信息。2.根据权利要求1所述的方法,其特征在于,所述对所述代码数据进行解析以及抽象化处理,生成所述代码数据对应的抽象语法树,包括:对所述代码数据进行解析,得到代码信息;对所述代码信息进行筛选处理,得到目标代码信息;根据所述目标代码信息生成所述代码数据对应的抽象语法树。3.根据权利要求2所述的方法,其特征在于,所述目标代码信息包括第一类代码信息和第二类代码信息,所述根据所述目标代码信息生成所述代码数据对应的抽象语法树,包括:根据所述第一类代码信息确定所述抽象语法树的主体信息;根据所述第二类代码信息确定所述抽象语法树的连接信息;根据所述主体信息和所述连接信息生成所述抽象语法树。4.根据权利要求1所述的方法,其特征在于,所述遍历所述抽象语法树,并对所述抽象语法树进行特征提取,得到所述抽象语法树的节点信息,包括:基于预设的遍历函数,遍历所述抽象语法树,并对所述抽象语法树进行特征提取,得到所述抽象语法树的树形结构信息;基于预设的转换函数,对所述树形结构信息进行转换处理,得到所述抽象语法树的节点信息。5.根据权利要求1所述的方法,其特征在于,所述确定所述节点信息中的...

【专利技术属性】
技术研发人员:付志豪
申请(专利权)人:深圳开鸿数字产业发展有限公司
类型:发明
国别省市:

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

1