🚀 恶意URL检测模型
这是一个经过微调的 BERT-LoRA 模型,用于检测恶意URL,包括钓鱼、恶意软件和网站篡改等威胁。
🚀 快速开始
此模型是一个基于BERT的微调分类器,旨在实时检测恶意URL。它采用了低秩自适应(LoRA) 技术进行高效微调,在降低计算成本的同时保持了较高的准确性。
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
model_name = "your-huggingface-model-name"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
url = "http://example.com/login"
inputs = tokenizer(url, return_tensors="pt", truncation=True, padding=True, max_length=128)
with torch.no_grad():
outputs = model(**inputs)
prediction = torch.argmax(outputs.logits).item()
label_map = {0: "良性", 1: "网站篡改", 2: "钓鱼", 3: "恶意软件"}
print(f"预测结果: {label_map[prediction]}")
✨ 主要特性
- 该模型将URL分为四类:
- 它实现了98%的验证准确率和0.965的F1分数,确保了强大的检测能力。
📚 详细文档
预期用途
使用场景
- 为网络安全工具提供实时URL分类
- 检测钓鱼和恶意软件,保障在线安全
- 集成到浏览器扩展中,提供即时威胁警报
- 为安全运营中心(SOC)进行安全监控
模型细节
属性 |
详情 |
模型类型 |
基于BERT的URL分类器 |
微调方法 |
LoRA(低秩自适应) |
基础模型 |
bert-base-uncased |
参数数量 |
1.1亿 |
数据集 |
Kaggle恶意URL数据集(约651,191个样本) |
最大序列长度 |
128 |
框架 |
🤗 transformers 、torch 、peft |
训练细节
- 批量大小:
16
- 训练轮数:
5
- 学习率:
2e-5
- 优化器:带权重衰减的AdamW
- 损失函数:加权交叉熵
- 评估策略:基于轮次
- 微调策略:对BERT层应用LoRA
评估结果
指标 |
值 |
准确率 |
98% |
精确率 |
0.96 |
召回率 |
0.97 |
F1分数 |
0.965 |
各类别性能
类别 |
精确率 |
召回率 |
F1分数 |
良性 |
0.98 |
0.99 |
0.985 |
网站篡改 |
0.98 |
0.99 |
0.985 |
钓鱼 |
0.93 |
0.94 |
0.935 |
恶意软件 |
0.95 |
0.96 |
0.955 |
部署选项
Streamlit Web应用
- 可部署在 Streamlit Cloud、AWS或Google Cloud 上。
- 提供用户友好的界面,进行实时URL分析。
浏览器扩展(计划中)
- 对访问的网页进行实时扫描。
- 提供带有置信度分数的动态威胁警报。
API集成
- 提供REST API进行批量URL分析。
- 支持安全运营中心(SOC)。
局限性与偏差
⚠️ 重要提示
- 该模型可能会误分类模仿合法网站的复杂钓鱼URL。
- 需要定期更新以应对不断演变的威胁。
- 如果训练数据中未涵盖未来的威胁,可能会存在偏差。
训练数据与引用
数据来源
数据集来自 Kaggle恶意URL数据集:
📌 数据集链接
BibTeX引用
@article{maliciousurl2025,
author = {Gleyzie Tongo, Dr. Farnaz Farid, Dr. Ala Al-Areqi, Dr. Farhad Ahamed},
title = {Fine-Tuned BERT for Malicious URL Detection},
year = {2025},
institution = {Western Sydney University}
}
联系信息
如有咨询、合作或反馈需求,请通过领英联系:
🔗 Gleyzie Tongo