/ Модель

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

Контекст
514 токенов
Параметры
152 млн
Лицензия
GPL 3.0
Архитектура
roberta · dense
Базовая модель
roberta-base
Библиотека
transformers
Опубликована
12 авг 2026

vulnerability-attack-technique-biencoder

Сходство предложенийТекст → score3 профессии

Англоязычный биэнкодер CIRCL ранжирует техники MITRE ATT&CK Enterprise по текстовому описанию CVE, предлагая аналитику кандидатов для проверки.

144скачиваний за 30 дней0лайковвеса обновлены12 авг 2026

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

CIRCL разработала биэнкодер для подбора техник MITRE ATT&CK Enterprise по описанию уязвимости CVE. Модель сравнивает текст CVE — заголовок и описание — с официальными названиями и описаниями техник в общем пространстве эмбеддингов и ранжирует кандидатов по оценке сходства. Она основана на RoBERTa-base с 151,8 млн параметров; тексты техник при кодировании ограничиваются 256 токенами, а нативный контекст модели составляет 514 токенов.

Модель предназначена для помощи аналитикам: она может предлагать техники из обучающего набора и ранжировать техники с официальными описаниями, включая открытый словарь из 222 активных родительских техник. На обученной выборке биэнкодер показал преимущество для редких техник, но уступил отдельной классификационной модели по recall@5. Для техник, отсутствовавших в обучении, тонкая настройка не улучшила ранжирование относительно обычного семантического эмбеддера. Результаты следует рассматривать как кандидатов для проверки специалистом, а не как авторитетное соответствие.

Обучение проводилось на наборе CIRCL/vulnerability-attack-techniques, содержащем около 1200 CVE и разметку по методологии CTID. Модель работает с англоязычными описаниями и родительскими техниками; разметка отражает субъективность методологии, а набор данных непропорционально представляет эксплуатируемые и обогащённые CVE. Лицензия — GPL-3.0.

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

  • ранжирование техник MITRE ATT&CK по описанию CVE
  • подготовка кандидатов для разметки уязвимостей аналитиком
  • поиск редких техник ATT&CK, связанных с уязвимостью
  • семантическое сопоставление описаний CVE и техник ATT&CK

Ограничения

Модель предназначена для формирования кандидатов, а не для авторитетной разметки; её обучение охватывает 53 техники, а для техник вне обучающего набора тонкая настройка не даёт преимущества над обычным семантическим эмбеддером. Она рассчитана на английские описания и родительские техники, а обучающая разметка субъективна и смещена в сторону эксплуатируемых и обогащённых CVE.

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

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

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

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

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

Открыть на Hugging Face

vulnerability-attack-technique-biencoder

A label-semantics bi-encoder that suggests MITRE ATT&CK (Enterprise) techniques for a CVE by scoring the vulnerability description against the official ATT&CK technique descriptions in a shared embedding space. Unlike the companion classification head (CIRCL/vulnerability-attack-technique-classification-roberta-base), it can rank any technique that has an official description — the label is text, not a learned output row.

One shared roberta-base encoder embeds both the CVE text (title + description) and each technique's STIX name+description (citation markup stripped, 256 tokens), mean-pooled and L2-normalized; the score is a learned affine over the cosine. Trained on the curated gold set CIRCL/vulnerability-attack-techniques (~1,200 CVEs, CTID methodology) with per-label-weighted BCE over a 53-parent-technique vocabulary, with VulnTrain (vulntrain-train-attack-biencoder).

When to use which model

  • Classification head: best top-5 ranking on the trained vocabulary (recall@5 0.667 ± 0.015 across five seeds).
  • This bi-encoder: slightly lower recall@5 (0.643 ± 0.019) but the largest consistent rare-technique gain measured on this task (macro-F1 0.212 ± 0.011 vs 0.176 ± 0.016, +21% relative), and open-vocabulary ranking over all 222 active parent techniques (recall@5 0.515 ± 0.020, 2.3× a generic zero-shot sentence embedder).

Caveat measured in the accompanying paper: zero-shot ranking of techniques absent from training does not benefit from this fine-tuning — in a five-fold label-holdout evaluation the fine-tuned encoder ranked held-out techniques below a generic MiniLM embedder. Rankings for techniques outside the 53-technique training vocabulary should be treated as no better than generic semantic similarity.

Usage

The repository ships technique_texts.json (the exact technique texts used at training time) and the scoring calibration in config.biencoder:

import json, torch
from huggingface_hub import hf_hub_download
from transformers import AutoModel, AutoTokenizer

model_id = "CIRCL/vulnerability-attack-technique-biencoder"
tokenizer = AutoTokenizer.from_pretrained(model_id)
encoder = AutoModel.from_pretrained(model_id).eval()
cfg = encoder.config.biencoder
texts = json.load(open(hf_hub_download(model_id, "technique_texts.json")))

def embed(batch, max_length=512):
    enc = tokenizer(batch, padding=True, truncation=True,
                    max_length=max_length, return_tensors="pt")
    hidden = encoder(**enc).last_hidden_state
    mask = enc["attention_mask"].unsqueeze(-1)
    pooled = (hidden * mask).sum(1) / mask.sum(1)
    return torch.nn.functional.normalize(pooled, dim=-1)

techniques = sorted(texts)
with torch.no_grad():
    technique_emb = embed([texts[t] for t in techniques],
                          cfg["technique_max_length"])
    cve_emb = embed(["Improper neutralization of special elements used "
                     "in an OS command in the web management interface..."])
scores = cfg["logit_scale"] * (cve_emb @ technique_emb.T) + cfg["logit_bias"]
for idx in scores[0].topk(5).indices:
    print(techniques[idx], float(scores[0][idx]))

Evaluation and stratified breakdowns are reproducible with vulntrain-validate-attack-classification --method biencoder --model CIRCL/vulnerability-attack-technique-biencoder (add --candidates full for open-vocabulary ranking over all active parent techniques).

Intended use and limitations

The model generates candidate techniques for analyst review, not authoritative mappings. Technique-to-CVE mapping involves analyst judgment; the training labels inherit the CTID methodology's subjectivity, and the gold set over-represents exploited and enriched CVEs. English descriptions only; parent-level techniques only.

References

  • Bonhomme, C., & Dulaunoy, A. (2026). Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion. arXiv:2607.25572
  • Bonhomme, C., & Dulaunoy, A. (2026). Beyond the Description: Structured Metadata and Label Semantics for CVE-to-ATT&CK Mapping. (follow-up paper, in preparation — source of all numbers above)
  • Trained with VulnTrain as part of the Vulnerability-Lookup project.

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей