five

VulnDocker

收藏
arXiv2025-04-18 更新2025-04-22 收录
下载链接:
http://arxiv.org/abs/2504.13676v1
下载链接
链接失效反馈
官方服务:
资源简介:
VulnDocker数据集是由吕贝克大学和汉堡大学的研究人员创建的,该数据集包含了从Docker Hub上获取的真实的JVM应用中提取的Trace Gadgets,这些Trace Gadgets经过静态扫描器和部分手动验证进行了标记。该数据集旨在用于提高机器学习模型在漏洞检测方面的性能,包含32886个经过手动审核标记的样本。

The VulnDocker dataset was created by researchers from the University of Lübeck and the University of Hamburg. It contains Trace Gadgets extracted from real-world JVM applications obtained from Docker Hub, which were labeled using static scanners combined with partial manual verification. This dataset is designed to improve the performance of machine learning models for vulnerability detection, and includes 32,886 manually reviewed and labeled samples.
提供机构:
德国吕贝克大学信息技术安全研究所, 德国汉堡大学人文中心人工智能研究所
创建时间:
2025-04-18
搜集汇总
数据集介绍
main_image_url
构建方式
VulnDocker数据集的构建基于对Docker Hub中数百万容器镜像的系统性分析,从中提取JVM字节码文件并筛选出包含Web应用程序的JAR文件。通过静态分析工具链生成Trace Gadgets——一种经过代码内联和冗余计算消除的精炼代码表示,覆盖从漏洞源到漏洞点的执行路径。数据集标注结合了FindSecBugs静态扫描器的自动化检测与人工验证,最终形成包含32,886个去重样本的大规模真实漏洞数据集,其中1,412个样本经确认存在真实漏洞。
使用方法
使用VulnDocker时需配合支持字节码分析的框架,首先通过静态分析识别HTTP端点,继而生成端点至漏洞点的Trace Gadgets。机器学习模型可基于此进行漏洞检测训练,其中每个样本对应一个独立Trace Gadget。评估时采用端点级聚合策略:若某端点任意Trace Gadget被判定为存在漏洞,则整个端点标记为易受攻击。数据集适用于迁移学习场景,建议先在VulnDocker上预训练,再在Juliet等基准数据集上进行超参数调优,最终在完全未见过的OWASP数据集上验证模型泛化能力。
背景与挑战
背景概述
VulnDocker数据集由德国吕贝克大学IT安全研究所和汉堡大学人文中心人工智能研究所的研究团队于2025年创建,旨在解决机器学习在漏洞检测中的关键挑战。该数据集聚焦于真实世界JVM应用程序中的注入漏洞,通过从Docker Hub数百万容器中提取JAR文件构建,包含32,886个经过手动验证的样本。其创新性体现在引入Trace Gadgets代码表示方法,该方法通过静态追踪和程序切片技术,将代码上下文精简28-34%,同时保留漏洞检测所需的完整语义。该数据集推动了机器学习在Web应用安全领域的应用,其框架在实际测试中成功发现了Atlassian Bamboo和Geoserver等流行软件的未知漏洞。
当前挑战
VulnDocker面临双重挑战:在领域问题层面,传统静态扫描器误报率高(如CodeQL达89%),而机器学习模型对长代码上下文理解能力有限,GPT-4o等大模型在12.8万token以上时性能下降10%;在构建层面,数据集需处理JVM字节码反编译的复杂性,异常处理指令覆盖不足导致4.5%端点分析失败,且从758万容器中筛选有效样本时遭遇大量重复代码。Trace Gadgets生成需平衡执行路径完整性与计算效率,全局切片使生成时间中位数控制在11秒,但理论仍存在路径爆炸风险。
常用场景
经典使用场景
VulnDocker数据集在机器学习驱动的漏洞检测领域具有显著的经典应用场景。该数据集通过提取真实世界Docker容器中的JVM字节码,构建了包含32,886个去重样本的大规模标记数据集,特别适用于训练和评估基于机器学习的漏洞预测模型。其核心价值在于提供了经过手动验证的标签,结合Trace Gadgets这一创新的代码表示方法,能够精确捕捉从源头到漏洞点的执行路径,为模型提供了最小化但完整的代码上下文。这一特性使得VulnDocker成为评估静态分析工具与机器学习模型在真实场景下性能差异的理想基准。
解决学术问题
VulnDocker有效解决了机器学习模型在漏洞检测中面临的三个关键学术问题:首先,通过Trace Gadgets的代码表示方法,显著降低了模型输入长度(减少28-34%的token量),缓解了长上下文导致的模型性能衰减问题;其次,数据集覆盖真实生产环境中的代码模式,弥补了传统合成数据集(如Juliet)与真实场景间的语义鸿沟;最后,通过结合静态扫描器与人工验证的双重标记策略,提升了样本标签的可靠性,为模型训练提供了高质量的监督信号。实验表明,基于该数据集训练的模型在完全未见过的OWASP基准上比行业标准静态扫描器(如CodeQL)检测能力至少提升4%。
实际应用
在实际安全工程中,VulnDocker支持构建端到端的漏洞检测流水线。研究团队已将其应用于扫描Docker Hub中下载量超百万的容器,成功发现Atlassian Bamboo中的存储型XSS漏洞和Geoserver的SSRF漏洞,并推动厂商发布修复补丁。该数据集特别适合企业安全团队用于:持续监控第三方组件的安全风险、在CI/CD流程中集成自动化漏洞扫描、以及对闭源Java应用进行黑盒安全审计。其字节码级的分析能力克服了传统方法对源代码的依赖,使得对商业软件的逆向分析成为可能。
数据集最近研究
最新研究方向
近年来,VulnDocker数据集在软件安全领域的研究方向主要集中在基于机器学习的漏洞检测技术上,特别是针对注入漏洞的识别与预测。该数据集通过引入Trace Gadgets这一创新的代码表示方法,显著提升了机器学习模型在漏洞检测中的性能。Trace Gadgets通过静态追踪和程序切片技术,最小化代码上下文,仅保留与漏洞相关的语句,从而提高了模型的检测准确率并降低了误报率。此外,VulnDocker数据集基于真实世界的Docker容器应用构建,包含了大量手动标注的漏洞样本,为机器学习模型的训练和评估提供了高质量的数据支持。前沿研究还探讨了如何将Trace Gadgets与大型语言模型(如GPT-4o)结合,以进一步提升漏洞检测的泛化能力和实用性。这些研究不仅推动了自动化漏洞检测技术的发展,还为实际应用中的漏洞修复和安全防护提供了有力工具。
相关研究论文
  • 1
    Trace Gadgets: Minimizing Code Context for Machine Learning-Based Vulnerability Prediction德国吕贝克大学信息技术安全研究所, 德国汉堡大学人文中心人工智能研究所 · 2025年
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作