diallosanazy/log-triage-bot
GitHub: diallosanazy/log-triage-bot
一个轻量级的日志分析自动化工具,通过预定义规则扫描 Windows 和 Linux 日志中的可疑行为并生成带风险评分的每日事件摘要报告,帮助 SOC 分析师自动化日常分诊工作。
Stars: 0 | Forks: 0
# Log Triage Bot

[](https://github.com/diallosanazy/log-triage-bot/actions/workflows/ci.yml)
一个小巧的 **Python + PowerShell** 自动化工具,用于扫描 Windows Event Logs 和 Linux syslog/auth.log 查找可疑模式,对其进行评分,并生成每日事件检测摘要。
本项目的目的是自动化 SOC 分析师每天早晨枯燥的前 30 分钟工作:无需手动使用 grep 查找日志,只需运行一条命令即可获得一个“值得查看的事项”的排序列表。
## 检测内容
| 规则 | 查找目标 |
|-------------------------------|------------------------------------------------------------------|
| `failed_login_burst` | 5 分钟内来自同一来源的 >= 10 次失败登录 |
| `successful_after_failures` | 来自刚刚多次登录失败的 IP 的成功登录 |
| `privilege_escalation` | `sudo`、`su -`、`runas`,或新的本地管理员 / sudoers 条目 |
| `suspicious_powershell` | 编码命令,`Invoke-Expression`,`DownloadString` 等 |
| `unusual_process_spawn` | 从 `winword.exe` 等生成的 `cmd.exe` / `powershell.exe` |
每次匹配都会生成一个带有数字分数(10–100)的发现。分数 ≥ 70 的发现被标记为 **High**;≥ 40 的标记为 **Medium**;其余的标记为 **Low**。
## 技术栈
- Python 3.10+(仅使用标准库——解析器/评分器无需第三方依赖)
- PowerShell 5.1+,用于 `collect_windows_logs.ps1`(写入一个规范化的 JSON 文件)
- `sample_logs/` 中的示例日志,使项目开箱即用
## 快速开始
```
git clone https://github.com/diallosanazy/log-triage-bot.git
cd log-triage-bot
# 对捆绑的示例 Log 运行 Triage
python triage_bot.py --auth sample_logs/auth.log --syslog sample_logs/syslog \
--windows sample_logs/windows_events.json \
--out reports/today.md
cat reports/today.md
```
要从真实的 Windows 主机提取日志,请首先运行 PowerShell 收集器:
```
.\collect_windows_logs.ps1 -Hours 24 -OutFile windows_events.json
```
然后让 Python 机器人指向生成的 JSON。
## 每日摘要报告
该机器人将 Markdown 报告写入 `reports/.md`,包含三个部分:
1. **高优先级发现**(分数 >= 70)——当前需要查看的内容。
2. **中/低优先级发现**——用于日常审查。
3. **统计信息**——处理的事件数、主要来源 IP、主要用户、时间范围。
将该脚本放入 cron / Task Scheduler 中并每天通过电子邮件发送此文件。
## 文件结构
```
log-triage-bot/
├── triage_bot.py # CLI entrypoint
├── parsers.py # Linux auth.log / syslog / Windows JSON parsers
├── rules.py # Detection rules + scoring
├── collect_windows_logs.ps1 # Pull recent Windows events into normalized JSON
├── sample_logs/ # Realistic sample inputs
└── reports/ # Generated reports
```
## 许可证
MIT
标签:AI合规, AMSI绕过, auth.log, CSV导出, HTTP/HTTPS抓包, IPv6, IT运维, Linux日志, Markdown报告, OpenCanary, PowerShell, Python, Socks5代理, syslog, Windows事件日志, 免杀技术, 初始访问检测, 威胁检测, 库, 应急响应, 异常行为分析, 态势感知, 恶意命令执行, 搜索语句(dork), 数字取证, 无后门, 日志分类, 日志评分, 暴力破解检测, 权限提升检测, 红队行动, 网络安全, 自动化脚本, 蓝军工具, 逆向工具, 防御矩阵, 隐私保护