SamuelRedfern/my-first-repo
GitHub: SamuelRedfern/my-first-repo
一款轻量级 SOC 日志分析工具,通过规则匹配与机器学习识别日志中的暴力破解、异常访问等安全威胁。
Stars: 0 | Forks: 0
# Python 安全日志分析器 (SOC 工具)
一款轻量级的 SOC 风格日志分析工具,用于解析 ISO8601 格式的日志,提取 IP,汇总事件,并检测安全告警。
## 功能特性
- 解析包含时间戳、日志级别、消息和可选 IP 提取的日志
- 按级别、时间戳范围、高频消息和高频来源 IP 汇总统计
- 运行安全检测:
- 基于重复登录失败尝试的暴力破解检测
- 可疑的高频 IP 活动
- 错误激增检测
- 通过 IsolationForest (scikit-learn) 进行可选的异常检测
- 支持 CLI 输出:文本摘要、JSON 输出、仅告警模式
## 用法
1. 创建一个日志文件(例如 `sample.log`):
```
2026-03-14T10:00:00 [INFO] Server started
2026-03-14T10:01:00 [WARN] High memory usage
2026-03-14T10:02:00 [ERROR] Could not connect to database
2026-03-14 10:03:00 [INFO] Request completed
```
2. 运行:
```
python main.py sample.log
```
3. 写入输出文件:
```
python main.py sample.log -o report.txt
```
4. 仅显示安全告警:
```
python main.py sample.log --alerts-only
```
5. 输出包含摘要和告警的 JSON:
```
python main.py sample.log --json
```
6. 打印版本:
```
python main.py --version
```
## 示例输出
### 常规摘要
```
Log Analysis Summary:
Parsed entries: 57
Failed parse lines: 0
Levels:
INFO: 40
WARN: 9
ERROR: 8
First timestamp: 2026-03-14T08:00:00
Last timestamp: 2026-03-14T11:30:55
Top messages:
6 × Request completed: /api/data
...
Top IPs:
192.168.1.10: 14 events
Security Alerts:
- [HIGH] Possible brute force login attack from 192.168.1.10
- [MEDIUM] High-volume event activity from a single IP from 45.22.10.5
```
### 仅告警模式
```
Security Alerts:
- [HIGH] Possible brute force login attack from 192.168.1.10
- [MEDIUM] High-volume event activity from a single IP from 45.22.10.5
```
标签:AMSI绕过, Apex, IP 地址批量处理, IP提取, IsolationForest, PE 加载器, Python, scikit-learn, SOC工具, 代码示例, 免杀技术, 威胁检测, 子域名变形, 安全运营, 异常检测, 扫描框架, 数据分析, 文档结构分析, 无后门, 日志摘要, 日志解析, 暴力破解检测, 机器学习, 漏洞发现, 红队行动, 网络安全, 证书伪造, 逆向工具, 隐私保护