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





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, 威胁情报, 安全运营, 开发者工具, 扫描框架, 无后门, 测试用例, 请求拦截, 逆向工具