Jahnavi-Hub02/stix-threat-intel-platform
GitHub: Jahnavi-Hub02/stix-threat-intel-platform
基于 STIX 2.1 和 TAXII 的威胁情报关联平台,实现情报摄取、IOC 规范化、事件关联和 MITRE ATT&CK 映射的自动化处理。
Stars: 0 | Forks: 0
# STIX 威胁情报平台
使用 STIX 2.1 和 TAXII 的实时网络威胁情报关联平台
## 概述
本平台:
- **摄取** 来自 TAXII 2.1 订阅源的威胁情报
- **规范化** STIX 2.1 对象为结构化的 IOC
- **关联** 即将发生的安全事件与已知的恶意指标
- **评分** 并将威胁映射到 MITRE ATT&CK 战术和技术
- **报告** 发现结果,包含风险评分和可行动的情报
## 架构
```
app/
├── config/ - Configuration via environment variables
├── database/ - SQLAlchemy ORM models & connection pooling
├── ingestion/ - TAXII 2.1 client & scheduler
├── normalization/ - STIX parsing & normalization
├── correlation/ - Threat correlation engine
├── api/ - FastAPI REST endpoints
└── utils/ - Logging, validation, helpers
```
## 快速开始
### 1. 前置条件
- Python 3.11+
- PostgreSQL 13+
- Docker & Docker Compose (可选)
### 2. 本地设置 (PostgreSQL 运行中)
```
# Clone 和 navigate
cd stix-threat-platform
# 创建 virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 安装 dependencies
pip install -r requirements.txt
# 配置 environment
# 使用你的数据库凭证和 TAXII 服务器详情编辑 .env
# 启动 PostgreSQL (如需要可通过 Docker)
docker-compose up postgres redis -d
# 创建 database tables
python scripts/init_db.py
# 运行 application
uvicorn app.main:app --reload --port 8000
```
### 3. 完整 Docker 设置
```
docker-compose up --build
```
### 4. 验证安装
- 打开浏览器:http://localhost:8000 → 状态 JSON
- Swagger UI: http://localhost:8000/docs
- Redoc: http://localhost:8000/redoc
## 数据库模型
### IOCIndicator
存储来自 STIX 订阅源的规范化失陷指标。
- 字段:stix_id, ioc_type, ioc_value, confidence, source, tlp_marking, is_active
### EventLog
存储传入的网络/安全事件元数据。
- 字段:source_ip, destination_ip, port data, protocol, event_type, is_processed
### CorrelationResult
根据 IOC 指标关联事件的结果。
- 字段:event_id, indicator_id, match_type, decision, risk_score, severity, mitre_mapping
### MITREMapping
MITRE ATT&CK 战术和技术的本地缓存。
- 字段:technique_id, technique_name, tactic, description
### IngestionLog
每次 TAXII 摄取运行的审计跟踪。
- 字段:source_url, status, total_fetched, total_stored, error_message
## 配置
所有设置通过 `.env` 文件进行:
```
DEBUG=true/false
DATABASE_URL=postgresql://user:password@host:port/dbname
TAXII_SERVER_URL=https://taxii-server.com/
INGESTION_INTERVAL_MINUTES=30
REDIS_URL=redis://localhost:6379/0
```
## 开发
### 运行测试
```
pytest tests/
```
### 数据库迁移
```
alembic upgrade head
```
### API 文档
- 交互式文档:/docs
- Redoc: /redoc
- OpenAPI schema: /openapi.json
## 逐步实现
- **第 1 步** ✅ 项目设置与环境配置
- **第 2 步** → TAXII 摄取层
- **第 3 步** → STIX 规范化
- **第 4 步** → 关联引擎
- **第 5 步** → 风险评分
- **第 6 步** → REST API 与前端
标签:API 接口, AV绕过, Cloudflare, Docker, FastAPI, IOC 提取, masscan, MITRE ATT&CK, PostgreSQL, Python, SQLAlchemy, STIX 2.1, TAXII 2.1, 关联分析, 威胁情报关联, 威胁情报平台, 威胁评分, 安全事件响应, 安全运营, 安全防御评估, 实时威胁检测, 扫描框架, 搜索引擎查询, 无后门, 测试用例, 结构化威胁信息, 网络安全, 网络测绘, 请求拦截, 隐私保护