secwexen/log-anomaly-detector
GitHub: secwexen/log-anomaly-detector
基于无监督机器学习的日志异常检测工具,帮助安全团队从系统和应用日志中自动识别可疑行为与潜在威胁。
Stars: 1 | Forks: 0
# log-anomaly-detector
log-anomaly-detector 是一款基于机器学习的异常检测工具,专为安全分析师、SOC 团队和威胁猎手设计。它通过分析系统和应用程序日志,识别异常模式、可疑行为以及潜在的安全事件。
该工具支持多种日志源,采用无监督 ML 算法,并提供命令行界面以及可选的 Web Dashboard 用于可视化。
## 功能特性
- 多源日志采集(syslog、auth.log、nginx 日志、自定义格式)
- 使用 Isolation Forest、LOF 和 One-Class SVM 进行无监督 ML 异常检测
- 实时或批量日志分析
- 用于自动化工作流的 CLI 界面
- 可选的 Web Dashboard 用于可视化异常
- 以安全为核心的洞察,例如可疑登录尝试、暴力破解模式以及异常流量行为
- 轻量级、模块化且易于扩展
## 前置条件
- 推荐使用 Python 3.10+
- 推荐使用虚拟环境:
```
python -m venv venv
venv\Scripts\activate # Windows
source venv/bin/activate # Linux/macOS
```
* 安装依赖:
```
pip install -r requirements.txt
```
## 快速开始
### CLI 模式
分析日志文件:
```
python src/main.py --logfile data/sample_logs/syslog.log --output data/processed/report.json
```
运行持续监控(如果已实现):
```
python src/main.py --logfile data/sample_logs/syslog.log --watch --output data/processed/report.json
```
显式训练模型:
```
python src/train_isolation_forest.py
```
导出结果(针对已训练的模型):
```
python src/main.py --logfile data/sample_logs/syslog.log --output data/processed/report.json
```
## Web Dashboard
启动 Web 界面:
```
python src/webapp/app.py
```
然后打开:
```
http://localhost:5000
```
## 项目结构
- `src/`
核心源代码,包括日志加载器、预处理、ML 模型和检测逻辑。
- `src/webapp/`
基于 Flask 的轻量级 Dashboard,用于异常可视化。
- `data/`
样本日志和处理后的数据集。
- `models/`
序列化的 ML 模型。
- `tests/`
核心组件的单元测试。
## 支持的算法
- Isolation Forest
- Local Outlier Factor (LOF)
- One-Class SVM
这些模型无需标注数据集即可进行异常检测。
## 许可证
Copyright © 2026 secwexen.
本项目采用 **Apache-2.0 License** 授权。
有关完整详细信息,请参阅 [LICENSE](LICENSE) 文件。
## 作者
**Secwexen** – 项目作者、负责人及维护者
**角色:** 项目作者、负责人及维护者
**GitHub:** [github.com/secwexen](https://github.com/secwexen)
标签:AMSI绕过, Apex, DevSecOps, Flask, IP 地址批量处理, Isolation Forest, IT运维, LOF, One-Class SVM, Python, Socks5代理, SOC工具, Web日志, 上游代理, 互联网扫描, 可视化仪表盘, 威胁检测, 安全运营, 异常检测, 扫描框架, 无后门, 无监督学习, 暴力破解识别, 机器学习, 渗透测试检测, 漏洞发现, 系统日志, 红队行动, 网络安全, 逆向工具, 隐私保护