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, 关联分析, 威胁情报关联, 威胁情报平台, 威胁评分, 安全事件响应, 安全运营, 安全防御评估, 实时威胁检测, 扫描框架, 搜索引擎查询, 无后门, 测试用例, 结构化威胁信息, 网络安全, 网络测绘, 请求拦截, 隐私保护