Downloads · 30 days
13
17% of all-time downloads
pzryathzsdhc/cti-ner-securebert
cti-ner-securebert is a token classification model from pzryathzsdhc. Use it when you need labels on individual words, such as names. The card lists the license as mit.
SecureBERT (ehsanaghaei/SecureBERT, RoBERTa architecture, domain-pretrained on ~2M security documents) fine-tuned as a BIO token classifier for cyber threat intelligence NER on CISA advisories: 16 entity types (attack…
Downloads · 30 days
13
17% of all-time downloads
All-time downloads
76
Public
Parameters
124M
993 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors496 MB · 99%
From the Hugging Face model README
SecureBERT (ehsanaghaei/SecureBERT, RoBERTa architecture, domain-pretrained
on ~2M security documents) fine-tuned as a BIO token classifier for cyber
threat intelligence NER on CISA advisories: 16 entity types (attack technique
id/name, CVE/CWE identifiers, file hash/name/path, IP address, email address,
malware family, threat actor group, hacking tool, tactic, TLP classification,
YARA rule name, affected software product).
This version replaces the earlier checkpoint trained on dictionary-silver labels. Training gold is LLM-proposed (Claude Sonnet 5, exhaustive extraction under per-label span-format validators) with the evaluation split human-curated. See the paper in the repository below for the methodology and the circularity analysis that motivated the switch.
Document-level span scoring on the held-out 8-advisory test split (strict = exact span + label):
| Metric | Strict | Relaxed |
|---|---|---|
| Micro F1 | 0.71 | 0.76 |
| Macro F1 | 0.74 | 0.77 |
Best of the four fine-tuned architectures studied (RoBERTa-base 0.659, RoBERTa-large 0.648, GLiNER 0.560 on the identical gold and harness).
Per-label strict F1 highlights: attack technique id 0.99, cwe identifier 1.00, tlp classification 0.97, email address 0.98, cve identifier 0.95, ip address 0.91; hardest labels remain threat actor group 0.32 and hacking tool 0.48.
data/gold_v2/split_full.json).data/gold_v2/results/trained-securebert.json.Inference should replicate the sliding-window word-tagging procedure in
ner/finetune_roberta.py (see notebooks/hf_models_demo.ipynb in the
repository for a worked example); a naive single-pass tokenizer call
truncates long, hash-heavy advisory text.
pzryathzsdhc/cti-ner-roberta-large,
pzryathzsdhc/cti-ner-gliner