摘要:为了对漏洞进行细粒度检测, 理想的模型必须确定软件是否包含漏洞, 并确定漏洞的类型(即进行漏洞分类). 一系列深度学习模型在漏洞分类任务中取得了良好的整体性能. 然而, 观察到不同漏洞类型之间存在严重的数据不平衡. 许多漏洞类型只有少量的漏洞样本(称为少样本类型), 这导致了对少样本类型的分类性能和泛化能力较差. 为了提高少样本漏洞类型的分类性能, 实现VulFewShot. 这种基于对比学习的漏洞分类框架通过使相同类型的漏洞样本“接近”, 同时使不同类型的漏洞样本彼此“远离”, 从而为仅有少数漏洞样本类型赋予了更多的权重. 实验结果表明, VulFewShot可以提高对所有类型漏洞的分类性能. 类型包含的漏洞样本数量越少, 改进就越显著. 因此, VulFewShot可以提高样本不足的漏洞的分类性能, 并减少样本量对学习过程的影响.