A script to convert Vulnerability Rating Taxonomy (VRT) categories to human-readable Common Weakness Enumeration (CWE) names.
This script reads an input CSV containing one column of VRT category identifiers (ex: cross_site_scripting_xss.stored.url_based
), fetches the latest VRT→CWE mapping and any deprecated-node updates from Bugcrowd’s VRT repository on GitHub, and downloads the latest CWE catalog from MITRE to resolve CWE IDs to names. The output CSV includes all original columns plus a new CWE
column with a string of the first mapped CWE name (or blank if none).
This script will take weaknesses in exported bug bounty data and prepare it in a format ready to be imported.
- Automatically fetches the latest VRT→CWE mapping and deprecated-node mapping from Bugcrowd’s VRT repository on GitHub
- Downloads the latest CWE catalog from MITRE's website to map CWE IDs to names
- Handles hierarchical VRT categories and falls back to parent or default mappings
- Appends a
CWE
column with the first CWE name per vulnerability
- Python 3.7+
- requests
Install dependencies:
pip install -r requirements.txt
python vrt2cwe.py <input_csv> <output_csv> <vrt_column>
Arguments:
<input_csv>
: Path to the input CSV file containing VRT categories.<output_csv>
: Path where the converted CSV with CWE names will be saved.<vrt_column>
: Name of the column in the input CSV holding the VRT category identifiers.
Example:
python vrt2cwe.py test_input_file.csv out.csv weakness_name
The script writes <output_csv>
with all original fields plus a new CWE
column containing the first mapped CWE name (or blank if no mapping).
This project is licensed under the MIT License. See the LICENSE file for details.