sakshigund127/SOAR-Playbook
GitHub: sakshigund127/SOAR-Playbook
一个基于 Python 的轻量级 SOAR 工具,通过 VirusTotal 威胁情报对安全告警自动分类分级,并结合 Windows Firewall 执行自动封锁等响应操作,帮助 SOC 分析师缓解告警疲劳并缩短响应时间。
Stars: 0 | Forks: 0
# SOAR Playbook - 自动化事件响应
一个基于 Python 的安全编排、自动化与响应(SOAR)工具,可自动对安全告警进行分类,利用威胁情报丰富指标,并执行实时响应操作(如 IP 封锁)。
## 问题描述
SOC 分析师每天需要手动分类数百条安全告警,容易产生告警疲劳,导致响应速度变慢并遗漏威胁。本项目实现了分类和初步响应过程的自动化,从而减轻人工工作量并缩短响应时间。
## 架构
告警 (JSON) -> IP 丰富 (VirusTotal API) -> 严重性分类 -> 自动化操作 -> 日志记录
## 功能
- 接收安全告警(模拟为 JSON 格式,类似于 SIEM 输出)
- 使用 VirusTotal API 对源 IP 进行信誉评分以丰富信息
- 根据严重性 + 威胁情报分数自动分类告警
- 通过 Windows Firewall 自动封锁恶意 IP
- 记录每个事件和决策以备审计
- (可选)向 Discord 发送实时通知
## 工具与技术
- Python 3
- VirusTotal API(威胁情报丰富)
- Windows Firewall (netsh) 用于自动封锁
- python-dotenv 用于安全的凭证管理
## 工作原理
1. 加载告警(例如,来自某个源 IP 的暴力破解尝试)
2. 根据 VirusTotal 的信誉数据库检查源 IP
3. 系统基于严重性和恶意分数做出决策:
- **Block** - 高危严重性 + 已确认的恶意 IP
- **Escalate** - 高危严重性但信誉不明
- **Ignore** - 低危严重性,无需操作
4. 每个决策都会带有时间戳记录在案以供审计
## 示例输出
```
[INFO] Checking 185.220.101.1 | VT Malicious Score: 8 | Severity: high
[ACTION] Blocked IP: 185.220.101.1
[RESULT] BLOCKED - High severity + confirmed malicious IP
```
## 设置与使用
1. 克隆此仓库:
git clone https://github.com/sakshigund127/SOAR-Playbook.git
cd SOAR-Playbook
2. 创建虚拟环境并安装依赖项:
python -m venv venv
venv\Scripts\activate
pip install requests python-dotenv
3. 在 `.env` 文件中添加你自己的 VirusTotal API 密钥:
VT_API_KEY=your_api_key_here
4. 运行 playbook:
python playbook.py alerts/alert1.json
## MITRE ATT&CK 映射
- **T1110 - Brute Force**:基于高危严重性 + 恶意 IP 信誉进行检测并自动封锁
## 我学到了什么
- 构建用于安全决策的自动化逻辑
- 使用威胁情报 API
- 使用环境变量安全处理凭证
- 通过命令行工具使用 Windows Firewall 自动化
- Git/GitHub 版本控制,包括通过轮换密钥和清理仓库来从意外的 API 密钥泄露中恢复
## 未来改进
- 整合多种威胁情报源(AbuseIPDB, Shodan)
- 添加 Discord/Slack 实时通知
- 除 Windows Firewall 外,支持 Linux (iptables)
- 构建一个简单的 Web 仪表板以查看事件日志
## 截图
## 截图
### 高危严重性告警 - IP 已封锁

### 低危严重性告警 - 正确忽略

### 自动创建的防火墙规则

### 用于审计的事件日志

标签:Python, SOAR, 威胁情报, 安全运营, 开发者工具, 扫描框架, 无后门, 自动化响应, 防御机制