Views
No views yet
distilbert-base-uncased1>>> from transformers import pipeline
2
3>>> classifier = pipeline('text-classification', model='salsazufar/distilbert-base-hids-adfa')
4>>> classifier("1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18")
5
6[{'label': 'LABEL_0',
7 'score': 0.9876},
8 {'label': 'LABEL_1',
9 'score': 0.0124}]1from transformers import AutoTokenizer, AutoModelForSequenceClassification
2import torch
3
4tokenizer = AutoTokenizer.from_pretrained('salsazufar/distilbert-base-hids-adfa')
5model = AutoModelForSequenceClassification.from_pretrained('salsazufar/distilbert-base-hids-adfa')
6
7# Prepare input (18-gram system call sequence)
8text = "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18"
9encoded_input = tokenizer(text, return_tensors='pt', padding='max_length', truncation=True, max_length=20)
10
11# Forward pass
12with torch.no_grad():
13 output = model(**encoded_input)
14 logits = output.logits
15 probabilities = torch.softmax(logits, dim=-1)
16 predicted_class = torch.argmax(logits, dim=-1).item()
17
18# Interpret results
19class_names = ["Normal", "Attack"]
20print(f"Predicted class: {class_names[predicted_class]}")
21print(f"Confidence: {probabilities[0][predicted_class].item():.4f}")
22print(f"Probabilities: Normal={probabilities[0][0].item():.4f}, Attack={probabilities[0][1].item():.4f}")1def create_ngrams(trace, n=18):
2 """Convert system call trace to n-grams"""
3 ngrams = []
4 for i in range(len(trace) - n + 1):
5 ngram = trace[i:i+n]
6 ngrams.append(" ".join(map(str, ngram)))
7 return ngrams1@misc{distilbert-hids-adfa,
2 title={DistilBERT for Host-based Intrusion Detection on ADFA-LD Dataset},
3 author={salsazufar},
4 year={2025},
5 publisher={Hugging Face},
6 howpublished={\url{https://huggingface.co/salsazufar/distilbert-base-hids-adfa}}
7}