dev0558/sentinel-tip
GitHub: dev0558/sentinel-tip
开源全栈威胁情报平台,聚合多源 IOC 并通过丰富化和评分算法辅助安全团队进行威胁分析与狩猎。
Stars: 4 | Forks: 1
```
███████╗███████╗███╗ ██╗████████╗██╗███╗ ██╗███████╗██╗
██╔════╝██╔════╝████╗ ██║╚══██╔══╝██║████╗ ██║██╔════╝██║
███████╗█████╗ ██╔██╗ ██║ ██║ ██║██╔██╗ ██║█████╗ ██║
╚════██║██╔══╝ ██║╚═╝ ██║ ██║ ██║██║╚═╝ ██║██╔══╝ ██║
███████║███████╗██║ ╚████║ ██║ ██║██║ ╚████║███████╗███████╗
╚══════╝╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝╚══════╝
```
**开源威胁情报平台,从多个源聚合、丰富并评分 IOC。**








SENTINEL 是一个生产级的全栈威胁情报平台 (TIP),专为 SOC 分析师、威胁猎手和网络安全专业人员设计。它从 10 多个开源威胁源聚合失陷指标 (IOC),利用 WHOIS/DNS/GeoIP/Shodan 数据对其进行丰富,使用加权算法计算综合威胁评分,将指标映射到 MITRE ATT&CK 框架,并通过使用 Next.js 14 和 TypeScript 构建的战术深色主题 SOC 仪表板呈现所有内容。
## 功能
| Feature | Status |
|---------|--------|
| 多源 IOC 获取(10 个连接器) | Implemented |
| 支持高级过滤的 IOC 搜索 | Implemented |
| 综合威胁评分 (0-100) | Implemented |
| IOC 丰富(WHOIS, DNS, GeoIP) | Implemented |
| MITRE ATT&CK 热力图矩阵 | Implemented |
| 带有统计数据的实时仪表板 | Implemented |
| Feed 健康监控 | Implemented |
| IOC 关联分析 | Implemented |
| 威胁狩猎工作区 | Implemented |
| 报告生成(每日简报 + 自定义) | Implemented |
| STIX 2.1 / CSV / JSON 导出 | Implemented |
| Celery 后台任务处理 | Implemented |
| Docker 单命令部署 | Implemented |
| 地理威胁分布 | Implemented |
## 架构
```
FRONTEND (Next.js 14)
Dashboard | IOC Search | Feed Manager | Reports | ATT&CK Map
|
REST API
|
BACKEND (FastAPI)
Feed Ingestion | Enrichment Engine | Scoring | Correlation
| | | |
PostgreSQL Redis Cache Celery External
+ indexes + pub/sub Workers Threat Feeds
```
## 技术栈
| Layer | Technology |
|-------|-----------|
| Frontend | Next.js 14, TypeScript, Tailwind CSS, Recharts, D3.js |
| Backend | FastAPI, Python 3.11, SQLAlchemy, Pydantic |
| Database | PostgreSQL 16 with JSONB and GIN indexes |
| Cache | Redis 7 |
| Task Queue | Celery with Redis broker |
| Containerization | Docker + Docker Compose |
## 快速开始
```
# 克隆 repository
git clone https://github.com/dev0558/sentinel-tip.git
cd sentinel-tip
# 复制 environment file
cp .env.example .env
# 启动所有服务
docker-compose up -d
# 填充 feed sources
docker-compose exec backend python /app/../scripts/seed_feeds.py
# 加载 MITRE ATT&CK 数据
docker-compose exec backend python /app/../scripts/seed_mitre.py
# 生成 sample data(可选,用于演示)
docker-compose exec backend python /app/../scripts/generate_sample_data.py
```
访问应用程序:
- **仪表板**: http://localhost:3000
- **API 文档**: http://localhost:8000/docs
- **API ReDoc**: http://localhost:8000/redoc
## 环境变量
| Variable | Description | Required |
|----------|-------------|----------|
| `DATABASE_URL` | PostgreSQL connection string | Yes |
| `REDIS_URL` | Redis connection string | Yes |
| `SECRET_KEY` | Application secret key | Yes |
| `OTX_API_KEY` | AlienVault OTX API key | No |
| `ABUSEIPDB_API_KEY` | AbuseIPDB API key | No |
| `VT_API_KEY` | VirusTotal API key | No |
| `SHODAN_API_KEY` | Shodan API key | No |
| `PHISHTANK_API_KEY` | PhishTank API key | No |
| `GEOIP_DB_PATH` | Path to MaxMind GeoLite2 DB | No |
所有 Feed API 密钥均为可选。该平台支持 6 个无需 API 密钥的免费源(URLhaus、ThreatFox、MalwareBazaar、Feodo Tracker、Blocklist.de、Emerging Threats)。
## API 文档
FastAPI 自动生成交互式 API 文档:
- **Swagger UI**: http://localhost:8000/docs
- **ReDoc**: http://localhost:8000/redoc
### 关键端点
```
GET /api/v1/iocs # List IOCs (paginated)
GET /api/v1/iocs/:id # IOC detail with enrichment
POST /api/v1/iocs/search # Advanced search
POST /api/v1/iocs/bulk # Bulk IOC lookup
POST /api/v1/iocs/export # Export (STIX/CSV/JSON)
GET /api/v1/feeds # List feeds
POST /api/v1/feeds/:id/sync # Trigger feed sync
GET /api/v1/dashboard/stats # Dashboard statistics
GET /api/v1/attack/matrix # ATT&CK matrix
GET /api/v1/attack/heatmap # ATT&CK heatmap
POST /api/v1/reports/generate # Generate report
GET /api/v1/reports/daily-brief # Daily threat brief
```
## 威胁源
| Feed | Type | Free | IOC Types |
|------|------|------|-----------|
| URLhaus | CSV | Yes (no key) | URL, Domain |
| ThreatFox | API | Yes (no key) | IP, Domain, URL, Hash |
| MalwareBazaar | API | Yes (no key) | Hash |
| Feodo Tracker | CSV | Yes (no key) | IP |
| Blocklist.de | CSV | Yes (no key) | IP |
| Emerging Threats | CSV | Yes (no key) | IP |
| AlienVault OTX | API | Yes (API key) | IP, Domain, Hash, URL |
| AbuseIPDB | API | Yes (API key) | IP |
| PhishTank | API | Yes (API key) | URL |
| VirusTotal | API | Yes (API key) | Hash, IP, Domain, URL |
## 评分算法
SENTINEL 使用加权因子计算综合威胁评分 (0-100):
```
Score = Base Reputation (30%) + Source Diversity (20%) + Recency (15%)
+ Sighting Frequency (15%) + Enrichment Risk (10%) + Context (10%)
```
| Score Range | Category | Color |
|-------------|----------|-------|
| 76-100 | Critical | Red |
| 51-75 | High | Orange |
| 26-50 | Medium | Yellow |
| 0-25 | Low | Green |
## 开发
```
# Backend 开发
cd sentinel/backend
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000
# Frontend 开发
cd sentinel/frontend
npm install
npm run dev
```
## 许可证
本项目根据 MIT 许可证授权。
## 作者
由 **Bhargav Raj Dutta**, **Taha Nagdawala** & **Uphar** 构建 — 阿联酋迪拜
- Bhargav Raj Dutta — [GitHub](https://github.com/dev0558) | [LinkedIn](https://www.linkedin.com/in/bhargav-raj-dutta-80251a1b4/)
- Taha Nagdawala — [GitHub](https://github.com/techtrail42) | [LinkedIn](https://www.linkedin.com/in/taha-nagdawala/)
- Uphar Jaiswal — [GitHub](https://github.com/uph3r) | [LinkedIn](https://www.linkedin.com/in/uphar-jaiswal/)
如果你觉得这个项目有用,请在 GitHub 上给它一个 Star!
标签:AV绕过, Cloudflare, DNS 分析, Docker, FastAPI, IOC 聚合, masscan, MITRE ATT&CK, nuclei, PostgreSQL, Python, Redis, TIP, TypeScript, WHOIS 查询, 失陷指标, 威胁情报, 威胁情报平台, 威胁源, 威胁评分, 安全仪表盘, 安全插件, 安全运营中心, 安全防御评估, 开发者工具, 开源安全工具, 搜索引擎查询, 无后门, 测试用例, 生产级, 网络威胁情报, 网络安全, 网络映射, 自动化 enrichment, 自动化攻击, 请求拦截, 逆向工具, 逆向工程平台, 隐私保护