oyeanmol/SentinelTI

GitHub: oyeanmol/SentinelTI

SentinelTI 是一个企业级 AI 威胁情报与案例管理平台,为安全分析师提供多源 IOC 调查、MITRE ATT&CK 映射、AI 辅助分析及 PDF 报告生成等一体化能力。

Stars: 0 | Forks: 0

# SentinelTI – 企业级 AI 威胁情报与案例管理平台 ![License](https://img.shields.io/badge/License-MIT-blue.svg) ![Python](https://img.shields.io/badge/Python-3.11%2B-blue.svg) ![FastAPI](https://img.shields.io/badge/FastAPI-v0.110-emerald.svg) ![Next.js](https://img.shields.io/badge/Next.js-v15.0-black.svg) ![TypeScript](https://img.shields.io/badge/TypeScript-v5.0-blue.svg) SentinelTI 是一个生产级、企业级的网络安全 SaaS 平台,专为 SOC 分析师、威胁研究员、安全工程师和应急响应人员设计。 ## 🎯 架构与功能概述 ``` ┌──────────────────────────┐ │ Next.js 15 App Router │ │ (TypeScript / Tailwind)│ └─────────────┬────────────┘ │ REST API (JSON) ▼ ┌──────────────────────────┐ │ FastAPI Backend API │ │ (Clean Architecture) │ └──────┬────────────┬──────┘ │ │ ┌───────────────────┴──┐ ┌──┴──────────────────┐ │ Multi-Provider Engine│ │ AI Copilot Engine │ │ (VT, AbuseIPDB, OTX, │ │ (Google Gemini / │ │ URLScan, Shodan) │ │ Sigma & YARA) │ └──────────────────────┘ └─────────────────────┘ ``` ### 核心模块 1. **入侵指标 (IOC) 调查**: - 自动检测并中和(Defanging)7 种 IOC 类型(`IPv4`、`IPv6`、`Domain`、`URL`、`MD5`、`SHA1`、`SHA256`)。 - 多提供商异步编排(VirusTotal、AbuseIPDB、AlienVault OTX、URLScan.io、Shodan)。 - 弹性提供商接口,在缺少 API 密钥时自动回退至经过结构验证的模拟数据。 2. **动态风险评分引擎**: - 量化 0–100 加权威胁风险算法(`Safe`、`Low`、`Medium`、`High`、`Critical`)。 3. **MITRE ATT&CK 映射引擎**: - 自动将提供商标签、开放端口和恶意软件签名映射到 MITRE 战术与技术。 4. **对话式 AI 安全 Copilot**: - 由 Google Gemini API 驱动,支持智能模拟引擎回退。 - 交互式问答(为什么这是恶意的?、MITRE 解释、Tier-1 行动步骤、遏制计划)。 - 自动生成 **Sigma Rule** (YAML) 和 **YARA Rule**。 5. **完整的案例管理模块**: - 安全事件案例跟踪、优先级设置、分析师分配、证据附件、分析师笔记和交互式时间线。 6. **交互式关系图谱**: - 可视化关联节点,连接 IP、Domain、文件哈希、恶意软件家族和 APT 威胁行为者。 7. **高管 PDF 报告**: - 使用 ReportLab 按需生成企业级报告导出。 ## 🚀 快速入门指南(本地 Python 虚拟环境 & SQLite) ### 1. 后端设置 #### 前置条件 - Python 3.11+ - SQLite3(随 Python 一起提供) #### 选项 A:快速设置(自动化脚本) ##### Windows: ``` cd backend setup_venv.bat ``` ##### Linux / macOS: ``` cd backend chmod +x setup_venv.sh ./setup_venv.sh ``` #### 选项 B:手动设置 1. **进入 `backend` 目录**: cd backend 2. **创建并激活 Python 虚拟环境**: # Windows python -m venv .venv .venv\Scripts\activate # Linux / macOS python3 -m venv .venv source .venv/bin/activate 3. **安装依赖项**: pip install --upgrade pip pip install -r requirements.txt 4. **配置环境变量**: 将 `.env.example` 复制为 `.env`: cp .env.example .env 5. **运行 FastAPI 后端服务器**: python main.py # 或者 uvicorn main:app --reload --port 8000 FastAPI 服务器将在 `http://localhost:8000` 启动。 Swagger API 文档可在 `http://localhost:8000/api/v1/docs` 查看。 ### 2. 前端设置(Next.js 15) 1. **进入 `frontend` 目录**: cd frontend 2. **安装 Node.js 依赖项**: npm install 3. **配置环境变量**: 将 `.env.example` 复制为 `.env.local`: cp .env.example .env.local 4. **运行 Next.js 开发服务器**: npm run dev 在浏览器中打开 `http://localhost:3000`。 ## 🐳 Docker 部署指南 使用 Docker Compose 启动整个平台技术栈(FastAPI 后端 + Next.js 前端): ``` docker-compose up --build ``` - **前端应用**:`http://localhost:3000` - **后端 API**:`http://localhost:8000` - **Swagger 交互式 API 文档**:`http://localhost:8000/api/v1/docs` 停止环境: ``` docker-compose down ``` ## 🗄️ 数据库配置与 PostgreSQL 迁移指南 SentinelTI 使用 SQLAlchemy 2.0 (Async),支持用于零配置本地开发的 **SQLite** 以及用于企业级生产部署的 **PostgreSQL**。 ### 本地开发(SQLite - 默认) 在 `backend/.env` 中: ``` DATABASE_URL="sqlite+aiosqlite:///./sentinelti.db" ``` ### 生产部署(PostgreSQL) 1. 安装 `asyncpg`(已包含在 `requirements.txt` 中)。 2. 更新 `backend/.env` 中的 `DATABASE_URL`: DATABASE_URL="postgresql+asyncpg://:@:5432/" 3. 重启后端服务器;系统将在启动时通过异步元数据创建自动初始化数据表。 ## 🧪 测试与验证 运行自动化后端测试套件(单元测试与端到端集成测试): ``` cd backend python -m pytest tests/ ``` 运行前端 TypeScript 验证: ``` cd frontend npx tsc --noEmit ``` ## 🛡️ 安全与隐私功能 - **中和(Defanging)**:通过自动将 `http://` 转换为 `hxxp://` 以及将 `.` 转换为 `[.]`,防止意外点击活跃的恶意域名/URL。 - **JWT 与基于角色的访问控制 (RBAC)**:带有角色强制的安全访问 token。 - **优雅的 API 密钥回退**:如果缺少外部威胁提供商或 LLM 的 API 密钥,SentinelTI 会自动启用经过结构验证的模拟生成器,而不会暴露错误或中断 SOC 工作流。
标签:AV绕过, FastAPI, Python, 威胁情报, 安全运营, 开发者工具, 扫描框架, 无后门, 测试用例, 请求拦截, 逆向工具