PyCode-Vul
收藏资源简介:
PyCode-Vul 是一个用于代码级漏洞检测和分析的基准数据集,收录于 IEEE BigData 2025。该数据集通过挖掘广泛使用的 Python GitHub 仓库中与安全相关的提交,提取变更文件、识别变更行、恢复前后代码、通过 AST 解析验证 Python 函数、应用 CWE 映射并去除重复样本而构建。数据集包含来自 15 个真实世界 Python 仓库的 7899 个样本,涵盖 Web 框架、安全工具、DevOps 自动化、机器学习生命周期管理等多个领域。数据集分为训练集和测试集,适用于代码级漏洞检测、漏洞分类以及代码预训练模型的实证评估。
PyCode-Vul is a benchmark dataset for code-level vulnerability detection and analysis, included in IEEE BigData 2025. The dataset is constructed by mining security-related commits from widely used Python GitHub repositories, extracting changed files, identifying changed lines, recovering pre- and post-code, validating Python functions through AST parsing, applying CWE mapping, and removing duplicate samples. The dataset contains 7899 samples from 15 real-world Python repositories, covering various domains such as web frameworks, security tools, DevOps automation, and machine learning lifecycle management. The dataset is divided into training and test sets, suitable for code-level vulnerability detection, vulnerability classification, and empirical evaluation of code pre-training models.
PyCode-Vul 数据集概述
基本信息
- 数据集名称: PyCode-Vul (Python Vulnerability Benchmark Dataset)
- 许可协议: CC-BY-4.0
- 语言: 英语
- 数据规模: 1K-10K 样本
- 论文收录: IEEE BigData 2025
数据集简介
PyCode-Vul 是一个用于代码级漏洞检测和分析的真实世界 Python 漏洞基准数据集。该数据集通过从广泛使用的 Python GitHub 仓库中挖掘安全相关提交、提取变更文件、识别变更行、恢复修改前后代码、通过 AST 解析验证 Python 函数、应用 CWE 映射以及去除重复样本构建而成。
数据集用途
- 代码级漏洞检测
- 漏洞分类
- 代码预训练模型的实证评估
数据来源
数据集来源于15个真实世界的 Python 仓库,涵盖Web框架、安全工具、DevOps自动化、机器学习生命周期管理、数据工作流系统、网络库和数字取证工具等领域:
| 仓库 | 样本数 | 用途 |
|---|---|---|
| Sqlmap | 1000 | SQL注入测试工具 |
| Salt | 1006 | 自动化与配置管理 |
| Django | 835 | Web框架 |
| Mlflow | 812 | ML生命周期管理 |
| W3af | 776 | Web应用安全扫描器 |
| Ansible | 727 | IT自动化框架 |
| Airflow | 731 | 工作流编排 |
| Tornado | 423 | Web服务器与网络框架 |
| Paramiko | 336 | SSH通信库 |
| Bandit | 310 | 安全静态分析器 |
| Jupyter | 369 | 交互式计算环境 |
| Volatility | 241 | 内存取证框架 |
| Flask | 141 | 轻量级Web框架 |
| Requests | 139 | HTTP网络库 |
| Yaml | 53 | YAML解析与序列化 |
| 总计 | 7899 |
数据集文件
数据集提供了训练集和测试集划分:
train.csv:训练集test.csv:测试集
每个样本包含:Python代码、仓库信息、提交信息、修改前后函数信息、变更行、哈希值、漏洞相关标签或元数据。
实验评估结果
论文在 PyCode-Vul 测试集上评估了多种代码预训练模型(CodePTMs),包括:CodeBERT、CodeGPT、CodeBERTa、DeBERTa-v3、CodeParrot、GraphCodeBERT、DistilBERT、UniXcoder、CodeGen-Mono、CodeT5+。
关键结果总结
在 PyCode-Vul 测试集上:
- UniXcoder 在准确性、精确率、召回率、特异性、F1、MCC、Kappa、MSE和MAE指标上取得了最佳表现
- CodeBERTa 在AUC分数上取得了最高值(0.9954)
相关链接
- Hugging Face: https://huggingface.co/datasets/S-AIR-L/PyCode-Vul
- Zenodo: https://zenodo.org/records/19746552
- GitHub: https://github.com/S-AiRLab/-PyCode_Vul-A-Benchmark-Dataset-for-Code-Level-Vulnerability-Detection-and-Analysis/tree/main
- Kaggle: https://www.kaggle.com/datasets/oulabspring/pycode-vul-a-benchmark-dataset-for-python/data
引用信息
A Benchmark Dataset for Code-Level Vulnerability Detection and Analysis, Tasmin Karim, Mst Shapna Akter, and Alfredo Cuzzocrea. In 2025 IEEE International Conference on Big Data (BigData), pp. 4237–4246, IEEE, 2025.




