Nityavardhan/detection-engineering-platform
GitHub: Nityavardhan/detection-engineering-platform
一个面向安全运营团队的自动化检测验证平台,用于评估 MITRE ATT&CK 检测规则有效性、生成 IR 剧本并跟踪合规覆盖率。
Stars: 0 | Forks: 0
# 检测工程与 IR 验证平台



一个达到作品集级别的自动化平台,用于验证 MITRE ATT&CK 检测、生成 Incident Response playbook 以及跟踪合规覆盖率。专为 SOC Analyst、Detection Engineer 和 Incident Responder 打造。
## 🌟 功能
* **自动化验证流水线:** 使用 Chainsaw 根据 Sigma 规则评估 EVTX 遥测数据。
* **离线模式:** 即使没有实时遥测数据或工具,也能使用合成确定性生成功能正常运行(非常适合用于演示)。
* **IR Playbook 生成:** 使用 Jinja2 模板,根据每种技术和检测结果动态生成自定义的 Markdown IR playbook。
* **合规性映射:** 跟踪并记录 NIST CSF、CIS Controls v8 和 ISO 27001:2022 的检测覆盖率。
* **ATT&CK 集成:** 自动从 MITRE ATT&CK STIX 数据中提取最新元数据,并生成 Navigator 热力图。
* **交互式仪表板:** 基于 Streamlit 的 Web 仪表板,提供指标、检测时间线和合规性矩阵。
* **威胁狩猎库:** 包含已记录的假设驱动型狩猎方法,以及 Sigma/KQL 查询和狩猎报告。
## 📂 项目结构
```
├── attack_coverage/ # ATT&CK Navigator JSON layers
├── compliance/ # Framework mappings and generated reports
├── core/ # Core Python modules (pipeline logic, DB, rendering)
├── Dashboard/ # Streamlit web application
├── data/ # SQLite DB and MITRE ATT&CK STIX
├── detections/ # Detection library (15 techniques with Sigma rules)
├── evidence/ # EVTX telemetry and Chainsaw output
├── playbooks/ # Generated IR playbooks (Markdown)
├── reports/ # Generated detection reports (Markdown)
├── tests/ # Pytest unit tests
├── threat_hunting/ # Hypothesis-driven hunt methodology and reports
└── run_pipeline.py # Master CLI script
```
## 🚀 快速开始
### 前置条件
* Python 3.10+
* Windows 环境(推荐)
### 安装说明
1. 克隆仓库
2. 安装依赖项:
pip install -r requirements.txt
3. 运行完整流水线(处理所有 15 个包含的技术):
# 注意:对于存在编码问题的 Windows 环境,请使用:
# $env:PYTHONUTF8=1; python run_all.py
python run_all.py
### 运行仪表板
启动交互式指标仪表板:
```
streamlit run Dashboard/app.py
```
## 🛠️ 使用说明
### 流水线执行
为特定技术运行流水线(例如:T1059.001 - PowerShell):
```
python run_pipeline.py --technique T1059.001
```
使用您自己的 EVTX 遥测数据运行:
```
python run_pipeline.py --technique T1059.001 --evtx-dir C:\Path\To\EVTX
```
### 检测库
`detections/` 目录包含涵盖整个 ATT&CK Kill Chain 的 15 种技术。每种技术包括:
* `sigma_rules/`:自定义的 Sigma 检测规则。
* `detection_card.md`:针对该技术的 Analyst 文档。
* `response_data.yaml`:用于填充 IR playbook 的数据(包括遏制、调查步骤等)。
## 🧪 测试
运行 pytest 测试套件以验证核心逻辑(DB 管理、解析、渲染):
```
pytest tests/ -v
```
标签:Kubernetes, Python, Streamlit, 安全合规, 安全运营, 扫描框架, 无后门, 网络代理, 访问控制, 逆向工具