AmaimaKhalidSethi/Detection_Digital_Twin
GitHub: AmaimaKhalidSethi/Detection_Digital_Twin
一个本地 SOC 检测工程原型,用于针对模拟 ATT&CK 遥测数据测试 Sigma 规则并评估检测覆盖率。
Stars: 0 | Forks: 0
# 检测 Digital Twin
Detection Digital Twin 是一个本地 SOC 检测工程原型,用于针对模拟的 ATT&CK 遥测数据测试 Sigma 规则。它结合了 FastAPI 后端、React/Vite 前端和轻量级评估 pipeline,让您可以上传规则、运行模拟、检查覆盖率并查看 AI 辅助说明。
## 项目功能
- 验证并存储 Sigma 规则,同时跟踪规则版本
- 使用基于 pySigma 条件树的真正匹配器,根据标准化遥测数据评估规则
- 模拟 ATT&CK 风格的攻击技术,并针对它们运行规则评估
- 构建按规则和技术划分范围的覆盖率和漂移报告
- 通过与提供商无关的后端(如 Groq、Gemini 或 OpenAI)支持 AI 辅助技术建议和告警解释
- 提供基于浏览器的 UI,用于管理规则、模拟、告警和覆盖率
## 当前状态
目前的实现是一个可用的 MVP,并已在本地完成验证:
- 后端测试套件:29 项通过
- 前端生产构建:成功
## 技术栈
- 后端:FastAPI, SQLAlchemy, pySigma, pytest
- 前端:React, Vite, Tailwind CSS, Recharts, lucide-react
- 数据:用于本地开发的 SQLite
## 快速开始
### 1. 后端
```
cd backend
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
```
在 macOS/Linux 上,请使用:
```
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
如果您想使用可选的 AI 功能,请在启动后端之前,从仓库根目录创建一个本地环境文件:
```
Copy-Item .env.example .env
```
```
cp .env.example .env
```
然后编辑新的 `.env` 文件,并为 Groq、Gemini 或 OpenAI 添加一个或多个 API 密钥。后端会通过 `python-dotenv` 自动加载这些值。
启动 API:
```
uvicorn app.main:app --reload --port 8123
```
API 将可通过以下地址访问:
- Swagger UI: http://127.0.0.1:8123/docs
- OpenAPI schema: http://127.0.0.1:8123/openapi.json
运行后端测试:
```
pytest tests/ -v
```
### 2. 前端
```
cd frontend
npm install
npm run dev
```
然后打开 http://127.0.0.1:5173。
默认情况下,前端默认在 http://127.0.0.1:8123 查找后端。如果需要,您可以使用前端环境文件覆盖此设置:
```
VITE_API_URL=http://127.0.0.1:8123
```
### 3. 可选 AI 功能
AI 建议和告警解释是可选的。如果您想启用它们,请将以下密钥之一添加到上面创建的本地 `.env` 文件中:
```
GROQ_API_KEY=your-groq-key
# or
GEMINI_API_KEY=your-gemini-key
# or
OPENAI_API_KEY=your-openai-key
```
如果未配置任何密钥,AI 功能将保持禁用状态,但应用程序仍会继续正常工作。
## 项目结构
```
backend/
app/
ai/
detection_engine/
models/
telemetry/
mitre/
rules/
tests/
frontend/
src/
components/
pages/
lib/
```
## 注意事项与限制
- 项目中的 ATT&CK 数据集是专为 MVP 策划的本地子集,并非完整的 STIX 导出。
- SQLite 用于本地开发和演示场景。
- 尚未实现身份验证和生产级部署控制。
- 初始规则集特意保持较小;使用更多 Sigma 规则和模拟对其进行扩展将提高覆盖广度。
## 文档
最初的产品需求和系统设计说明位于 documentation 文件夹中,包括早期原型所引用的 SRS/SDD 文档。
标签:ATT&CK模拟, AV绕过, FastAPI, React, Sigma规则测试, SOC检测工程, Syscalls, 告警覆盖度分析, 安全规则引擎, 安全运营, 扫描框架, 逆向工具