Z3X-1337/auth-log-analyzer
GitHub: Z3X-1337/auth-log-analyzer
一个用于解析 OpenSSH 认证日志并生成可解释 JSON 与 Markdown 报告的 Python CLI 工具,帮助识别暴力破解和密码喷洒等可疑登录行为。
Stars: 0 | Forks: 0
# Auth 日志分析器
[](https://github.com/Z3X-1337/auth-log-analyzer/actions/workflows/tests.yml)



Auth Log Analyzer 是一个确定性的 Python 命令行工具,用于审查支持的 OpenSSH 认证事件并识别可疑的登录行为。
它专为 SOC 学习实验室、经过脱敏处理的事件分析练习以及可解释的检测工程而设计。它不能替代 SIEM、EDR 或分析师的验证。
## 检测覆盖范围
- 来自同一源 IP 的重复认证失败。
- 针对多个目标用户名的密码喷洒式活动。
- 重复失败期间出现的无效用户尝试。
- 按源 IP 统计的接受登录次数,用于提供调查上下文。
- IPv4 和 IPv6 源地址。
- 支持的失败方法:`password`、`publickey` 和 `keyboard-interactive/pam`。
## 面向分析师的输出
- 具有 schema 版本控制且机器可读的 JSON。
- 用于工单和案件记录的 Markdown 报告。
- 检测原因和配置的阈值。
- 按来源观察到的认证方法。
- 基于证据的 MITRE ATT&CK 建议:
- `T1110` — 暴力破解。
- `T1110.003` — 针对多个账户时的密码喷洒。
- 需要分析师审查的明确限制。
## 安装
从本地克隆安装:
```
python -m pip install .
```
隔离的 CLI 安装:
```
pipx install .
```
安装后的命令为:
```
auth-log-analyzer --help
```
## 用法
```
auth-log-analyzer sample_auth.log --pretty
auth-log-analyzer sample_auth.log --failed-threshold 3 --spray-threshold 4 --pretty
auth-log-analyzer sample_auth.log --format markdown
```
依然支持源文件形式:
```
python auth_log_analyzer.py sample_auth.log --pretty
```
## 示例摘要
```
{
"accepted_events": 1,
"events_parsed": 5,
"failed_events": 4,
"suspicious_sources": 1,
"unique_source_ips": 2
}
```
## 验证
```
python -m unittest -v
```
当前测试套件包含 12 个单元和 CLI 测试,覆盖了解析、IPv6、认证方法、阈值验证、风险分类、ATT&CK 映射、JSON 输出和 Markdown 输出。
GitHub Actions 测试了 Python 3.10、3.11 和 3.12,安装了软件包,并验证了 CLI 入口点。
## 项目治理
- [更新日志](CHANGELOG.md)
- [路线图](ROADMAP.md)
- [MIT 许可证](LICENSE)
当前软件包版本为 `0.1.0`,并遵循语义化版本控制。
## 限制
- 阈值检测是无上下文的,可能会产生误报。
- 仅解析已记录的 OpenSSH 接受/失败格式。
- Syslog 时间戳作为原始证据保留,不包含年份或时区。
- ATT&CK 条目是辅助分析师的建议,并非对手意图的证据。
## 安全
请勿发布真实的生产日志、用户名、主机名、凭据、IP 地址或私有基础设施详情。请使用脱敏后的示例以及您有权分析的数据。
标签:Blue Team, OpenSSH, Python, 动态分析, 安全运营(SOC), 无后门, 红队行动, 逆向工具