yugg755i/log-analyzer

GitHub: yugg755i/log-analyzer

基于 Python 和 Flask 的 SOC 日志分析工具,解析 SSH 认证日志并检测暴力破解,结合 AbuseIPDB 进行威胁情报充实。

Stars: 0 | Forks: 0

![Python](https://img.shields.io/badge/Python-3.x-blue) ![Flask](https://img.shields.io/badge/Flask-Web%20UI-black) ![SQLite](https://img.shields.io/badge/SQLite-Database-blue) # 日志分析器 一个基于 Python 的 SOC 日志分析工具,能够解析 SSH 身份验证日志,检测暴力破解活动,使用 AbuseIPDB 充实公网 IP 信息,并通过 CLI 和 Flask 仪表板展示分析结果。 本项目作为作品集项目开发,旨在真实 SOC 环境中实践日志解析、检测工程和威胁情报工作流程。 ## 功能 - SSH 身份验证日志解析 - 暴力破解检测 - AbuseIPDB 威胁情报充实 - SQLite 告警存储 - CSV 和 JSON 导出 - 基于文本的调查报告 - Flask 仪表板 - 按 IP 和用户名搜索 ## 截图 ### 仪表板 ![Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/1ae6988c61124709.png) ### 搜索界面 ![Search](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/1f1a04a244124719.png) ### CLI 使用 ![CLI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/e2f02f5fd3124725.png) ## 设置 ``` git clone https://github.com/yugg755i/log-analyzer.git cd log-analyzer pip install -r requirements.txt ``` 创建一个 `.env` 文件并填入你的 AbuseIPDB 密钥: ``` ABUSEIPDB_API_KEY=your_key_here ``` 将 SSH 身份验证日志(`.log` 文件)放入 `logs/` 目录中。 ## 项目结构 ``` log-analyzer/ ├── app.py # Flask dashboard entry point ├── requirements.txt ├── README.md ├── config/ ├── logs/ │ └── auth.log # sample SSH authentication log ├── src/ │ ├── __init__.py │ ├── parser.py # log parsing and timestamp normalization │ ├── detector.py # brute-force detection and IP analysis │ ├── enrichment.py # AbuseIPDB threat intelligence enrichment │ ├── reporter.py # report generation and JSON export │ ├── database.py # SQLite storage, search, and CSV export │ ├── pipeline.py # log processing workflow │ ├── utils.py # log file discovery utilities │ └── main.py # CLI entry point ├── templates/ │ ├── dashboard.html # dashboard page │ └── search.html # search page ├── static/ │ └── style.css # dashboard styling ├── screenshots/ # README screenshots ├── data/ # generated output files └── tests/ ``` ## CLI 使用 ``` # 显示主要攻击 IPs python src/main.py --top-ips # 检测 brute-force 活动 python src/main.py --bruteforce # 对照 AbuseIPDB 检查 IPs 并显示恶意警报 python src/main.py --malicious-alerts # 将警报导出至 CSV python src/main.py --export-csv # 生成完整调查报告 python src/main.py --report ``` ## 仪表板 ``` python app.py ``` 在 `http://localhost:5000` 打开。显示实时告警统计、带有尝试次数条形图的顶级源 IP、完整告警日志以及 IP/用户名搜索页面。 ## 技术栈 - Python 3 - Flask - SQLite - Requests - python-dotenv - AbuseIPDB API ## 示例输出 ``` LOG ANALYZER REPORT Generated: 2026-06-09 15:34:07 SUMMARY ------- Total Alerts Parsed: 75 Unique Source IPs: 32 Potential Brute Force Sources: 3 Malicious IPs Identified: 2 TOP SOURCE IPS -------------- 45.155.205.233 : 20 attempts 185.220.101.45 : 15 attempts 91.92.109.126 : 10 attempts ```
标签:Flask, SQLite, 免杀技术, 威胁情报, 字符串匹配, 安全运营中心, 开发者工具, 暴力破解检测, 红队行动, 网络映射, 逆向工具