abhiiibabariya-dev/soc-automation-toolkit
GitHub: abhiiibabariya-dev/soc-automation-toolkit
这是一个零依赖的Python工具包,专为SOC分析师设计,用于自动化日志解析、告警分流、哈希检查及网络分析等日常工作。
Stars: 0 | Forks: 0
SOC Automation Toolkit
面向 SOC 分析师的 Python 工具包 -- 日志解析、告警分类、哈希检查与网络分析
## 包含内容 四个经过实战检验的模块,用于自动化 SOC L1/L2 工作中的重复性任务: | 模块 | 功能 | |--------|-------------| | **Log Parser** | 自动检测并解析 syslog、Windows 事件、Apache、JSON 日志。提供统计、过滤、严重性检测功能。 | | **Alert Triage** | 对告警进行优先级排序、去重、检查已知良性项,自动升级 MITRE ATT&CK 战术相关的告警。 | | **Hash Checker** | 计算文件和目录的 MD5/SHA1/SHA256 哈希值。通过基线比较进行完整性监控。 | | **Network Analyzer** | 解析连接日志,检测可疑端口、潜在的信标活动以及大流量传输。 | 零外部依赖。仅使用 Python 标准库。 ## 快速开始 ``` git clone https://github.com/abhiiibabariya-dev/soc-automation-toolkit.git cd soc-automation-toolkit ``` ### 日志解析器 ``` # 解析和分析日志文件 python -m soc_toolkit.cli logs samples/sample_syslog.log # 按严重程度筛选 python -m soc_toolkit.cli logs samples/sample_syslog.log --severity ERROR # 按关键字筛选 python -m soc_toolkit.cli logs samples/sample_syslog.log --keyword "Failed password" # 仅统计 python -m soc_toolkit.cli logs samples/sample_syslog.log --stats-only ``` ### 告警分流 ``` # 对 JSON 中的安全告警进行分流 python -m soc_toolkit.cli triage samples/sample_alerts.json # 保存报告 python -m soc_toolkit.cli triage samples/sample_alerts.json -o triage_report.txt ``` ### 哈希检查器 ``` # 对单个文件进行哈希 python -m soc_toolkit.cli hash /path/to/suspicious_file.exe # 对目录中的所有文件进行哈希 python -m soc_toolkit.cli hash /path/to/directory/ # 按扩展名筛选 python -m soc_toolkit.cli hash /path/to/directory/ --ext .exe .dll .sys ``` ### 网络分析器 ``` # 分析连接日志 python -m soc_toolkit.cli network samples/sample_connections.json ``` ## 示例输出:Alert Triage ``` ====================================================================== ALERT TRIAGE SUMMARY ====================================================================== Total Alerts: 6 Duplicates: 1 Unique: 5 By Priority: P1 (Critical): 1 P2 (High): 2 P3 (Medium): 1 P5 (Info): 1 Recommended Actions: ESCALATE: 3 CLOSE: 2 INVESTIGATE: 1 ====================================================================== ALERTS REQUIRING ATTENTION (non-duplicate, P1-P3) ====================================================================== [ESCALATE] P1 | PowerShell Download Cradle Executed Source: Sysmon | Severity: CRITICAL Src IP: 10.0.1.50 User: admin MITRE: execution / T1059.001 >> MITRE tactic 'execution' requires escalation [ESCALATE] P2 | Brute Force Login Attempt Detected Source: Windows Security | Severity: HIGH Src IP: 185.220.101.34 User: admin MITRE: credential-access / T1110.001 ``` ## 作为库使用 ``` from soc_toolkit.log_parser import parse_log_file, filter_entries from soc_toolkit.alert_triage import AlertTriageEngine, Alert from soc_toolkit.hash_checker import hash_file, hash_directory # 解析日志 entries, stats = parse_log_file("server.log") errors = filter_entries(entries, severity="ERROR") # 分流告警 engine = AlertTriageEngine() results = engine.triage(alerts) # 对文件进行哈希 hashes = hash_directory("/opt/binaries", extensions=[".exe", ".dll"]) ``` ## 项目结构 ``` soc-automation-toolkit/ ├── soc_toolkit/ │ ├── __init__.py │ ├── log_parser.py # Universal log parser (syslog/JSON/Apache/Windows) │ ├── alert_triage.py # Alert prioritization & deduplication engine │ ├── hash_checker.py # File hash calculator & integrity checker │ ├── network_analyzer.py # Network connection analyzer │ └── cli.py # Unified CLI interface ├── samples/ │ ├── sample_syslog.log # Example syslog entries │ └── sample_alerts.json # Example security alerts ├── tests/ │ └── test_toolkit.py # Unit tests ├── setup.py └── README.md ``` ## 运行测试 ``` pip install pytest pytest tests/ -v ``` ## 许可证 MIT License - 详见 [LICENSE](LICENSE)。标签:AMSI绕过, Beaconing检测, Cloudflare, MITRE ATT&CK, PB级数据处理, Python标准库, SOC自动化, Syslog解析, Windows事件日志, 告警研判, 哈希校验, 威胁检测, 安全运维, 安全运营, 库, 应急响应, 开源安全工具, 扫描框架, 网络流量分析, 逆向工具, 逆向工程平台, 零依赖