Vulnerabilities
未读关于数据集,文献[1]发现了一些问题:
深度学习模型在漏洞检测上能够成功的一个重要条件是庞大的漏洞代码数据样本的支撑,我们需要大规模数据集来可靠评估深度学习方法对漏洞检测的影响,随着可用培训数据量的增加,不同架构的相对性能会发生根本性变化。
LLMs比GNNs更能够利用大规模数据集:**更大的数据集仅轻微提高了ReVeal的表现,但显著提高了LLMs的表现。**然而,我们的实验表明,通过收集更多数据来提高性能可能已经停滞。**与普遍认为对于LLMs表现良好,模型大小是最重要因素不同,我们的结果显示,最重要的因素可能是LLM的训练方式。**在代码理解任务的预训练似乎能够带来很大的改善。我们认为开发更好的代码特定预训练任务是改善基于深度学习的漏洞检测的一个有前途的研究方向。
此外,我们**确定了一个部署基于深度学习模型的重要泛化挑战。**要部署一个模型,我们需要检测新软件项目中的漏洞,这些漏洞在训练集中没有出现。我们发现,在这种情况下,深度学习模型表现非常糟糕。然而,在实践中,我们经常希望在新项目上运行漏洞检测工具,因此在训练集中不会有该项目的任何漏洞。所有模型在未见项目上的性 ...
Vulnerabilities
未读C/C++漏洞数据集-CSDN博客
1.常用数据集
1.1.Big-Vul
论文地址:A C/C++ Code Vulnerability Dataset with Code Changes and CVE Summaries
github地址
该数据集存储为csv格式。包含了漏洞行号信息,详细参考github地址。
https://github.com/ZeoVan/MSR_20_Code_vulnerability_CSV_Dataset
1.2.Reveal
Reveal本为一个DLVD(Deep Learning Vulnerbility Detection)方法,可以参考Reveal。而作者收集了一个数据集。从Linux Debian Kernel 和Chromium的vulnerabilitiy fixed patches中构造。
论文地址:Deep Learning based Vulnerability Detection:Are We There Yet?
数据集下载地址
包含2个json,vulnerables.json和non-vulnerables.json。 ...
Vulnerabilities
未读Flawfinder开源C/C++静态扫描分析工具安装与使用
flawfinder的介绍
Flawfinder是一款开源的关于C/C静态扫描分析工具,其根据内部字典数据库进行静态搜索,匹配简单的缺陷与漏洞,flawfinder工具不需要编译C/C代码,可以直接进行扫描分析。简单快速,最大的有点就是免费,不需要编译。flawfinder工具可以在官网进行下载。
https://dwheeler.com/flawfinder/#downloading
flawfinder的安装
在线安装
flawfinder安装比较简单,由于其是基于Python实现的一款工具,所以需要首先安装Python环境,并配置环境变量。flawfinder下载之后解压既可使用。flawfinder目前支持python2和python3,简单的方法是使用pip工具,执行以下指令进行安装。
1pip install flawfinder
离线安装
直接从flawfinder下载程序压缩包,解压完成以后,使用python直接加载flawfiner程序即可,或者直接下载flawfinder-*.whl,使用pip工具离线安 ...