# ThreatLLM **Repository Path**: lin_bupt/threat-llm ## Basic Information - **Project Name**: ThreatLLM - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 35 - **Forks**: 27 - **Created**: 2025-12-01 - **Last Updated**: 2026-02-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于大语言模型的 DDoS 攻击评估与缓解系统 一个利用大语言模型(LLM)进行 DDoS 攻击检测、评估和缓解建议生成的系统,旨在通过 AI 技术提升网络安全防护能力。 ## 项目概述 本系统通过对网络流量数据包(如 .pcap 格式)的分析,利用微调后的大语言模型(基于 Qwen2.5-7B-Instruct)识别潜在的 DDoS 攻击类型,并自动生成针对性的缓解策略。系统提供直观的 Web 界面,支持数据包上传、攻击分析和结果可视化。 ## 功能特点 - 支持多种格式数据包上传(.pcap, .csv, .txt) - 自动检测多种网络攻击类型(包括 DDoS_UDP、DDoS_ICMP、DDoS_TCP 等) - 针对检测到的攻击生成详细的缓解策略 - 提供美观直观的 Web 界面 - 基于 LoRA 技术对大模型进行高效微调 ## 技术栈 ### 前端 - HTML5、CSS3、JavaScript - Font Awesome 图标库 ### 后端 - Python 3.8+ - Flask 框架 ### 机器学习 - PyTorch - Transformers - Unsloth(模型加速) - PEFT (LoRA 微调) ### 数据处理与评估 - Pandas、Datasets - Rouge Score(文本生成评估) - Sentence Transformers(余弦相似度计算) ## 项目结构 ```bash ThreatLLM/ ├── code/ │ ├── templates/ # Web 界面模板 │ │ └── index.html # 主页面 │ ├── config.py # 配置参数 │ ├── data_prep.py # 数据预处理 │ ├── evaluate.py # 模型评估 │ ├── inference.py # 推理功能 │ ├── model_prep.py # 模型加载与配置 │ ├── run.py # Flask 应用入口 │ ├── train.py # 模型训练 │ └── utils.py # 工具函数 ├── data/ # 数据目录 │ ├── prompts/ # 训练提示词数据 │ └── capec/ # 攻击类型与缓解策略参考数据 ├── requirements.txt # 依赖包列表 └── README.md # 项目说明文档 ``` ## 环境要求 - Python 3.8+ - CUDA 11.7+(推荐,用于 GPU 加速) - 内存:至少 16GB(推荐 32GB+ 用于模型训练) - 硬盘空间:至少 20GB(用于存储模型和数据) ## 快速开始 ```bash 1. 安装依赖 bash 运行 # 建议创建虚拟环境 python -m venv venv # Windows 激活虚拟环境 venv\Scripts\activate # Linux/Mac 激活虚拟环境 source venv/bin/activate # 安装依赖包 pip install -r requirements.txt ``` 2. 配置模型路径 编辑 code/config.py 文件,设置模型路径(支持本地路径或 Hugging Face 模型名称): ```bash # code/config.py MODEL_NAME = "Qwen/Qwen2.5-7B-Instruct" # 或本地模型路径 LORA_R = 8 # LoRA 相关配置(可按需调整) LORA_ALPHA = 32 LORA_DROPOUT = 0.05 ``` 3. 启动 Web 服务 ```bash 运行 cd code python run.py ``` 4. 访问系统 打开浏览器,输入以下地址即可使用:http://localhost:5000 模型训练 若需重新训练或微调模型,执行以下命令(训练参数可在 config.py 中调整): ```bash cd code python train.py ``` - 训练参数说明(config.py) BATCH_SIZE:训练批次大小 LEARNING_RATE:学习率 TRAIN_STEPS:训练步数 MAX_SEQ_LENGTH:文本序列最大长度 模型评估 评估模型性能(包括分类指标和生成指标): ```bash cd code python evaluate.py ``` 评估输出 - 攻击类型分类:准确率、精确率、召回率、F1 分数 - 缓解策略生成:ROUGE-1/2/L 分数、余弦相似度分数 ## 引用的仓库 本项目参考了以下开源项目: 面向网络扫描的加密流量分析系统: https://gitee.com/fu-weiye111/Encrypted-Traffic-Analysis-and-Defense-System-for-Network-Scanning-and-Probing