007Salih2020/Cyber_Threat_Intelligence_CTI

GitHub: 007Salih2020/Cyber_Threat_Intelligence_CTI

基于 Azure OpenAI 的战略级网络安全威胁情报 Copilot,自动化完成威胁建模、STRIDE 分析和合规映射并生成高管报告。

Stars: 0 | Forks: 0

# 战略 CTI 与威胁建模 Copilot ## 为什么需要此项目 大多数安全工具都是战术性的:IOC 查询、漏洞仪表板、SIEM 噪音。本平台解决了一个更棘手的问题: 该 Copilot 会摄取威胁情报,对您的架构进行建模,应用 STRIDE 分析,将发现的问题映射到合规框架,并生成可直接提交给管理层的报告——这一切均由 Azure OpenAI 提供支持。 ## CISO 演练 ### ISO 27001 A.12.4 — 日志记录与监控 本平台中的每一项操作均使用结构化 JSON 日志进行记录,包含关联 ID、严重级别和时间戳。`app/logging_config.py` 模块配置了一个生产级日志记录器,用于: - 捕获所有 API 请求和响应及其延迟 - 记录 AI 模型调用及其 prompt 哈希值(而非原始 prompt),以实现可审计性 - 记录威胁摄取事件及其来源、数量和时间戳 - 写入 stdout(对容器友好),并可选地通过 Log Analytics 工作区写入 Azure Monitor 这满足了 A.12.4.1(事件日志记录)、A.12.4.2(日志信息保护)和 A.12.4.3(管理员和操作员日志)的要求,确保所有与安全相关的事件都被捕获、防篡改且可审查。 ### ISO 27001 A.5.1 — 信息安全政策 / AI 政策 本平台实施了一套分层的 AI 治理模型: 1. **输入验证**:所有用户提供的架构描述和威胁数据在进入 AI 层之前,都会通过 Pydantic v2 模型进行验证。格式错误或过大的输入会被拒绝,并返回结构化的错误响应。 2. **Prompt 治理**:系统 prompt 在 `app/services/strategic_analysis.py` 中受版本控制。任何用户输入都不会直接注入到系统 prompt 中,而是仅注入到明确界定的用户消息部分中。 3. **输出净化**:AI 响应在返回给调用方或存储之前,都会经过解析和验证。 4. **最小权限**:Azure OpenAI 客户端使用作用域受限的 API key,且对 Azure 资源没有写入权限。生产部署中提供了 Key Vault 集成。 5. **可审计性**:每次 AI 调用都会记录部署名称、token 使用量以及输入的哈希值,从而在不暴露敏感数据的情况下实现可追溯性。 6. **人工监督**:所有 AI 生成的报告都会清晰地标记为 AI 辅助,并包含置信度指标,以确保在分发给管理层之前经过人工审核。 这满足了 A.5.1 的要求,它为如何在安全功能中使用 AI 建立了文档化且强制执行的政策,包括可接受的使用、数据处理和监督要求。 ## 架构 ``` graph TB subgraph Ingestion["Threat Intelligence Ingestion"] TAXII[TAXII 2.1 Client] OSINT[OSINT / RSS Client] OTX[AlienVault OTX] MOCK[Mock Feed Adapter] end subgraph Core["Core Processing Engine"] NORM[Normalizer] AI[Azure OpenAI Engine] STRIDE[STRIDE Analyzer] RISK[Risk Scoring Engine] COMP[Compliance Mapper] MATURITY[Maturity Scorer] end subgraph Output["Output Layer"] API[FastAPI REST API] REPORT[Report Generator] UI[Streamlit Dashboard] end subgraph Azure["Azure Services"] AOAI[Azure OpenAI] KV[Azure Key Vault] MON[Azure Monitor] end TAXII --> NORM OSINT --> NORM OTX --> NORM MOCK --> NORM NORM --> AI AI --> STRIDE STRIDE --> RISK RISK --> COMP COMP --> MATURITY MATURITY --> REPORT REPORT --> API API --> UI AI --> AOAI AOAI --> KV API --> MON ``` ## 功能 | 功能 | 描述 | |---|---| | 威胁情报摄取 | TAXII 2.1、OTX、RSS/OSINT、模拟适配器 | | AI 战略分析 | 由 Azure OpenAI 驱动的高管摘要 | | 威胁建模 | 从架构到 DFD 并输出 Mermaid | | STRIDE 分析 | 完整的 STRIDE 表格及缓解措施 | | 风险评分 | 多因素优先级排序引擎 | | 合规性映射 | ISO 27001、NIST CSF、NIST 800-53 | | 成熟度评分 | 8 领域安全成熟度视图 | | 高管报告 | 可直接提交给 CISO 的 PDF/Markdown 报告 | | 技术报告 | 面向工程师的详细分析 | | REST API | 带有 OpenAPI 文档的 FastAPI | | Streamlit UI | 交互式 Web 仪表板 | | DevSecOps 流水线 | Bandit、Safety、Trivy、detect-secrets | ## 快速开始 ### 前置条件 - Docker + Docker Compose - (可选)Azure OpenAI endpoint 和 API key ### 1. 克隆并配置 ``` git clone https://github.com/yourorg/strategic-cti-copilot cd strategic-cti-copilot cp .env.example .env # 使用你的 Azure OpenAI 凭据编辑 .env(可选 — mock 模式无需凭据即可运行) ``` ### 2. 使用 Docker 运行 ``` docker-compose up --build ``` 服务: - FastAPI: http://localhost:8000 - Streamlit UI: http://localhost:8501 - API 文档: http://localhost:8000/docs ### 3. 本地运行(不使用 Docker) ``` python -m venv venv source venv/bin/activate pip install -r requirements.txt cp .env.example .env # 启动 API uvicorn app.main:app --reload --port 8000 # 启动 UI(单独的终端) streamlit run dashboard/streamlit_app.py ``` ### 4. 一键启动 ``` chmod +x start.sh ./start.sh 8501 ``` ## API 调用示例 ### 摄取威胁情报源 ``` curl -X POST http://localhost:8000/api/v1/ingest \ -H "Content-Type: application/json" \ -d '{"sources": ["mock", "otx"]}' ``` ### 运行威胁建模 ``` curl -X POST http://localhost:8000/api/v1/threat-model \ -H "Content-Type: application/json" \ -d @app/data/sample_architecture.json ``` ### 生成高管报告 ``` curl -X POST http://localhost:8000/api/v1/report/executive \ -H "Content-Type: application/json" \ -d '{"include_maturity": true, "include_compliance": true}' ``` ## 安全说明 - 没有任何密钥被硬编码。所有凭据均使用环境变量。 - 生产部署中提供了 Azure Key Vault 集成。 - 所有输入在处理前均通过 Pydantic v2 进行验证。 - AI prompt 受版本控制且可审计。 - 容器以非 root 用户身份运行。 - CI 中使用 Trivy 扫描容器镜像。 ## 未来改进 - [ ] Azure AD / Entra ID 身份验证 - [ ] 使用 Azure Service Bus 进行实时 TAXII 源轮询 - [ ] MISP 集成 - [ ] 导出 Power BI 以用于高管仪表板 - [ ] Azure Container Apps 部署模板 - [ ] 支持 STIX 2.1 完整对象模型 - [ ] 随时间推移自动跟踪合规性差距 - [ ] 与 Microsoft Sentinel 集成 ## 截图 ## 许可证 MIT — 仅用于作品集和演示目的。
标签:Azure OpenAI, DLL 劫持, Kubernetes, 大语言模型, 大语言模型蜜罐, 威胁建模, 威胁情报, 开发者工具, 网络测绘, 请求拦截, 逆向工具