five

S-AIR-L/PyCode-Vul

收藏
Hugging Face2026-04-25 更新2026-04-26 收录
下载链接:
https://hf-mirror.com/datasets/S-AIR-L/PyCode-Vul
下载链接
链接失效反馈
官方服务:
资源简介:
PyCode-Vul是一个真实世界的Python漏洞数据集,专为代码级漏洞检测、漏洞分类以及代码预训练模型的实证评估而设计。该数据集通过从广泛使用的Python GitHub存储库中挖掘与安全相关的提交、提取更改的文件、识别更改的行、恢复前后代码、通过AST解析验证Python函数、应用CWE映射并去除重复样本而创建。数据集包含训练和测试分割,并已通过多个代码预训练模型进行评估,显示出强大的性能指标。

PyCode-Vul is a real-world Python vulnerability dataset designed for code-level vulnerability detection, vulnerability classification, and empirical evaluation of code pre-trained models. The dataset was created by mining security-related commits from widely used Python GitHub repositories, extracting changed files, identifying changed lines, recovering before/after code, validating Python functions through AST parsing, applying CWE mapping, and removing duplicate samples. The dataset is provided with train and test splits and has been evaluated with several CodePTMs, showing strong performance metrics.
提供机构:
S-AIR-L
搜集汇总
数据集介绍
main_image_url
构建方式
PyCode-Vul数据集由IEEE BigData 2025收录,其构建流程严谨而系统。研究团队从15个广泛使用的Python GitHub仓库中挖掘安全相关的提交记录,提取变更文件并识别变更行,进而恢复漏洞修复前后的代码片段。通过抽象语法树解析对提取的Python函数进行有效性验证,确保代码结构的完整性。随后,依据通用弱点枚举标准进行漏洞类型映射,并结合Bandit启发式分析进行辅助标注,最后通过去重处理生成最终数据集。整个流程涵盖了仓库挖掘、提交过滤、差异提取、代码恢复、AST验证、CWE映射、重复检测等关键环节,共收集7899个高质量样本。
使用方法
PyCode-Vul专为代码级漏洞检测任务设计,支持二分类、多分类及预训练模型评估等场景。用户可直接加载HuggingFace上的train.csv和test.csv文件,利用其中的代码文本与标签字段进行模型微调。数据集兼容CodeBERT、GraphCodeBERT、UniXcoder等主流代码预训练模型,研究者可通过标准的训练-测试流程评估模型性能,计算准确率、精确率、召回率、F1分数及AUC等指标。此外,建议将PyCode-Vul与其他基准数据集如CVEFixes联合使用,以构建更全面的跨域评估体系。
背景与挑战
背景概述
在软件安全领域,Python作为广泛使用的编程语言,其代码漏洞的自动检测一直是研究的热点与难点。PyCode-Vul数据集由Tasmin Karim、Mst Shapna Akter和Alfredo Cuzzocrea等研究者于2025年IEEE BigData会议上提出,旨在为代码级漏洞检测与分析提供高质量的基准资源。该数据集通过挖掘15个主流Python开源仓库(如Sqlmap、Django、Airflow等)的安全相关提交,结合AST解析、CWE映射及去重等严谨流程构建而成,涵盖7899个样本,专注于漏洞检测、分类及预训练模型的实证评估。其发布填补了真实世界Python漏洞数据集的空白,为提升代码安全模型的泛化能力与可靠性提供了关键支撑。
当前挑战
PyCode-Vul数据集面临的首要挑战是解决代码漏洞检测领域中真实样本稀缺与数据不平衡问题。现有数据集多依赖合成样本或非标准标注,而该数据集从真实仓库中提取前后代码变化,虽提升了生态效度,但构建过程中需应对细粒度漏洞标注的复杂性,包括精确提取变更行、通过AST验证函数完整性,以及对15个仓库中差异化的编码模式进行统一CWE映射。此外,实验表明即使是CodeBERT、UniXcoder等先进的代码预训练模型,在跨数据集泛化时性能仍显著波动(如在Buggy_python上F1值低至0.14),凸显了模型对特定漏洞模式过拟合的挑战,亟需更鲁棒的表示学习与去偏策略。
常用场景
经典使用场景
PyCode-Vul数据集在代码级漏洞检测领域扮演着举足轻重的角色。其经典使用场景聚焦于利用深度学习模型对Python源代码中的安全缺陷进行自动化识别与定位。研究者可基于该数据集提供的漏洞函数及其修复前后的代码片段,训练分类模型以区分脆弱与安全的代码实例,亦可借助序列标注或对比学习范式,精准捕获引发漏洞的关键代码行。这一基准为评估预训练代码模型(如CodeBERT、UniXcoder)在细粒度漏洞判别任务上的表现提供了标准化测试平台。
解决学术问题
学术研究中,PyCode-Vul首要解决了真实世界Python漏洞样本稀缺且标注质量参差不齐的困境。通过系统化地从15个主流开源项目(如Django、Ansible、Sqlmap)中挖掘安全相关提交,并经由AST解析、CWE映射及去重等严谨流程构建,该数据集克服了现有基准在领域覆盖度和实例真实性上的局限。它推动了漏洞检测模型从粗粒度的文件级预测向细粒度的函数级判别演进,显著提升了跨项目泛化能力的评估可靠性,为软件安全领域提供了可复现的实证研究基础。
实际应用
在实际应用中,PyCode-Vul数据集赋能了一系列关键的安全开发工具与持续集成流水线。企业安全团队可利用其训练的检测模型,在代码审查流程中自动拦截因输入验证不当、路径遍历或反序列化缺陷引发的漏洞,从而降低生产环境中的攻击面。此外,该数据集支持构建面向DevOps场景的实时监控系统,使Mlflow、Airflow等数据平台中潜藏的安全隐患得以早期预警,有力地促进了安全左移策略在工业界的落地实施。
数据集最近研究
最新研究方向
随着软件安全威胁日益严峻,代码级漏洞检测成为网络安全领域的研究焦点。PyCode-Vul数据集应运而生,它通过挖掘真实世界Python仓库的安全相关提交,构建了涵盖Web框架、安全工具、DevOps自动化等15个广泛使用项目的7899个样本,为深度学习模型在漏洞检测与分类任务中提供了高质量基准。该数据集在IEEE BigData 2025发布后,迅速被用于评估CodeBERT、UniXcoder等十种代码预训练模型的性能,实验结果表明,UniXcoder在多数指标上表现最优,而CodeBERTa取得了最高AUC值。这一成果不仅为Python安全分析树立了新标杆,还推动了代码预训练模型在真实漏洞场景中的实证研究,对提升开源软件生态的安全韧性具有深远意义。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作