|
|
| ---
|
| tags:
|
| - security
|
| - cvss
|
| - cwe
|
| - bert
|
| library_name: transformers
|
| base_model: cisco-ai/SecureBERT2.0-biencoder
|
| ---
|
|
|
| # SecureBERT Multi-Task: CVSS & CWE Predictor
|
|
|
| This model predicts **CVSS v3.1 Metrics** and **CWE Hierarchy** (Pillar, Class, Base, Variant) from vulnerability descriptions.
|
|
|
| ## Usage
|
|
|
| Since this model uses a custom architecture, you need to load the class definition first.
|
|
|
| ```python
|
| import torch
|
| from transformers import AutoTokenizer
|
| # Download model_class.py from this repo or copy the definition
|
| from model_class import SecureBERTMultiHead
|
|
|
| # 1. Load Model
|
| model = SecureBERTMultiHead("cisco-ai/SecureBERT2.0-biencoder")
|
| checkpoint = torch.load(
|
| "pytorch_model.bin", # Downloaded from this repo
|
| map_location="cpu"
|
| )
|
| model.load_state_dict(checkpoint)
|
| model.eval()
|
|
|
| # 2. Tokenizer
|
| tokenizer = AutoTokenizer.from_pretrained("bziemba/SecureBERT-MultiTask-CVSS-CWE")
|
|
|
| # 3. Inference
|
| text = "SQL injection vulnerability in the login form..."
|
| inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=512)
|
|
|
| with torch.no_grad():
|
| outputs = model(inputs['input_ids'], inputs['attention_mask'])
|
| print(outputs['attack_vector']) # CVSS Probabilities
|
| |