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, 威胁情报, 威胁检测, 威胁评分, 安全演练, 安全运营中心, 开发者工具, 态势感知, 报表生成, 攻击关联, 数据统计, 无后门, 暴力破解, 端口扫描, 网络安全, 网络映射, 逆向工具, 隐私保护