本说明书涉及计算机,尤其涉及一种代码风险检测方法、装置、电子设备及计算机存储介质。
背景技术:
1、近年来,随着网络安全风险的加剧,使得代码安全问题得到了越来越多地关注。在对代码进行安全风险检测的过程中,为了避免风险的漏报,往往会产生大量的风险误报,使得需要安全工程师耗费大量的时间进行风险排查。
技术实现思路
1、本说明书提供了一种代码风险检测方法、装置、电子设备及计算机存储介质,所述技术方案如下:
2、第一方面,本说明书提供了一种代码风险检测方法,所述方法包括:
3、获取针对源代码的代码风险检测结果,确定所述代码风险检测结果对应的关键风险代码;
4、基于所述关键风险代码生成污点传递分析提示词,基于所述关键风险代码生成关键风险代码提示词;
5、基于所述关键风险代码提示词和所述污点传递分析提示词构建目标提示词;
6、基于所述目标提示词采用目标大语言模型确定污点传递分析结果,基于所述污点传递分析结果对所述代码风险检测结果进行更新得到目标代码风险检测结果。
7、第二方面,本说明书提供了一种代码风险检测装置,所述装置包括:
8、获取模块,适于获取针对源代码的代码风险检测结果,确定所述代码风险检测结果对应的关键风险代码;
9、生成模块,适于基于所述关键风险代码生成污点传递分析提示词,基于所述关键风险代码生成关键风险代码提示词;
10、构建模块,适于基于所述关键风险代码提示词和所述污点传递分析提示词构建目标提示词;
11、更新模块,适于基于所述目标提示词采用目标大语言模型确定污点传递分析结果,基于所述污点传递分析结果对所述代码风险检测结果进行更新得到目标代码风险检测结果。
12、第三方面,本说明书提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
13、第四方面,本说明书提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
14、第五方面,本说明书提供一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由处理器加载并执行上述任意一项的方法步骤。
15、本说明书一些实施例提供的技术方案带来的有益效果至少包括:通过获取源代码对应的代码风险检测结果,之后确定代码风险检测结果对应的关键风险代码,从而剔除相较于代码风险检测结果而言冗余的无用代码,之后基于关键风险代码构建关键风险代码提示词,从而避免了后续构建的目标提示词时其他冗余的无用代码对目标大语言模型的干扰,减少了后续目标大语言模型的输入。
16、同时,确定针对关键风险代码的污点传递分析提示词,通过关键代码提示词和污点传递分析提示词构建目标大语言模型的目标提示词,从而有效提高目标大语言模型对目标提示词的理解准确性以及污点传递分析的处理效率,最后基于得到的污点传递结果更新风险检测结果,对风险检测结果进行误报的排查筛选,从而解决在对代码进行安全风险检测的过程中,为了避免风险的漏报,往往会产生大量的风险误报,使得需要安全工程师耗费大量的时间进行风险排查的问题。
1.一种代码风险检测方法,所述方法包括:
2.根据权利要求1所述的方法,所述确定所述代码风险检测结果对应的关键风险代码,包括:
3.根据权利要求2所述的方法,所述从所述风险函数调用链路中确定与所述函数变量关联的各风险函数的关键风险代码,包括:
4.根据权利要求2所述的方法,所述基于所述关键风险代码生成关键风险代码提示词,包括:
5.根据权利要求2所述的方法,所述基于所述关键风险代码提示词和所述污点传递分析提示词构建目标提示词,包括:
6.根据权利要求5所述的方法,所述构建针对所述风险函数调用链路的代码先验知识提示词,包括:
7.根据权利要求2至6中任意一项所述的方法,所述基于所述目标提示词采用目标大语言模型确定污点传递分析结果,包括:
8.根据权利要求7中所述的方法,所述获取与所述函数污点传递分析结果关联的所述参考函数对应的参考提示词,包括:
9.根据权利要求8所述的方法,所述基于所述函数污点传递分析结果确定所述参考函数对应的参考污点变量,包括:
10.根据权利要求2所述的方法,所述基于所述污点传递分析结果对所述代码风险检测结果进行更新得到目标代码风险检测结果,包括:
11.一种代码风险检测装置,所述装置包括:
12.一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~10任意一项的方法步骤。
13.一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由处理器加载并执行如权利要求1~10任意一项的方法步骤。
14.一种电子设备,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~10任意一项的方法步骤。
