hvarsh-cyber/ai-log-anomaly-detector

GitHub: hvarsh-cyber/ai-log-anomaly-detector

一个混合规则引擎与 Isolation Forest 机器学习的安全日志分析工具,用于检测暴力破解、撞库等攻击模式并输出结构化报告。

Stars: 0 | Forks: 0

# AI 日志异常检测器 🤖🔐 ### 混合规则与机器学习的安全日志分析 ![Python](https://img.shields.io/badge/Python-3.11-blue) ![scikit-learn](https://img.shields.io/badge/scikit--learn-ML-orange) ![Security](https://img.shields.io/badge/Security-SOC-red) ## 🚀 功能简介 - 📊 **生成真实的日志数据集**,包含正常流量和注入的攻击模式 - 🧠 **训练 Isolation Forest 模型**,对每条日志记录的异常程度进行评分 - 🛡️ **应用 SOC 风格的检测规则**,实现高置信度标记(请求突发、失败率、非正常时段的自动化访问) - 📝 **用通俗易懂的语言解释每一次检测** —— 不仅是给出分数,更是说明原因 - 📁 **输出结构化的 JSON 报告**,可直接用于 SIEM 摄取或工单系统 ## 🛡️ 可检测的攻击模式 | 模式 | 检测逻辑 | |---|---| | 暴力破解登录 | 同一 IP 在 5 分钟时间窗口内发起 >10 次请求 | | 撞库攻击 | 同一 IP 的请求失败率 >50% | | 敏感 endpoint 扫描 | 在 `/admin`, `/.env`, `/config`, `/api/keys` 上出现 401/403 响应 | | 非正常时段的自动化访问 | 凌晨 1 点至 5 点之间出现类似脚本的 user agent (python-requests, curl) | ## 🏗️ 架构 ``` ai-log-detector/ ├── detector/ │ ├── log_generator.py ← generates realistic test data │ └── anomaly_detector.py ← hybrid rule + ML detection engine ├── data/ │ └── server_logs.csv ← generated log dataset ├── reports/ ← JSON anomaly reports └── main.py ← entry point ``` ## ⚡ 快速开始 ``` git clone https://github.com/hvarsh-cyber/ai-log-anomaly-detector.git cd ai-log-anomaly-detector python3 -m venv venv source venv/bin/activate pip install pandas numpy scikit-learn python3 main.py ``` ## 🧠 为什么采用混合方法? 纯粹的 ML 异常检测存在一个问题:强制设定固定的污染比例,会恰好标记出该比例的流量,而不管这些流量是否真的存在问题 —— 这会导致对完全正常的行为产生误报。 本项目采用成熟的安全检测规则(请求速率、失败率、敏感 endpoint 访问、非正常时段自动化)作为**标记的真实基准**,并仅使用 Isolation Forest 的 `anomaly_score` 来根据严重程度**排序和确定优先级**。这反映了生产级 SOC 工具的常见工作方式 —— 使用确定性规则进行检测,使用 ML 进行分诊和优先级排序。 ## 📊 示例输出 ``` [!] 2026-06-17 09:50:11 | IP: 203.0.113.45 | /login | Status: 401 → High request volume from this IP (25 requests in 5 min) → High failure rate from this IP (100% failed) → Unauthorized/forbidden access attempt (HTTP 401) [!] 2026-06-16 03:07:23 | IP: 185.220.101.9 | /api/users | Status: 200 → Automated/scripted access during unusual hours (3:00) — user agent: python-requests/2.28 ``` ## 🔮 路线图 - [ ] 支持实时日志流 - [ ] 针对高严重性发现提供 Slack/邮件告警 - [ ] 用于可视化异常趋势的 Web dashboard - [ ] 支持真实世界的日志格式(Apache、Nginx、CloudTrail) - [ ] Docker 容器化 ## 👩‍💻 作者 **Himavarsha Sathyanarayana** 莫纳什大学 (Monash University) 网络安全硕士 EchoStar/Dish Network (财富 500 强) 安全自动化 2.6 年工作经验 [![LinkedIn](https://img.shields.io/badge/LinkedIn-blue?style=flat&logo=linkedin)](https://linkedin.com/in/himavarsh-s-0a215b213) [![GitHub](https://img.shields.io/badge/GitHub-black?style=flat&logo=github)](https://github.com/hvarsh-cyber)
标签:Apex, Python, 孤立森林, 安全日志分析, 密码管理, 异常检测, 无后门, 机器学习, 红队行动, 逆向工具