TeamCosa/Cosa

Python

0

1 commits

updated Mar 7, 2026

See the code

README

CVSS Vulnerability Assessment Framework

License Python 3.8+ PyTorch

This repository contains the implementation of a context-aware severity assessment framework using deep learning and large language models.

πŸ“‹ Table of Contents

πŸ“Š Dataset

The dataset used in this work is available at: https://drive.google.com/drive/folders/1ZuCTTuu0q6wBOkXf1PawOu6jERS4ypOH?usp=drive_link

πŸ“ Project Structure

.
β”œβ”€β”€ README.md                      # Project documentation
β”œβ”€β”€ requirements.txt               # Python dependencies
β”‚
β”œβ”€β”€ models/                        # Model training implementations
β”‚   β”œβ”€β”€ codebert/
β”‚   β”‚   └── codebert_train.py      # CodeBERT training pipeline
β”‚   β”œβ”€β”€ graphcodebert/
β”‚   β”‚   └── graphcodebert_train.py # GraphCodeBERT training pipeline
β”‚   β”œβ”€β”€ unixcoder/
β”‚   β”‚   └── unixcoder_train.py     # UniXcoder training pipeline
β”‚   β”œβ”€β”€ cvss_utils.py              # CVSS calculation utilities
β”‚   └── evaluate.py                # Model evaluation module
β”‚
└── scripts/                       # Analysis and utility scripts
    β”œβ”€β”€ cvss3_analyzer.py          # LLM-based CVSS analysis tool
    β”œβ”€β”€ cvss_prompts.py            # Prompt templates for LLM analysis
    β”œβ”€β”€ function_analysis_store.py # Analysis result storage
    β”œβ”€β”€ json_extractor.py          # Call chain data extractor
    └── prompt_cache.py            # LLM response caching

πŸš€ Installation

Prerequisites

  • Python 3.8 or higher
  • CUDA-compatible GPU (recommended for training)
  • OpenAI API key (for LLM-based analysis)

Setup

  1. Clone the repository:
git clone https://github.com/[your-username]/[repo-name].git
cd [repo-name]
  1. Install dependencies:
pip install -r requirements.txt
  1. (Optional) Set up OpenAI API key for LLM analysis:
export OPENAI_API_KEY="your-api-key"

⚑ Quick Start

Train a Model

# Train CodeBERT model
python code/models/codebert/codebert_train.py \
    --mode train \
    --data-path ./dataset \
    --output-dir ./output \
    --epochs 20 \
    --seeds 1 2 3

# Train UniXcoder model
python code/models/unixcoder/unixcoder_train.py \
    --mode both \
    --data-path ./dataset \
    --output-dir ./output

Evaluate a Model

python code/models/evaluate.py \
    --model-path ./output/fine_tuned_model \
    --data-path ./dataset \
    --seed 1 \
    --output-dir ./evaluation_results

Run LLM-based Analysis

python code/scripts/cvss3_analyzer.py \
    --input call_chain_results.json \
    --output cvss_analysis.json

πŸ”§ Requirements

Installation

pip install -r requirements.txt

Python Dependencies

  • PyTorch (>=2.0.0): Deep learning framework
  • Transformers (>=4.30.0): HuggingFace model library
  • datasets (>=2.14.0): Dataset loading and processing
  • scikit-learn (>=1.3.0): Machine learning metrics
  • numpy (>=1.24.0): Numerical computing
  • pandas (>=1.5.0): Data manipulation

For LLM Analysis

  • openai (>=1.0.0): OpenAI API client
  • tiktoken (>=0.5.0): Token counting for OpenAI models
  • OpenAI API key (set in config or environment variable)

TeamCosa/Cosa

Python

0

1 commits

updated Mar 7, 2026

See the code

README

CVSS Vulnerability Assessment Framework

License Python 3.8+ PyTorch

This repository contains the implementation of a context-aware severity assessment framework using deep learning and large language models.

πŸ“‹ Table of Contents

πŸ“Š Dataset

The dataset used in this work is available at: https://drive.google.com/drive/folders/1ZuCTTuu0q6wBOkXf1PawOu6jERS4ypOH?usp=drive_link

πŸ“ Project Structure

.
β”œβ”€β”€ README.md                      # Project documentation
β”œβ”€β”€ requirements.txt               # Python dependencies
β”‚
β”œβ”€β”€ models/                        # Model training implementations
β”‚   β”œβ”€β”€ codebert/
β”‚   β”‚   └── codebert_train.py      # CodeBERT training pipeline
β”‚   β”œβ”€β”€ graphcodebert/
β”‚   β”‚   └── graphcodebert_train.py # GraphCodeBERT training pipeline
β”‚   β”œβ”€β”€ unixcoder/
β”‚   β”‚   └── unixcoder_train.py     # UniXcoder training pipeline
β”‚   β”œβ”€β”€ cvss_utils.py              # CVSS calculation utilities
β”‚   └── evaluate.py                # Model evaluation module
β”‚
└── scripts/                       # Analysis and utility scripts
    β”œβ”€β”€ cvss3_analyzer.py          # LLM-based CVSS analysis tool
    β”œβ”€β”€ cvss_prompts.py            # Prompt templates for LLM analysis
    β”œβ”€β”€ function_analysis_store.py # Analysis result storage
    β”œβ”€β”€ json_extractor.py          # Call chain data extractor
    └── prompt_cache.py            # LLM response caching

πŸš€ Installation

Prerequisites

  • Python 3.8 or higher
  • CUDA-compatible GPU (recommended for training)
  • OpenAI API key (for LLM-based analysis)

Setup

  1. Clone the repository:
git clone https://github.com/[your-username]/[repo-name].git
cd [repo-name]
  1. Install dependencies:
pip install -r requirements.txt
  1. (Optional) Set up OpenAI API key for LLM analysis:
export OPENAI_API_KEY="your-api-key"

⚑ Quick Start

Train a Model

# Train CodeBERT model
python code/models/codebert/codebert_train.py \
    --mode train \
    --data-path ./dataset \
    --output-dir ./output \
    --epochs 20 \
    --seeds 1 2 3

# Train UniXcoder model
python code/models/unixcoder/unixcoder_train.py \
    --mode both \
    --data-path ./dataset \
    --output-dir ./output

Evaluate a Model

python code/models/evaluate.py \
    --model-path ./output/fine_tuned_model \
    --data-path ./dataset \
    --seed 1 \
    --output-dir ./evaluation_results

Run LLM-based Analysis

python code/scripts/cvss3_analyzer.py \
    --input call_chain_results.json \
    --output cvss_analysis.json

πŸ”§ Requirements

Installation

pip install -r requirements.txt

Python Dependencies

  • PyTorch (>=2.0.0): Deep learning framework
  • Transformers (>=4.30.0): HuggingFace model library
  • datasets (>=2.14.0): Dataset loading and processing
  • scikit-learn (>=1.3.0): Machine learning metrics
  • numpy (>=1.24.0): Numerical computing
  • pandas (>=1.5.0): Data manipulation

For LLM Analysis

  • openai (>=1.0.0): OpenAI API client
  • tiktoken (>=0.5.0): Token counting for OpenAI models
  • OpenAI API key (set in config or environment variable)