[发明专利]源代码检测方法、装置、计算机设备和存储介质在审
申请号: | 202211647786.7 | 申请日: | 2022-12-21 |
公开(公告)号: | CN116257856A | 公开(公告)日: | 2023-06-13 |
发明(设计)人: | 袁俊杰;王波;张英伟;韩世龙;崔恩泽 | 申请(专利权)人: | 国科华盾(北京)科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/56;G06N3/0464;G06N3/08 |
代理公司: | 北京华进京联知识产权代理有限公司 11606 | 代理人: | 安孔川 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源代码 检测 方法 装置 计算机 设备 存储 介质 | ||
1.一种源代码检测方法,其特征在于,所述方法包括:
获取待检测的源代码,基于预设敏感代码提取规则,从所述待检测的源代码中提取代码语句,并生成每个所述代码语句对应的程序依赖图,所述程序依赖图包含所述代码语句对应的上下文关联代码语句、以及代码行数标识;
针对每个所述代码语句,根据所述代码语句在所述程序依赖图中的上下文关联代码语句对应的行数标识,在各所述代码语句中进行前向提取和后向提取,生成代码片段;
针对每个所述代码片段,根据预设像素字典对所述代码片段进行像素转换处理,得到代码图像数据;
将各所述代码图像数据输入预先训练的代码检测模型进行检测,得到所述待检测的源代码对应的漏洞检测标识,所述漏洞检测标识包括正常数据标识和漏洞数据标识。
2.根据权利要求1所述的方法,其特征在于,所述针对每个所述代码语句,根据所述代码语句在所述程序依赖图中的上下文关联代码语句对应的行数标识,在各所述代码语句中进行前向提取和后向提取,生成代码片段,包括:
针对每个所述代码语句,根据所述代码语句在所述程序依赖图中的上下文关联代码语句对应的代码行数标识,分别进行前向切片处理和后向切片处理,得到所述代码语句对应的前向切片序列和后向切片序列;
根据所述前向切片序列和所述后向切片序列,在各所述代码语句中进行前向提取和后向提取,得到多个提取后的目标代码语句,将各所述目标代码语句进行拼接,生成所述代码语句对应的代码片段。
3.根据权利要求1所述的方法,其特征在于,所述针对每个所述代码片段,根据预设像素字典对所述代码片段进行像素转换处理,得到代码图像数据,包括:
针对每个所述代码片段,根据预设像素字典,对所述代码片段中的各字符进行像素转换,得到所述代码片段对应的三维像素矩阵;
对所述三维像素矩阵进行归一化处理,得到代码图像数据。
4.根据权利要求3所述的方法,其特征在于,所述针对每个所述代码片段,根据预设像素字典,对所述代码片段中的各字符进行像素转换,得到所述代码片段对应的三维像素矩阵之前,还包括:
针对每个所述代码片段,对所述代码片段进行字符去重处理,得到去重后的代码片段;
获取所述去重后的代码片段包含的各字符的交换码,并根据预设颜色转换规则,将各所述交换码转换为颜色值;
根据各所述字符对应的颜色值构建预设像素字典。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于预设敏感代码提取规则,提取样本代码数据集中的样本代码语句,作为第一代码数据集,所述样本代码数据集包括多个样本代码语句和各所述样本代码语句对应的漏洞检测标识;
针对每个第一代码语句,生成每个所述第一代码语句对应的程序依赖图,根据所述第一代码语句在所述程序依赖图中的上下文关联代码语句对应的所述行数标识,在所述第一代码数据集中进行前向提取和后向提取,得到多个提取后的所述第一代码语句,并将各所述提取后的第一代码语句进行拼接,生成第一代码片段;
根据预设像素字典对各所述第一代码片段进行像素转换处理,得到多个第一代码图像数据;
基于各所述第一代码图像数据和各所述代码片段对应的漏洞检测标识,对图卷积神经网络模型进行训练,得到代码检测模型,所述代码检测模型用于检测源代码的漏洞标识。
6.根据权利要求5所述的方法,其特征在于,所述对图卷积神经网络模型进行训练,得到代码检测模型之后,还包括:
获取测试数据集,所述测试数据集包括各测试代码图像数据和各所述测试代码图像数据的漏洞检测标识;
将所述测试数据集输入所述代码检测模型中进行模型测试,得到测试结果;
将所述测试结果与所述测试数据集中的所述漏洞检测标识对比,判断是否符合预设的相关度条件,如果满足所述预设的相关度条件则保存所述代码检测模型作为最终的代码检测模型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国科华盾(北京)科技有限公司,未经国科华盾(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211647786.7/1.html,转载请声明来源钻瓜专利网。