/ Модель

Характеристики

Контекст
514 токенов
Параметры
152 млн
Лицензия
CC BY 4.0
Архитектура
roberta · dense
Базовая модель
roberta-base
Библиотека
transformers
Опубликована
27 фев 2025

vulnerability-severity-classification-roberta-base

Классификация текстаТекст → label3 профессии

Дообученная RoBERTa классифицирует серьёзность программных уязвимостей по их текстовым описаниям для ускорения первичного триажа.

2 775скачиваний за 30 дней13лайковвеса обновлены7 окт 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

CIRCL разработала эту модель для автоматической классификации уровня серьёзности программных уязвимостей по их текстовым описаниям. Это дообученная версия RoBERTa-base с архитектурой RobertaForSequenceClassification и 151,8 млн параметров; модель обучалась на наборе CIRCL/vulnerability-scores, включающем более 600 тысяч уязвимостей. Она предназначена для ускорения первичной оценки и сортировки уязвимостей перед ручным анализом и расчётом CVSS.

В описании исследования сообщается о точности свыше 82%; модель интегрирована в сервис Vulnerability-Lookup. Принимает текст, выдаёт категорию серьёзности. Максимальная длина контекста — 514 токенов. Распространяется по лицензии CC BY 4.0. Результат классификации служит поддержкой триажа и не заменяет экспертную оценку CVSS.

Сценарии применения

  • классификация серьёзности уязвимости по описанию
  • сортировка уязвимостей для первичного триажа
  • автоматическая предварительная оценка уязвимостей перед ручным расчётом CVSS

Ограничения

Заявленная точность свыше 82% не гарантирует правильную оценку отдельной уязвимости; модель предназначена для предварительной классификации, а не замены ручного расчёта CVSS. Максимальная длина контекста составляет 514 токенов.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

VLAI: A RoBERTa-Based Model for Automated Vulnerability Severity Classification

Severity classification

This model is a fine-tuned version of roberta-base on the dataset CIRCL/vulnerability-scores.

The model was presented in the paper VLAI: A RoBERTa-Based Model for Automated Vulnerability Severity Classification [arXiv].

Abstract: VLAI is a transformer-based model that predicts software vulnerability severity levels directly from text descriptions. Built on RoBERTa, VLAI is fine-tuned on over 600,000 real-world vulnerabilities and achieves over 82% accuracy in predicting severity categories, enabling faster and more consistent triage ahead of manual CVSS scoring. The model and dataset are open-source and integrated into the Vulnerability-Lookup service.

You can read this page for more information.

Model description

It is a classification model and is aimed to assist in classifying vulnerabilities by severity based on their descriptions.

How to get started with the model

from transformers import AutoModelForSequenceClassification, AutoTokenizer
import torch

labels = ["low", "medium", "high", "critical"]

model_name = "CIRCL/vulnerability-severity-classification-roberta-base"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
model.eval()

print("Model revision:", model.config._commit_hash)

test_description = "SAP NetWeaver Visual Composer Metadata Uploader is not protected with a proper authorization, allowing unauthenticated agent to upload potentially malicious executable binaries \
that could severely harm the host system. This could significantly affect the confidentiality, integrity, and availability of the targeted system."
inputs = tokenizer(test_description, return_tensors="pt", truncation=True, padding=True)

# Run inference
with torch.no_grad():
    outputs = model(**inputs)
    predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)

# Print results
print("Predictions:", predictions)
predicted_class = torch.argmax(predictions, dim=-1).item()
print("Predicted severity:", labels[predicted_class])

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 3e-05
  • train_batch_size: 32
  • eval_batch_size: 32
  • seed: 42
  • optimizer: Use OptimizerNames.ADAMW_TORCH_FUSED with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
  • lr_scheduler_type: linear
  • num_epochs: 5

It achieves the following results on the evaluation set:

  • Loss: 2.0906
  • Accuracy: 0.8109
  • F1 Macro: 0.7383
  • Low Precision: 0.6926
  • Low Recall: 0.4428
  • Low F1: 0.5402
  • Medium Precision: 0.8274
  • Medium Recall: 0.8662
  • Medium F1: 0.8464
  • High Precision: 0.8130
  • High Recall: 0.8124
  • High F1: 0.8127
  • Critical Precision: 0.7677
  • Critical Recall: 0.7406
  • Critical F1: 0.7539

Training results

Training LossEpochStepValidation LossAccuracyF1 MacroLow PrecisionLow RecallLow F1Medium PrecisionMedium RecallMedium F1High PrecisionHigh RecallHigh F1Critical PrecisionCritical RecallCritical F1
2.35981.0193632.64540.72980.60670.64910.18360.28620.76180.81610.78800.71880.73170.72520.64490.61100.6275
2.30582.0387262.38570.75700.65500.64290.28860.39840.79370.82340.80830.72850.78600.75620.72980.59790.6573
2.00883.0580892.24180.77750.68710.66750.35810.46610.80820.83690.82230.75010.81330.78040.77710.60410.6798
1.53414.0774522.11680.80090.73090.62940.48030.54480.82080.85610.83810.79640.80800.80210.78600.69630.7384
1.49635.0968152.09060.81090.73830.69260.44280.54020.82740.86620.84640.81300.81240.81270.76770.74060.7539

Framework versions

  • Transformers 5.18.0
  • Pytorch 2.14.1+cu130
  • Datasets 4.8.5
  • Tokenizers 0.23.2

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers · text-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
RobertaForSequenceClassification
Ревизия весов
f7e803b

0 моделей