task_categories:feature-extraction task_categories:text-classification task_categories:summarization task_categories:text-generation size_categories:1K<n<10K language:en license:apache-2.0 code commit patch region:us
---
license: apache-2.0
task_categories:
- feature-extraction
- text-classification
- summarization
- text-generation
tags:
- code
- commit
- patch
language:
- en
pretty_name: PySecDB
size_categories:
- 1K<n<10K
---

# PySecDB: security commit dataset in Python

## Description

To foster large-scale research on vulnerability mitigation and to enable a comparison of different detection approaches, we make our dataset ***PySecDB*** from our ICSME23 paper publicly available. 

PySecDB is a real-world Python security commit dataset that contains around 1.2K security commits and 2.8K non-security commits. You can find more details on the dataset in the paper *"[Exploring Security Commits in Python](https://csis.gmu.edu/ksun/)"*.

## Data Structure

PySecDB is stored in `json` format, where each sample contains 5 keys and has the following format;
```json
{
  "id": the id for each entry,
  "label": the type of patch, value:"security" or "non-security",
  "content": the content of patch, type: str,
  "source": the source of patch, value: "MITRE" or "wild",
  "CVE-ID": the CVE ID if it exists, value: "CVE-XXXX-XXXXX" or "NA",
}
```

## Disclaimer & Download Agreement<span id="jump"></span>

To download the PySecDB dataset, you must agree with the succeeding Disclaimer & Download Agreement items. You should carefully read the following terms before submitting the PySecDB request form.

- PySecDB is constructed and cross-checked by 3 experts that work in security patch research.
  Due to the potential misclassification led by subjective factors, the Sun Security Laboratory (SunLab) cannot guarantee 100% accuracy for samples in the dataset.

- The copyright of the PySecDB dataset is owned by SunLab.

- The purpose of using PySecDB should be non-commercial research and/or personal use. The dataset should not be used for commercial use or any profitable purpose.

- The PySecDB dataset should not be re-sell or redistributed. Anyone who has obtained PySecDB should not share the dataset with others without permission from SunLab.

## Team

The PySecDB dataset is built by [Sun Security Laboratory](https://sunlab-gmu.github.io/) (SunLab) at [George Mason University](https://www2.gmu.edu/), Fairfax, VA. 

## Citations


**If you are using PySecDB for work that will result in a publication (thesis, dissertation, paper, article), please use the following citation:**

```bibtex
@article{sun2023exploring,
  title={Exploring Security Commits in Python},
  author={Sun, Shiyu and Wang, Shu and Wang, Xinda and Xing, Yunlong and Zhang, Elisa and Sun, Kun},
  journal={arXiv preprint arXiv:2307.11853},
  year={2023}
}
```
