SamuelRedfern/soc-log-detection-pipeline

GitHub: SamuelRedfern/soc-log-detection-pipeline

一款基于 Python 和机器学习的轻量级 SOC 日志分析工具,用于解析日志、检测安全威胁并映射 MITRE ATT&CK。

Stars: 0 | Forks: 0

# Python Security Log Analyzer (SOC 实用工具) 一款轻量级 SOC 风格的日志分析工具,能够解析类 ISO8601 日志、提取 IP、汇总事件、检测安全警报,并使用 MITRE ATT&CK 映射丰富选定的警报信息。 ## 功能特性 - 解析包含时间戳、日志级别、消息的日志,并可选提取 IP - 按级别、时间戳范围、热门消息和热门来源 IP 汇总计数 - 运行安全检测: - 基于重复登录失败尝试的暴力破解检测 - 时间窗口内的可疑高流量 IP 活动 - 包含 IP 细分的错误峰值检测 - 使用 Isolation Forest (`scikit-learn`) 运行异常检测 - 利用 MITRE ATT&CK 战术和技术元数据丰富映射的警报 - 支持 CLI 输出:文本摘要、JSON 输出、仅警报模式 ## 环境要求 - Python 3 - 来自 `requirements.txt` 的运行时依赖项 ## 安装设置 1. 创建虚拟环境: ``` python -m venv venv ``` 2. 激活虚拟环境: ``` .\venv\Scripts\Activate.ps1 ``` 3. 安装运行时依赖项: ``` python -m pip install -r requirements.txt ``` ## 使用方法 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 ``` ## MITRE ATT&CK 映射 目前的 ATT&CK 丰富功能有意保持保守。 - `brute_force` 警报映射到: - `TA0006 Credential Access` - `T1110 Brute Force` - 其他警报目前未映射,并显示为 `Not directly mapped` 这通过仅在信号强烈时附加 ATT&CK 元数据来保持项目的准确性。 ## 示例输出 ### 仅警报模式 ``` Security Alerts: - [LOW] Suspicious failed login rate from 203.0.113.77 MITRE ATT&CK: TA0006 Credential Access -> T1110 Brute Force - [LOW] Suspicious failed login rate from 45.33.22.19 MITRE ATT&CK: TA0006 Credential Access -> T1110 Brute Force - [LOW] Suspicious failed login rate from 91.134.17.42 MITRE ATT&CK: TA0006 Credential Access -> T1110 Brute Force - [HIGH] Unusual IP behavior detected using Isolation Forest from 203.0.113.77 MITRE ATT&CK: Not directly mapped ``` ### JSON 警报示例 ``` { "type": "brute_force", "severity": "LOW", "ip": "203.0.113.77", "count": 10, "description": "Suspicious failed login rate", "meta": { "window_minutes": 1, "threshold": 5, "window_count": 10, "first_seen": "2026-03-14T17:02:01", "last_seen": "2026-03-14T17:02:10" }, "mitre_attack": [ { "tactic": "Credential Access", "tactic_id": "TA0006", "technique": "Brute Force", "technique_id": "T1110", "confidence": "high", "mapping_note": "Repeated failed login attempts align with ATT&CK Brute Force." } ] } ```
标签:AMSI绕过, Apex, IP 提取, Isolation Forest, IT 运维, Linux安全, Python, scikit-learn, SIEM 工具, 免杀技术, 威胁检测, 安全运营, 开源安全工具, 异常检测, 扫描框架, 数据 enrichment, 文档结构分析, 无后门, 日志解析, 暴力破解检测, 机器学习, 红队行动, 网络安全, 证书伪造, 逆向工程平台, 隐私保护