数据集概述
本数据集为支持Python源代码漏洞检测的命名实体识别(NER)研究而创建,包含用于训练和评估NER模型的标注数据。数据集针对Python源代码中的六种漏洞类型进行实体标注,支持多种预训练语言模型(如RoBERTa、CodeBERT、DistilBERT)的输入格式。数据来源于相关学术研究,共包含九个CSV格式文件,涵盖训练、验证和测试集。
文件详解
- 基于RoBERTa模型的数据文件
- 文件名称:
roberta_tagsandtokens_train.csv, roberta_tagsandtokens_validation.csv, roberta_tagsandtokens_test.csv
- 文件格式: CSV
- 字段映射介绍: 包含cwetype(漏洞类别)、type、short_text(代码片段)、parts、ner_tags(NER标签)、tokens(分词)、attention_mask(注意力掩码)、input_ids(输入ID)、index_level_0(索引)、labels(标签)等字段。
- 基于CodeBERT模型的数据文件
- 文件名称:
codebert_tagsandtokens_train.csv, codebert_tagsandtokens_validation.csv, codebert_tagsandtokens_test.csv
- 文件格式: CSV
- 字段映射介绍: 字段结构与RoBERTa文件类似,适配CodeBERT模型的输入要求。
- 基于DistilBERT模型的数据文件
- 文件名称:
distilbert_tagsandtokens_test.csv, distilbert_tagsandtokens_validation.csv
- 文件格式: CSV
- 字段映射介绍: 字段结构与上述文件类似,适配DistilBERT模型的输入要求。
数据来源
论文"Python Source Code Vulnerability Detection with Named Entity Recognition"(已投稿至"Computers & Security"期刊)
适用场景
- 源代码漏洞检测: 用于训练和评估基于命名实体识别技术的Python源代码漏洞自动检测模型。
- 软件安全研究: 支持对六种特定类型漏洞在代码中的表现形式和模式进行分析。
- 自然语言处理在代码分析中的应用: 探索预训练语言模型(如RoBERTa、CodeBERT)在理解编程语言语义和识别安全缺陷方面的能力。
- DevSecOps流程优化: 为开发安全运维(DevSecOps)提供自动化代码安全审查的数据基础。