raeewaykole-rw/security-log-analyzer
GitHub: raeewaykole-rw/security-log-analyzer
这是一个基于 Python 的迷你 SIEM 系统,通过模拟 SOC 工作流实现日志解析、攻击模式关联与威胁评分,并结合 GeoIP 与 VirusTotal 进行情报丰富,最终生成可视化报告。
Stars: 0 | Forks: 0
# 安全日志分析器(迷你 SIEM 模拟)
本项目模拟 SOC 风格的检测工作流,而不仅仅是基础解析。
## 核心功能
- 解析并规范化来自日志文件的认证/网络事件
- 关联事件以检测暴力破解、失败后的成功尝试以及端口扫描
- 针对源 IP 的威胁评分
- 通过控制台 + JSON 导出进行告警
- 实时监控模式 (`--follow`)
- 用于攻击趋势和顶级可疑 IP 的 Flask 仪表板
## 情报与报告升级
- GeoIP 信息丰富 (`ip-api`),用于获取攻击者的国家/城市/ISP
- VirusTotal IP 声誉信息丰富
- 将情报报告导出为 JSON
- 将情报报告导出为 PDF
## 安装
```
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
```
## 运行一次性分析
```
python main.py --log logs/sample.log --json-output logs/alerts.json
```
## 运行 GeoIP + VirusTotal 信息丰富
```
python main.py --log logs/sample.log --geoip --virustotal
```
通过环境变量设置您的 VirusTotal 密钥,而不是直接将其放在命令中:
```
set VT_API_KEY=[insert ur api key]
python main.py --log logs/sample.log --geoip --virustotal
```
如果您未传递 `--vt-api-key`,应用程序将尝试从环境变量中获取 `VT_API_KEY`。
## 导出情报报告
```
python main.py --log logs/sample.log --geoip --report-json logs/report.json --report-pdf logs/report.pdf
```
## 实时监控
```
python main.py --log logs/sample.log --follow --poll-interval 2
```
运行时,向 `logs/sample.log` 追加新行以模拟实时攻击。
## 运行仪表板
```
python dashboard/app.py
```
打开 `http://127.0.0.1:5000`。
## 项目结构亮点
- `analyzer/parser.py`:事件解析和规范化
- `analyzer/detector.py`:事件关联检测器
- `analyzer/scorer.py`:加权威胁评分
- `analyzer/alerts.py`:告警格式化 + JSON 导出
- `analyzer/realtime.py`:tail/follow 流式处理辅助工具
- `analyzer/geoip.py`:GeoIP 信息丰富
- `analyzer/virustotal.py`:VirusTotal 信息丰富
- `analyzer/report_json.py`:JSON 情报报告导出
- `analyzer/report_pdf.py`:PDF 情报报告导出
- `main.py`:CLI 编排器
## 面试推介
“使用 Python 构建了一个迷你 SIEM,具备实时监控、攻击模式关联、威胁评分以及威胁情报信息丰富(GeoIP + VirusTotal)功能。它生成 SOC 风格的告警,并以 JSON/PDF 格式导出情报报告,同时为分析师提供仪表板以实现可视化。”
标签:AMSI绕过, Ask搜索, CISA项目, CSV导出, Flask, GeoIP, Homebrew安装, HTTP/HTTPS抓包, IP信誉, IP 地址批量处理, PDF导出, PE 加载器, PoC, Python, VirusTotal, WSL, 威胁情报, 威胁检测, 威胁评分, 安全演练, 安全运营中心, 开发者工具, 态势感知, 报表生成, 攻击关联, 数据统计, 无后门, 暴力破解, 端口扫描, 网络安全, 网络映射, 逆向工具, 隐私保护