# TQSec LogAnalysisBot **Repository Path**: dashengbaby/tqsec-log-analysis-bot ## Basic Information - **Project Name**: TQSec LogAnalysisBot - **Description**: TQSec LogAnalysisBot V1.0.0 是一个基于Nginx日志的攻击检测和分析工具。它使用深度学习模型来识别和分类攻击行为,帮助安全团队及时发现和响应安全威胁。 我们希望使用最小的资源占用实现最精准的识别。该模型文件仅不到3M大小,目前使用PHP的日志进行训练,您可以客制化独属于您的专业识别的模型。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: https://tqsec.eu.org - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 0 - **Created**: 2025-09-22 - **Last Updated**: 2025-09-26 ## Categories & Tags **Categories**: security-dev **Tags**: None ## README # TQSec LogAnalysisBot ## 什么是TQSec LogAnalysisBot? TQSec LogAnalysisBot V1.0.0 是一个基于Nginx日志的攻击检测和分析工具。它使用深度学习模型来识别和分类攻击行为,帮助安全团队及时发现和响应安全威胁。 我们希望使用最小的资源占用实现最精准的识别。该模型文件仅不到3M大小,目前使用PHP的日志进行训练,您可以客制化独属于您的专业识别的模型。 ``` 模型大小 ≤5M(v1.0.0_Alpha版本≤40M) 识别速度 ≤10ms(v1.0.0_Alpha版本≤40ms) 最低配置 1H1G 当前支持的后端 PHP 支持的中间件 Nginx ``` ***请注意*** ```v1.0.0_Alpha```该版本增加了神经网络层数,AI的资源占用从原本的≤5M到现在≤40M ### 精准度怎么样? 目前测试集上的精准度为 98.86% ,召回率为 99.19% ,F1分数为 99.24% 。 ![训练结果](images/setp3-result2.PNG) ### 泛化程度怎么样? 我们的模型在测试集上的泛化能力表现良好,能够准确识别未知的攻击行为。 对同类型(PHP为后端的代码)识别攻击行为均为 0.9+ 对同类型(PHP为后端的代码)识别正常行为均为 0.1- ### 怎么提高精准性和泛化能力? 1、 增加训练数据量(增加数据集) - 请注意!您要根据您的系统的详细日志进行独属于您的训练才能让模型“足够精准”、“足够聪明”。 2、 调整 model_train.py 文件中的 batch_size 为更小的参数 ## 硬件配置 > 可运行的最低配置 1H1G / NoGPU 推荐 2H2G / NoGPU 这个小模型不需要GPU 如果您需要训练、微调请参考以下配置 8H8G / NoGPU ## 怎么快速获取专属训练集? 1、启动您的网站 2、找网络安全专家攻击您的网站,例如使用```dirsearch```、```sqlmap```等软件 3、上线生产环境,定期将日志拉下来,然后使用UI文件夹中的```log_analyzer.py```文件对日志进行标注。 # 怎么训练 ## 1、您需要先准备Nginx Log训练集 ``` 攻击行为日志 attack.log.txt 正常请求日志 safe.log.txt ``` 将训练集放到当前目录下 > 新增项目! 您可以运行UI文件夹里面的```log_analyzer.py```手动标记您的日志! ## 2、将日志文件格式化到Jsonl文件中 脚本会自动添加标记数据 is_attack 到jsonl文件中 ```bash python Log2Jsonl.py ``` 该脚本会生成 output.jsonl 文件 ## 3、特征提取、URL和UA分词 脚本会将 output.jsonl 文件中的日志内容进行特征提取、URL和UA分词处理。 ```bash python Jsonl2npz.py ``` 脚本会生成 features.npz | url_vectorizer.pkl | ua_vectorizer.pkl 文件 ## 4、模型训练 ```bash python model_train.py ``` 标准输出 ```strout 评估模型... 模型评估结果: 损失: 0.0886 准确率: 0.9886 精确率: 0.9928 召回率: 0.9919 F1分数: 0.9924 保存模型和标准化器... ``` 训练完成后会将训练好的ai模型保存到 tqsecLogAI.h5 文件中 训练完成后会生成 scaler.npy 文件,用于标准化特征数据 ## 5、模型使用 ```bash python predict_final.py test.log ``` ![预测结果](images/setp4-result.PNG) ![预测结果](images/setp4-result2.PNG) ## 6、模型微调 由于之前的训练数据不够1W条,强烈建议您根据您的实际情况,使用更多的训练数据进行微调。如果您的训练数据不多,建议直接重新训练! 在运行以下代码前请确保您准备好了微调训练集 attack.log.txt 和 safe.log.txt 文件(显而易见,attack.log.txt 中的日志为攻击行为,safe.log.txt 中的日志为正常请求) ```bash # 将日志文件格式化为 jsonl 文件 python Log2Jsonl.py # 提取特征和URL、UA分词 python Json2npz.py # 微调模型 python trimming.py ``` # 关于我们 > 官网 https://tqsec.eu.org 领先的AI驱动网络安全产品,为您的企业提供全方位威胁检测与报告解决方案,让安全防护更智能、更高效。 ## 其他产品 ### AI情报哨兵 > 新一代智能网站监控系统,采用先进的自然语言处理技术,让您只需用日常语言描述监控需求,AI就能精准识别关键信息、追踪变化趋势并自动保存相关内容。系统支持自定义Word报告生成,可根据您的需求定制报告格式、内容重点和数据可视化方式,帮助您快速掌握网站安全状况,及时发现潜在风险。 ### AI翻译官 > 基于深度学习的专业安全报告翻译工具,采用神经网络机器翻译与领域专业术语库相结合的方式,将英文NESSUS报告精准转换为符合中文表达习惯的自定义Word报告。系统内置多重AI审核机制,通过语法检查、术语一致性验证和专业内容合理性评估,确保翻译内容既准确又专业。支持自定义报告模板、排版格式和内容重点,帮助安全团队快速生成高质量中文报告,提升沟通效率和决策速度。 ## 加入我们 Email:manager@tqsec.eu.org TQsec网络安全团队 欢迎您的加入~