A DistilBERT-based binary email classifier that labels emails as
phishing or
legitimate. This is the model shipped inside
SPOT's
analyzer-nlp plugin; it
is mirrored here as a public artefact so researchers, integrators, and
auditors can inspect what SPOT actually runs in production.
Accuracy / precision / recall / F1 were not computed during training.
The production wrapper in analyzer-nlp/tests/ exercises the
end-to-end SPOT integration on a larger, internal evaluation set;
those numbers are not yet published here.
1from transformers import AutoTokenizer, AutoModelForSequenceClassification
2import torch
3
4tok = AutoTokenizer.from_pretrained("spotproject/spot-distilbert-phishing")
5model = AutoModelForSequenceClassification.from_pretrained("spotproject/spot-distilbert-phishing")
6
7text = "Dear customer, your account has been suspended. Click here to verify..."
8inputs = tok(text, return_tensors="pt", truncation=True, max_length=512)
9with torch.no_grad():
10 logits = model(**inputs).logits
11probs = torch.softmax(logits, dim=-1)[0]
12print({"legitimate": probs[0].item(), "phishing": probs[1].item()})
For the full SPOT integration ; with workflow context, knowledge-store
enrichment, and aggregation across analyzers ; see
analyzer-nlp on Codeberg.
1@software{spot_distilbert_phishing,
2 title = {spot-distilbert-phishing: phishing classifier for the SPOT platform},
3 author = {SPOT Project},
4 year = {2026},
5 url = {https://huggingface.co/spotproject/spot-distilbert-phishing},
6 license = {Apache-2.0}
7}