supreethh/SOC_log_analyzer
GitHub: supreethh/SOC_log_analyzer
一款面向SOC工作流的轻量级Python日志分析工具,支持JSON日志过滤和基于MITRE ATT&CK的安全威胁检测。
Stars: 1 | Forks: 0
# SOC 日志分析器
一个基于 Python 的日志分析工具,专为安全和 SOC 风格的工作流程设计。它接收结构化的 JSON 日志文件,规范化日志条目,支持按时间戳、严重程度和消息内容进行过滤,并检测暴力破解身份验证尝试。
该项目在一个轻量级 CLI 工具中演示了实用的日志处理、事件关联和基本安全分析能力。
## 功能特性
- 解析 JSON 格式的日志文件
- 将时间戳规范化为可比较的 datetime 对象
- 将额外的日志字段展平为可读消息
- 按以下条件过滤日志:
- 时间范围
- 日志级别
- 消息内容
- 检测暴力破解登录尝试 (MITRE ATT&CK T1110 — Brute Force)
- 检测非工作时间登录活动 (MITRE ATT&CK T1078 — Valid Accounts)
- 检测来自单一 IP 的多用户名账户枚举尝试
- 生成摘要形式的 SOC 风格仪表板输出
## 项目结构
```
SOC_log_analyzer/
│
├── analyzer.py # Core log parsing, filtering, and detection logic
├── logger.py # Log generator used to simulate realistic log data
├── app # Sample application log
├── test # Large test dataset for analysis
├── README.md
└── .gitignore
```
## 日志格式
日志存储为 JSON 对象。示例:
```
{
"time": "2026-01-11 14:05:32","level": "ERROR","msg": "Failed login attempt","user": "admin","ip": "192.168.1.12"
}
```
任何额外的字段(例如 `user`、`ip` 或 `service`)都会在解析过程中自动附加到消息中。
## 获取代码
克隆仓库:
```
git clone https://github.com/supreethh/SOC_log_analyzer.git
```
进入项目目录:
```
cd SOC_log_analyzer
```
## 如何运行
通过传递日志文件来运行分析器:
```
python analyzer.py test.log
```
这将解析日志,应用检测逻辑,并输出摘要以及任何检测到的暴力破解活动。
## 日志过滤示例
分析器支持基本过滤,以帮助在 SOC 风格的调查中缩小相关事件的范围。
## 按日志级别过滤
分析器支持基本过滤,以帮助在 SOC 风格的调查中缩小相关事件的范围。
仅分析 warning 级别的事件:
```
python analyzer.py test.log WARNING
```
## 按消息内容过滤
搜索与身份验证相关的活动,例如登录失败:
```
python analyzer.py test.log "failed login"
```
## 按时间范围过滤
分析特定时间窗口内的日志:
```
python analyzer.py test.log "2026-01-11 12:00:00" "2026-01-11 13:00:00"
```
## 项目意义
该工具反映了 SOC 环境中常用的脚本类型,用于:
- 日志分类
- 告警调查
- 事件重构
- 检测原型设计
实现了三种检测类型,每种都映射到 MITRE ATT&CK:
- T1110 — Brute Force (来自相同用户/IP 的重复登录失败)
- T1078 — Valid Accounts (在业务时间之外成功登录)
- T1110 — Credential Access via account enumeration (来自单一 IP 的多个用户名)
其旨在展示专注于安全的 Python 技能和检测工程逻辑,而非通用脚本编写。
标签:Homebrew安装, JSON, Python, T1078, T1110, 代码示例, 免杀技术, 安全运营, 开源, 异常检测, 扫描框架, 数据分析, 文档结构分析, 无后门, 日志解析, 日志过滤, 时间戳归一化, 暴力破解检测, 红队行动, 网络安全, 网络调试, 自动化, 证书伪造, 账户枚举检测, 逆向工具, 隐私保护