[发明专利]代码检测方法、装置、电子设备及存储介质在审
申请号: | 202310244794.5 | 申请日: | 2023-03-09 |
公开(公告)号: | CN116361793A | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 邝锐鹏 | 申请(专利权)人: | 武汉思普崚技术有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F8/41 |
代理公司: | 北京弘权知识产权代理有限公司 11363 | 代理人: | 逯长明;孙亚芹 |
地址: | 430070 湖北省武汉市武汉东湖新技术开发区光谷大道*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 检测 方法 装置 电子设备 存储 介质 | ||
1.一种代码检测方法,其特征在于,所述方法包括:
获取待检测代码;
生成所述待检测代码的抽象语法树;
将所述抽象语法树中各节点的节点信息与预设检测信息进行匹配,生成所述待检测代码的检测结果;
其中,所述节点信息包括节点类型、节点名称和节点属性值中的至少一项,所述预设检测信息包括风险节点类型、风险节点名称以及风险节点属性值中的至少一项。
2.根据权利要求1所述的方法,其特征在于,所述将所述抽象语法树中各节点的节点信息与预设检测信息进行匹配,生成所述待检测代码的检测结果,包括:
将所述抽象语法树中各节点的节点信息与所述预设检测信息进行匹配;
在任一节点的节点信息与所述预设检测信息匹配的情况下,生成所述待检测代码的第一检测结果,所述第一检测结果用于表示所述任一节点为风险节点;
在任一节点的节点信息与所述预设检测信息不匹配的情况下,生成所述待检测代码的第二检测结果,所述第二检测结果用于表示所述任一节点为安全节点。
3.根据权利要求2所述的方法,其特征在于,所述在任一节点的节点信息与所述预设检测信息匹配的情况下,生成所述待检测代码的第一检测结果,包括:
根据所述任一节点的节点名称和节点属性值,将所述任一节点的节点名称和所述任一节点的节点属性值组成键值对;
根据所述键值对生成所述待检测代码的第一检测结果。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述任一节点的节点信息,确定所述任一节点的节点名称;
通过访问所述任一节点的父节点,获取所述任一节点的节点属性值。
5.根据权利要求1所述的方法,其特征在于,所述待检测代码包括通过网站的代码链接获取的代码,所述代码链接为所述网站的开发代码的代码链接,在获取待检测代码之前,所述方法还包括:
接收所述网站的链接信息,并对所述链接信息进行格式校验;
在所述链接信息校验通过的情况下,根据所述链接信息获取所述网站的代码链接,以通过所述代码链接获取所述待检测代码。
6.根据权利要求5所述的方法,其特征在于,所述根据所述链接信息获取所述网站的代码链接,包括:
通过浏览器应用程序访问所述链接信息对应的所述网站,并利用所述浏览器应用程序的数据接口获取所述网站的资源文件链接;
根据代码链接后缀和所述资源文件链接对应的资源文件后缀,在所述资源文件链接中提取所述资源文件后缀与所述代码链接后缀相同的资源文件,得到所述代码链接。
7.根据权利要求1所述的方法,其特征在于,所述生成所述待检测代码的抽象语法树,包括:
利用代码编译器对所述待检测代码进行词法分析和语法分析,生成所述待检测代码的抽象语法树。
8.一种代码检测装置,其特征在于,所述装置包括:
获取模块,用于获取待检测代码;
语法树生成模块,用于生成所述待检测代码的抽象语法树;
结果生成模块,用于将所述抽象语法树中各节点的节点信息与预设检测信息进行匹配,生成所述待检测代码的检测结果;
其中,所述节点信息包括节点类型、节点名称和节点属性值中的至少一项,所述预设检测信息包括风险节点类型、风险节点名称以及风险节点属性值中的至少一项。
9.一种电子设备,其特征在于,包括:处理器;
存储器,用于存放至少一可执行指令;
所述可执行指令使所述处理器执行如权利要求1~7任意一项所述的代码检测方法的操作。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在电子设备上运行时,使得电子设备执行如权利要求1~7任意一项所述的代码检测方法的操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉思普崚技术有限公司,未经武汉思普崚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310244794.5/1.html,转载请声明来源钻瓜专利网。