stelaras36/security-log-analyzer
GitHub: stelaras36/security-log-analyzer
基于 Python 的微型 SOC 工具,通过解析身份验证日志检测暴力破解等可疑登录活动并生成风险分级报告。
Stars: 1 | Forks: 0
# 安全日志分析器
一个基于 Python 的微型 SOC 工具,用于分析身份验证日志并检测可疑的登录活动。
## 功能
- 读取身份验证日志文件
- 检测失败的登录尝试
- 按 IP 地址统计失败尝试次数
- 识别被针对性的用户
- 分配风险等级:LOW、MEDIUM、HIGH
- 检测可能成功的暴力破解尝试
- 生成 CSV 安全报告
## 检测逻辑
该工具基于以下情况检测可疑活动:
- 来自同一 IP 地址的多次失败登录尝试
- 中等风险:3-4 次失败尝试
- 高风险:5 次或更多失败尝试
- 当一个 IP 有 3 次或更多失败尝试,随后出现一次成功登录时,判定为可能成功的暴力破解
## 项目结构
```
security-log-analyzer/
├── logs/
│ └── auth.log
├── reports/
│ └── suspicious_report.csv
├── src/
│ ├── main.py
│ ├── parser.py
│ ├── detector.py
│ └── reporter.py
├── .gitignore
├── README.md
└── requirements.txt
```
## 日志输入示例
```
2026-07-05 10:21:11 LOGIN_FAILED user=admin ip=192.168.1.20
2026-07-05 10:21:18 LOGIN_FAILED user=admin ip=192.168.1.20
2026-07-05 10:21:30 LOGIN_FAILED user=admin ip=192.168.1.20
2026-07-05 10:22:01 LOGIN_SUCCESS user=admin ip=192.168.1.20
```
## 输出示例
```
Suspicious IPs:
192.168.1.20 -> 3 failed attempts -> Users: admin -> Risk: MEDIUM
Success-after-failures alerts:
192.168.1.20 -> User: admin -> 3 failed attempts before success -> Possible successful brute-force
```
## CSV 报告示例
```
IP Address,Failed Attempts,Targeted Users,Risk Level,Alert
192.168.1.20,3,admin,MEDIUM,Possible successful brute-force
172.16.0.8,4,root,MEDIUM,
```
## 运行方式
在项目根目录下,运行:
```
python src/main.py
```
如果在 Windows 上 Python 安装为 `py`:
```
py src/main.py
```
## 使用的技术
- Python
- CSV
- 日志解析
- 基础检测规则
## 目的
本项目是作为一个网络安全作品集项目创建的,旨在演示基础的 SOC 风格日志分析、暴力破解检测、风险评分和报告生成。
标签:Python, URL发现, 免杀技术, 安全检测, 安全运营, 扫描框架, 无后门, 暴力破解检测, 红队行动, 逆向工具