Huzaifa-Amin/nyx-sentinel-ai
GitHub: Huzaifa-Amin/nyx-sentinel-ai
NYX SENTINEL AI 是一个 Python 编写的 AI 增强型 SOC 与数字取证事件响应平台,自动化完成从 Wazuh 告警解析到威胁情报富化、MITRE ATT&CK 分类和事件报告生成的完整安全运营工作流。
Stars: 1 | Forks: 0

# NYX SENTINEL AI
**AI 增强的 SOC 与数字取证事件响应平台**
[](tests/)
[](https://python.org)
[](LICENSE)
[](https://attack.mitre.org)
[](https://wazuh.com)
[](https://virustotal.com)
*毕业季网络安全作品集项目 — 都柏林理工大学 (TU Dublin) 应用网络安全理学硕士*
## 功能介绍
NYX SENTINEL AI 模拟了安全运营中心 (SOC) 分析师的核心工作流 — 完全由 Python 自动化实现:
```
Wazuh Alert JSON → Parse → Extract IOCs → Enrich (VT + AbuseIPDB)
→ Classify (MITRE ATT&CK) → Collect Evidence → Report
```
## 截图

## 项目结构
```
nyx-sentinel-ai/
├── src/nyx_sentinel/
│ ├── config/settings.py # Pydantic-settings — no secrets hardcoded
│ ├── parsers/
│ │ ├── models.py # ParsedAlert, IOC, EvidenceManifest models
│ │ └── alert_parser.py # Wazuh JSON ingestion + strict validation
│ ├── extractors/ioc_extractor.py # ReDoS-safe regex — 10 IOC types
│ ├── enrichment/threat_intel.py # Async VirusTotal v3 + AbuseIPDB v2
│ ├── forensics/collector.py # Evidence collection + SHA-256 hashing
│ ├── analysis/incident_classifier.py # MITRE ATT&CK + weighted severity
│ ├── reporting/
│ │ ├── report_generator.py # HTML + PDF generation
│ │ └── templates/incident_report.html.j2 # Dark SOC theme
│ └── rules/ # 5 Sigma detection rules
│ ├── brute_force.yml
│ ├── suspicious_powershell.yml
│ ├── reconnaissance.yml
│ ├── privilege_escalation.yml
│ └── persistence.yml
├── tests/ # 145 tests — 6 modules
├── data/sample_alerts/ # Realistic Wazuh JSON samples
├── data/mitre_attack/ # ATT&CK technique database (28 techniques)
├── scripts/run_pipeline.py # Full CLI pipeline runner
└── docs/ # Architecture, install guide, demo steps
```
## 快速开始
```
# 1. Clone
git clone https://github.com/Huzaifa-Amin/nyx-sentinel-ai.git
cd nyx-sentinel-ai
# 2. 虚拟环境
python3 -m venv venv && source venv/bin/activate
# 3. Install
pip install -r requirements-dev.txt && pip install -e .
# 4. Configure (可选 — 演示无需 API keys 即可运行)
cp .env.example .env
# 5. 运行 demo pipeline
python scripts/run_pipeline.py data/sample_alerts/ --stub
# 6. 运行 tests
pytest tests/ -v
```
## 包含的示例告警类型
| 文件 | 技术 | Wazuh 级别 | 严重程度 |
|------|-----------|-------------|----------|
| `brute_force_alert.json` | T1110 — 暴力破解 | 10 | 高 |
| `powershell_alert.json` | T1059.001 — PowerShell | 12 | 高 |
| `recon_alert.json` | T1046 — 网络发现 | 8 | 中 |
## 检测规则 (Sigma 格式)
| 规则 | MITRE 技术 | 级别 |
|------|-----------------|-------|
| 暴力破解 | T1110, T1110.001, T1110.003 | 高 |
| 可疑的 PowerShell | T1059.001, T1027 | 高 |
| 网络侦察 | T1046, T1018, T1082 | 中 |
| 权限提升 | T1068, T1055, T1134 | 严重 |
| 持久化机制 | T1547.001, T1053.005, T1543.003 | 高 |
## 安全控制措施
| 控制措施 | 实现方式 |
|---------|---------------|
| 无硬编码密钥 | 所有 API 密钥均通过 `.env` / 环境变量传递 |
| 输入验证 | 对所有不受信任的输入使用 Pydantic v2 严格 schema |
| 防范路径遍历 | 在文件操作前使用白名单 + `Path.resolve()` |
| 防范 ReDoS | 使用锚定且长度受限的正则表达式 |
| 防范 XSS | 对所有值使用 Jinja2 自动转义 + `html.escape()` |
| 超时安全 | 所有 HTTP 调用均设有明确的超时时间 (httpx) |
| 重试安全 | 带有抖动的指数退避机制 (tenacity) |
| 证据完整性 | 对每个收集的证据文件进行 SHA-256 哈希校验 |
## 技术栈
| 层级 | 技术 |
|-------|-----------|
| 语言 | Python 3.11+ |
| 验证 | Pydantic v2, pydantic-settings |
| HTTP | httpx (异步) + tenacity |
| 模板 | Jinja2 |
| PDF | fpdf2 |
| 日志 | loguru |
| CLI | typer + rich |
| 测试 | pytest, pytest-asyncio, pytest-cov |
| SIEM | Wazuh 4.x |
| IDS | Suricata 7.x |
| 检测 | Sigma rules |
| ATT&CK | MITRE ATT&CK v14.1 |
## 免费 API 密钥
| 服务 | 免费额度 | 注册链接 |
|---------|-----------|---------|
| VirusTotal | 4 次请求/分钟 | [virustotal.com](https://www.virustotal.com) |
| AbuseIPDB | 1,000 次检查/天 | [abuseipdb.com](https://www.abuseipdb.com) |
## 许可证
MIT © 2024 NYX SENTINEL AI
作为毕业季网络安全作品集项目构建 — 都柏林理工大学 (TU Dublin) 应用网络安全理学硕士
标签:Cloudflare, Metaprompt, MITRE ATT&CK, Python, Wazuh, 威胁情报, 安全规则引擎, 安全运营, 开发者工具, 开源情报, 扫描框架, 数字取证与应急响应, 无后门, 自动化安全分析, 运行时操纵