Skip to content

FixMe: An Incremental Lightweight Method for Vulnerability Data Collection for Security Patches

License

Notifications You must be signed in to change notification settings

SmartSecLab/FixMe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FixMe: An Incremental Lightweight Method for Vulnerability Data Collection for Security Patches

FixMe is a lightweight approach for the collection of code patches based on analyzing the commits of various version control systems. The practical framework is designed to generate patches across a wide array of programming languages. This open-source tool streamlines the process of gathering vulnerability records from the Common Vulnerabilities and Exposures (CVE) database through an incremental approach. By embracing an incremental methodology, we expedite the acquisition of data, ensuring the inclusion of newly identified vulnerabilities and their corresponding patch pairs. Our methodology involves extracting security issues, obtaining vulnerability-fixing commits, and retrieving relevant source code from various projects. The extracted dataset by the FixMe tool supports for the automated patch prediction, automated program repair, commit classification, vulnerability prediction and so on.

Dependencies

The work is programmed in Python 3.8.0 and it requires the several python libraries as specified in requirements.txt.

Patch collection

To collect the data, we need to run collect.py file as follows-

python3 -m source.collect

The extraction method starts cloning the repository from a GitHub repository of CVElistV5, which mirrors all the CVE records. The CVE repository is git-pulled every time we extract data to include the newly added CVE records and the recent updates on the existing records to the database. The process exports the extracted information into sqlite3 database file (specified in config.yaml), which includes different granular levels of vulnerability data into different tables.

Reference

Citatation: Anonymous

Note: The most of the plots and table presented in paper can be automatically generated by executing the analyze-fixme.ipynb notebook. The notebook takes generated FixMe.db file as input and presents the statistics on the database tables.

Acknowledgement

Anonymous

About

FixMe: An Incremental Lightweight Method for Vulnerability Data Collection for Security Patches

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published