sofiaboiko/real-time-log-analyzer

GitHub: sofiaboiko/real-time-log-analyzer

一个从零构建的实时 Web 安全监控项目,包含故意含漏洞的 Flask 应用和自定义 Python 日志分析器,能实时检测常见 Web 攻击并通过 Telegram 告警。

Stars: 0 | Forks: 0

# 实时日志分析器 ![Python](https://img.shields.io/badge/Python-3.10%2B-3776AB?logo=python&logoColor=white) ![Flask](https://img.shields.io/badge/Flask-3.x-000000?logo=flask&logoColor=white) ![SQLite](https://img.shields.io/badge/SQLite-3-003B57?logo=sqlite&logoColor=white) ![Telegram Bot API](https://img.shields.io/badge/Telegram-Bot%20API-26A5E4?logo=telegram&logoColor=white) ![MITRE ATT&CK](https://img.shields.io/badge/MITRE-ATT%26CK-D93B3B) ![License](https://img.shields.io/badge/License-MIT-green) 一个轻量级、从零构建的安全监控技术栈:包含一个故意留有漏洞的 Flask Web 应用,配合一个自定义的 Python 日志分析器,能够实时检测常见的 Web 攻击,并将告警推送到 Telegram。 本项目作为 SIEM/基于云的检测工作的实践补充:它并非在现有平台之上编写检测逻辑,而是直接实现了日志追踪、解析、规则匹配和告警 pipeline。 ## 功能简介 - **`vulnerable-web-app/app.py`** - 一个小型的 Flask 应用(包含登录、注册、搜索、文件查看器和后台管理面板),带有故意不安全的代码路径:未参数化的 SQL 查询、未转义的搜索输出以及不受限制的文件访问。每一个有意义的操作都会作为 JSON 日志记录到 `security_events.log` 中。 - **`vulnerable-web-app/app_safe.py`** - 修复了上述所有问题的同一个应用,用于进行对比。关于具体更改的内容和原因,请参阅下文的“加固版本”。 - **`real-time-log-analyzer/`** - 一个类似于 `tail` 的 Python 进程,它会持续跟踪日志文件,通过一系列检测器运行每个事件,并在触发规则时向 Telegram 发送告警,内容包含攻击类型、源 IP、匹配的模式和时间戳。 ## 检测规则与 MITRE ATT&CK 映射 | 检测器 | 检测目标 | ATT&CK 技术 | |---|---| | `brute_force.py` | 5 分钟内来自同一 IP 的 8 次以上失败登录 | T1110.001 (Password Guessing) | | `brute_force.py` (撞库) | 同一时间窗口内来自同一 IP 的 5 个以上不同用户名 | T1110.004 (Credential Stuffing) | | `sql_injection.py` | 登录/注册字段中的 `OR 1=1`、`UNION SELECT`、注释终结符等 | T1190 (Exploit Public-Facing Application) | | `xss.py` | 搜索查询中的 `