/ Модель

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

Контекст
512 токенов
Лицензия
MIT
Архитектура
distilbert · dense
Библиотека
transformers
Опубликована
27 июл 2026

malicious-url-distilbert

Классификация текстаТекст → label3 профессии

Дообученный DistilBERT классифицирует URL как безопасный, фишинговый, содержащий вредоносное ПО или дефейсмент.

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

Бенчмарки

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

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

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

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

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

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

Malicious URL Detection — DistilBERT — это дообученный классификатор Найлы Джаашан для выявления вредоносных URL. Он принимает строку URL и относит её к одному из четырёх классов: benign, phishing, malware или defacement; ручное извлечение признаков не требуется. В основе лежит distilbert-base-uncased с 6 слоями и 66 млн параметров. URL токенизируется максимум до 64 подсловных токенов; базовая модель поддерживает контекст до 512 токенов. Модель обучена на наборе из примерно 651 тыс. URL и опубликована в формате Safetensors с лицензией MIT.

Модель предназначена для предварительной классификации URL и использования как одного сигнала в многоуровневой проверке безопасности. В README сообщается точность 98,89% на отложенной выборке из того же источника данных. Это исследовательский прототип, а не самостоятельный продукт защиты: качество на других наборах данных и устойчивость к обходам вроде подмены символов, опечаток и маскировки в поддоменах требуют отдельной проверки. Низкую уверенность рекомендуется направлять на ручную проверку.

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

  • первичная проверка URL на фишинг
  • классификация ссылок на вредоносное ПО
  • выявление URL с дефейсментом
  • фильтрация подозрительных ссылок перед ручной проверкой

Ограничения

Заявленная точность 98,89% измерена на отложенной выборке из того же источника и не подтверждает обобщение на другие данные. Модель может быть уязвима к обходам с подменой символов, опечатками и маскировкой URL; её не следует использовать как единственный механизм безопасности.

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

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

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

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

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

Открыть на Hugging Face

Malicious URL Detection — DistilBERT

A fine-tuned DistilBERT classifier that labels a URL as one of four classes — benign, phishing, malware, or defacement — directly from the raw URL string, with no handcrafted feature engineering.

Full training/evaluation code, unit tests, a Gradio demo, and the technical report live in the companion GitHub repository: https://github.com/najla-jaashan/GP-Malicious-URL-Detection

Quick usage

Because the label mapping is embedded in config.json (id2label / label2id), this model works directly with the standard pipeline API — no custom loading code required:

from transformers import pipeline

classifier = pipeline("text-classification", model="najla-jaashan/malicious-url-distilbert")
classifier("http://secure-login.paypa1-account.example/verify")
# -> [{'label': 'phishing', 'score': 0.97...}]

Or load the model and tokenizer directly:

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

tokenizer = AutoTokenizer.from_pretrained("najla-jaashan/malicious-url-distilbert")
model = AutoModelForSequenceClassification.from_pretrained("najla-jaashan/malicious-url-distilbert")

inputs = tokenizer("http://192.168.1.1/wp-admin/setup-config.php", return_tensors="pt")
with torch.no_grad():
    probs = torch.softmax(model(**inputs).logits, dim=1)[0]
pred_id = int(probs.argmax())
print(model.config.id2label[pred_id], float(probs[pred_id]))

Label mapping

idlabel
0benign
1defacement
2malware
3phishing

Model details

  • Base model: distilbert-base-uncased (6 layers, 66M parameters)
  • Task: 4-class sequence classification
  • Input: raw URL string, tokenized to a max of 64 sub-word tokens
  • Training data: ~651K labeled URLs (the Kaggle "Malicious URLs Dataset"), split 70% train / 15% validation / 15% test, stratified by class
  • Optimizer: AdamW, learning rate 2e-5, weight decay 0.01, 3 epochs

Evaluation

Reference results for this training configuration (see the GitHub repo's docs/TECHNICAL_REPORT.md for the full breakdown and reproduction steps):

ClassPrecisionRecallF1-Score
Benign0.99220.99440.9933
Phishing0.96410.95960.9619
Malware0.99080.97050.9805
Defacement0.99740.99910.9982
Macro Avg0.98610.98090.9835

Overall test accuracy: 98.89% (held-out, in-distribution test split).

These are the reference numbers for this training configuration. Run python -m src.evaluate in the GitHub repo against this checkpoint to confirm the exact metrics for this specific set of weights, and update this table if they differ.

Intended use & limitations

  • This is a research prototype, not a production security product. A prediction is one signal, not a guarantee that a URL is safe — use it within a layered security workflow, not as the sole gate.
  • Reported accuracy is in-distribution (same source dataset, held-out split). Cross-dataset generalization and robustness to adversarial evasions (homoglyphs, typosquatting, subdomain padding) are evaluated separately in the GitHub repo (src/cross_eval.py, src/adversarial.py) — check there before relying on this model against out-of-distribution or adversarial traffic.
  • The repo also ships a calibrated confidence threshold: predictions below it are better treated as "needs review" rather than a hard label (see src/calibrate.py / src/predict.py).

Authorship & credit

Engineering, fine-tuning run, and productionization: Najla Jaashan — the modular training/evaluation pipeline, calibration, cross-dataset and adversarial evaluation, and this packaged checkpoint.

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
DistilBertForSequenceClassification
Ревизия весов
0aa4b99

0 моделей