A cybersecurity-domain sentence embedding model fine-tuned from
sentence-transformers/all-mpnet-base-v2 on
2,179 CTI-Bench training pairs from two sources:
This model was trained with sentence-transformers 5.5.1. Older versions will fail to load due to internal module path changes introduced in 5.5.x. If you see a ModuleNotFoundError: No module named 'sentence_transformers.base' error, upgrade:
1from sentence_transformers import SentenceTransformer
2
3model = SentenceTransformer("sindsub/cybersec-mpnet-finetuned")
4
5# Encode cybersecurity text
6embeddings = model.encode([
7 "T1059.001 - PowerShell command execution via encoded payload",
8 "Adversary used scheduled task for persistence after initial access",
9 "CVE-2024-1234: Remote code execution in Apache HTTP Server",
10])
11
12# Semantic similarity
13similarity = model.similarity(embeddings[0], embeddings[1])
14print(similarity) # Higher for semantically related CTI text
Self-retrieval proxy evaluation across four ChromaDB collections (25 chunks sampled per collection, query = chunk's own text):
RAGAS-style faithfulness (cosine similarity between generated playbook step embeddings and cited source embeddings): 0.548 — a significant improvement over the 0.143 Jaccard score of the base model on the same data.