【技术实现步骤摘要】
本专利技术属于安全
,涉及一种基于代码仓库提交说明的PoC快速生成方法。
技术介绍
目前越来越多的软件项目使用版本控制功能,通过代码仓库来跟踪软件项目的整个开发过程。代码仓库可以在空间上保证项目内容的统一管理,也可在时间上保证开发过程中的每个更改细节都被记录并保存。每次更改代码的提交都附带提交说明,内容包括提交时间、提交作者、提交原因、提交内容等,提交目的可能是补充功能,或者修复项目中存在的安全漏洞等。PoC(ProofofConcept),中文解释为概念验证,在本专利技术中特指用于验证安全漏洞的测试代码。PoC可以还原安全漏洞的发生场景,证明软件系统中安全漏洞的存在和利用方式,被广泛应用于安全测试、渗透测试、安全漏洞验证等领域。然而,在实际应用中常常需要大量的PoC作为测试样本或验证样本,然而目前并没有可靠、充分的搜集来源。
技术实现思路
本专利技术提出一种基于代码仓库提交说明的PoC快速生成方法,目的在于快速地搜集大量可靠有效的PoC作为软件安全测试、渗透测试的输入实例,或者作为安全漏洞的验证样本,协助安全技术人员快速准确定位安全漏洞的位置,为安全漏洞的验 ...
【技术保护点】
一种基于代码仓库提交说明的PoC快速生成方法,其步骤包括:1)从代码仓库提交说明中提取含有代码的commit段,生成待测集;2)提取步骤1)生成的待测集中commit段的语义特征,并根据commit段中是否含有PoC打正负标签,将语义特征协同正负标签一同作为输入,训练生成PoC分类器;3)使用步骤2)生成的PoC分类器,对步骤1)生成的待测集进行并行分类,将含有PoC的commit段生成PoC集合,输出PoC。
【技术特征摘要】
1.一种基于代码仓库提交说明的PoC快速生成方法,其步骤包括:1)从代码仓库提交说明中提取含有代码的commit段,生成待测集;2)提取步骤1)生成的待测集中commit段的语义特征,并根据commit段中是否含有PoC打正负标签,将语义特征协同正负标签一同作为输入,训练生成PoC分类器;3)使用步骤2)生成的PoC分类器,对步骤1)生成的待测集进行并行分类,将含有PoC的commit段生成PoC集合,输出PoC。2.如权利要求1所述的基于代码仓库提交说明的PoC快速生成方法,其特征在于,所述代码仓库包括Git。3.如权利要求1所述的基于代码仓库提交说明的PoC快速生成方法,其特征在于,所述commit段指的是所述代码仓库中每次变更代码提交时附带的提交说明,所述commit段的内容包括提交时间、提交作者、提交原因、提交内容。4.如权利要求1所述的基于代码仓库提交说明的PoC快速生成方法,其特征在于,步骤1)包括以下步骤:1-1)根据代码仓库提交说明中的关键字将代码日志切割为多个commit段,人工挑选含代码的commit段作为正训练样本,不含代码的commit段作为负训练样本;1-2)对正训练样本和负训练样本进行数据预处理,所述预处理包括对中文样本进行文本分词以及对英文样本进行去停止词和词根还原;1-3)提取预处理后的正训练样本和负训练样本的特征,并进行文本向量化;1-4)基于向量化的文本,采用并行机器学习方法对代码仓库提交说明中所有的commit段分类;1-5)根据步骤1-4)分类的结果提取含有代码的commit段生成待测集。5.如权利要求4所述的基于代码仓库提交说明的PoC快速生成方法,其特征在于,步骤1-3)中,将预处理后挑选出的词用作构建文本向量空间的特征项,选取权重算法为每个特征项赋权值,构建文本向量。6.如权利要求4所述的基于代码仓库提交说明的PoC快速生成方法,其特征在于,步骤1-4)中,在GPU中开设多个线程,将传输自C...
【专利技术属性】
技术研发人员:赵丝喆,武志飞,黄小芳,吴敬征,杨牧天,李牧,武延军,
申请(专利权)人:中国科学院软件研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。