gR3nn/ai-log-anomaly-investigator
GitHub: gR3nn/ai-log-anomaly-investigator
一个本地优先的 SOC 原型项目,结合规则引擎、Isolation Forest 异常检测和本地 DistilBERT 分类器,对合成安全日志进行多层次的威胁检测与 MITRE ATT&CK 映射。
Stars: 0 | Forks: 0
# AI 日志异常调查器
`ai-log-anomaly-investigator` 是一个本地优先的 SOC 分析演示项目,使用 Python、Streamlit、scikit-learn 和 Hugging Face Transformers 构建。它展示了基于规则的检测、异常检测和本地 DistilBERT 推理如何在一个安全工作流中协同工作,而不依赖于任何外部 LLM API。
## 概述
该项目分析合成安全日志,并展示以下内容:
- 针对常见 SOC 场景的基于规则的检测,例如暴力破解、可疑的 PowerShell、编码命令、不可能的旅行、可疑的 DNS、权限提升、端口扫描和可能的数据泄露
- 使用用户和主机行为特征的 Isolation Forest 异常检测
- 本地 DistilBERT 分类,用于良性与恶意事件推理
- MITRE ATT&CK 映射和确定性的 SOC 报告生成
## 技术栈
- Python
- Streamlit
- pandas
- scikit-learn
- Hugging Face Transformers
- PyTorch
## 项目流程
1. `generate_synthetic_logs.py` 在 `data/synthetic_security_logs.csv` 创建一个可复现的 SOC 数据集
2. `src/rule_engine.py` 生成带有证据和 MITRE ATT&CK 上下文的可解释告警
3. `src/anomaly_detector.py` 构建行为特征并运行 Isolation Forest
4. `src/transformer_classifier.py` 从 `models/security-distilbert` 加载本地微调的 DistilBERT 模型
5. `src/report_generator.py` 生成本地 SOC 调查报告
6. `app.py` 在 Streamlit 中展示该工作流
## 快速开始
```
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python generate_synthetic_logs.py
python train_transformer.py
streamlit run app.py
```
## 主要命令
生成数据集:
```
python generate_synthetic_logs.py
```
训练本地 Transformer 模型:
```
python train_transformer.py
```
运行 Streamlit 应用:
```
streamlit run app.py
```
运行测试:
```
pytest
```
## 数据集
合成数据集包括:
- 事件类型:`login_success`、`login_failed`、`process_start`、`network_connection`、`dns_query`、`file_access`、`privilege_escalation`、`cloud_login`、`mfa_failure`、`suspicious_email`
- 标签:`benign`、`malicious`
- 攻击场景:`brute_force`、`successful_login_after_failures`、`impossible_travel`、`suspicious_powershell`、`encoded_command`、`port_scan`、`data_exfiltration`、`suspicious_dns`、`privilege_escalation`、`malicious_email_link`、`benign_activity`
## 截图
### 仪表板和控制项

### Transformer 分类器
Transformer 分类器部分展示了对选定安全事件执行的本地 DistilBERT 推理。

### 异常检测

### SOC 报告导出

## 注意事项
- 这是一个教育性质的 SOC AI 原型,不是生产级别的检测系统。
- 数据集是合成的,因此模型行为和告警质量受限于所生成的示例。
- 如果 Transformer 模型尚未训练,应用仍然可以运行。在这种情况下,它会显示训练说明,而不会崩溃。
标签:Apex, IP 地址批量处理, Kubernetes, NLP, Python, 凭据扫描, 安全运营, 异常检测, 扫描框架, 插件系统, 无后门, 机器学习, 逆向工具