Aks2812/SecOps-HubV2
GitHub: Aks2812/SecOps-HubV2
一款零依赖的安全运营自动化工具包,将告警分诊、CVE 情报查询、Sigma 检测规则生成与端到端调查编排整合为一条命令完成的轻量级 SOAR 替代方案。
Stars: 0 | Forks: 0
# SecOps-HubV2 | TRAE SOLO HACKATHON 30/05/2026
一款一体化、零依赖的安全运营命令行工具包,能够完成大多数付费 SOAR 平台无法做到的事情:在一秒钟内完成分类、CVE 情报、检测规则编写以及全告警调查。
## 为什么开发此工具
安全分析师每天都要花好几个小时重复做同样的三件事:从告警中提取 IOC、查询 CVE 严重程度以及编写检测规则。SecOps-HubV2 使用 Python 标准库脚本将这一切全部自动化,不仅永不崩溃,而且无需进行 pip install。
从底层网络连接到上层脚本构建——每个模块均完全从零开始构建,仅使用了 `os`、`json`、`re`、`subprocess` 和 `urllib`。没有框架,没有外部包,没有供应商锁定。
## 核心功能
| 脚本 | 用途 |
|---|---|
| `triage.py` | 从原始告警文本中提取 IOC(IP、域名、URL、哈希值)——包括转义的 JSON 和结构化日志。可通过 VirusTotal 和 AbuseIPDB 进行可选的情报富化。 |
| `cve_lookup.py` | 通过 NVD REST API 查询 CVE ID,并返回基于 CVSS 的严重程度以及 MITRE ATT&CK 映射。 |
| `detection_rule.py` | 根据自然语言的攻击描述生成 Sigma 检测规则。具备内容感知能力的关键字过滤功能会剔除噪声(停用词、IP、URL、CVE ID),仅保留行为指标。 |
| `investigate.py` | 端到端编排器:串联 分类 → CVE 查询 → 检测规则 → CISA KEV 检查 → 自动裁决(ESCALATE / MONITOR)。同时输出 Markdown 报告和带有节省时间投资回报率(ROI)页脚的美化 HTML 文件。 |
| `batch.py` | 批量处理器:读取 `in/alerts/*.json`,对每个文件运行 `investigate.py`,根据裁决结果进行分类(escalated / review / suppressed),并将案例文件写入 `out/cases/`。 |
## 主要特性
- **零外部依赖** —— 仅使用 Python 3 标准库
- **Mock/离线模式** —— 每个脚本均支持 `--mock` 以进行完全离线操作
- **优雅降级** —— 如果无法连接 API,将自动启用 Mock 回退;绝不会发生崩溃
- **CISA KEV 集成** —— 实时查询已知被利用漏洞目录;当某个 CVE 处于被积极利用状态时,会自动提升优先级
- **环境变量检测支持** —— 从 `.env` 加载用于 API 密钥的环境变量(参见 `.env.example`)
- **兼容结构化输入** —— triage 能够同样出色地处理原始 JSON 日志、转义的 Shell 字符串和纯文本
- 每份调查报告均包含 **ROI 页脚**,显示为分析师节省的分钟数
## 快速开始
```
# 单告警调查 (mock/offline)
python scripts/investigate.py --mock "Beacon from 45.77.12.9 exploiting CVE-2024-3094 with PowerShell dropper"
# IOC 分诊
python scripts/triage.py --mock "Suspicious connection to 185.220.101.47 and https://evil.example/path"
# CVE 严重性查询
python scripts/cve_lookup.py "CVE-2024-3094"
# 生成 Sigma 检测规则
python scripts/detection_rule.py "Detect PowerShell EncodedCommand downloading from Invoke-WebRequest"
# 批处理
python scripts/batch.py --mock
```
## 配置说明
将 `.env.example` 复制为 `.env` 并添加您的 API 密钥:
```
VIRUSTOTAL_API_KEY=your_vt_key
ABUSEIPDB_API_KEY=your_abuse_key
NVD_API_KEY=
```
NVD 密钥是可选的(免费层级不需要)。密钥将由 `investigate.py` 自动加载,并由子脚本继承。
## 目录结构
```
secops-hub/
├── .env.example # API key template
├── .gitignore
├── README.md
├── SKILL.md # SOLO skill definition
├── report.html # Generated HTML report (overwritten each run)
├── in/alerts/ # Drop alert JSON files here for batch processing
├── out/cases/ # Batch investigation case files land here
└── scripts/
├── triage.py
├── cve_lookup.py
├── detection_rule.py
├── investigate.py
└── batch.py
```
## 契约约定
每个脚本都接受单个字符串参数,并向 stdout 精确打印一个 JSON 对象,该对象包含 `severity`、`summary`、`mitre` 和 `action` 键。此外,`investigate.py` 编排器还会在项目根目录下写入一份完整的 Markdown 报告和一份美化的 HTML 文件。
## 为什么开发此工具
安全分析师每天都要花好几个小时重复做同样的三件事:从告警中提取 IOC、查询 CVE 严重程度以及编写检测规则。SecOps-HubV2 使用 Python 标准库脚本将这一切全部自动化,不仅永不崩溃,而且无需进行 pip install。
从底层网络连接到上层脚本构建——每个模块均完全从零开始构建,仅使用了 `os`、`json`、`re`、`subprocess` 和 `urllib`。没有框架,没有外部包,没有供应商锁定。
## 核心功能
| 脚本 | 用途 |
|---|---|
| `triage.py` | 从原始告警文本中提取 IOC(IP、域名、URL、哈希值)——包括转义的 JSON 和结构化日志。可通过 VirusTotal 和 AbuseIPDB 进行可选的情报富化。 |
| `cve_lookup.py` | 通过 NVD REST API 查询 CVE ID,并返回基于 CVSS 的严重程度以及 MITRE ATT&CK 映射。 |
| `detection_rule.py` | 根据自然语言的攻击描述生成 Sigma 检测规则。具备内容感知能力的关键字过滤功能会剔除噪声(停用词、IP、URL、CVE ID),仅保留行为指标。 |
| `investigate.py` | 端到端编排器:串联 分类 → CVE 查询 → 检测规则 → CISA KEV 检查 → 自动裁决(ESCALATE / MONITOR)。同时输出 Markdown 报告和带有节省时间投资回报率(ROI)页脚的美化 HTML 文件。 |
| `batch.py` | 批量处理器:读取 `in/alerts/*.json`,对每个文件运行 `investigate.py`,根据裁决结果进行分类(escalated / review / suppressed),并将案例文件写入 `out/cases/`。 |
## 主要特性
- **零外部依赖** —— 仅使用 Python 3 标准库
- **Mock/离线模式** —— 每个脚本均支持 `--mock` 以进行完全离线操作
- **优雅降级** —— 如果无法连接 API,将自动启用 Mock 回退;绝不会发生崩溃
- **CISA KEV 集成** —— 实时查询已知被利用漏洞目录;当某个 CVE 处于被积极利用状态时,会自动提升优先级
- **环境变量检测支持** —— 从 `.env` 加载用于 API 密钥的环境变量(参见 `.env.example`)
- **兼容结构化输入** —— triage 能够同样出色地处理原始 JSON 日志、转义的 Shell 字符串和纯文本
- 每份调查报告均包含 **ROI 页脚**,显示为分析师节省的分钟数
## 快速开始
```
# 单告警调查 (mock/offline)
python scripts/investigate.py --mock "Beacon from 45.77.12.9 exploiting CVE-2024-3094 with PowerShell dropper"
# IOC 分诊
python scripts/triage.py --mock "Suspicious connection to 185.220.101.47 and https://evil.example/path"
# CVE 严重性查询
python scripts/cve_lookup.py "CVE-2024-3094"
# 生成 Sigma 检测规则
python scripts/detection_rule.py "Detect PowerShell EncodedCommand downloading from Invoke-WebRequest"
# 批处理
python scripts/batch.py --mock
```
## 配置说明
将 `.env.example` 复制为 `.env` 并添加您的 API 密钥:
```
VIRUSTOTAL_API_KEY=your_vt_key
ABUSEIPDB_API_KEY=your_abuse_key
NVD_API_KEY=
```
NVD 密钥是可选的(免费层级不需要)。密钥将由 `investigate.py` 自动加载,并由子脚本继承。
## 目录结构
```
secops-hub/
├── .env.example # API key template
├── .gitignore
├── README.md
├── SKILL.md # SOLO skill definition
├── report.html # Generated HTML report (overwritten each run)
├── in/alerts/ # Drop alert JSON files here for batch processing
├── out/cases/ # Batch investigation case files land here
└── scripts/
├── triage.py
├── cve_lookup.py
├── detection_rule.py
├── investigate.py
└── batch.py
```
## 契约约定
每个脚本都接受单个字符串参数,并向 stdout 精确打印一个 JSON 对象,该对象包含 `severity`、`summary`、`mitre` 和 `action` 键。此外,`investigate.py` 编排器还会在项目根目录下写入一份完整的 Markdown 报告和一份美化的 HTML 文件。标签:Python标准库, SOAR, 威胁情报, 安全运营, 开发者工具, 扫描框架, 自动化响应