AarohiK/Sentineliq-Threat-Intelligence-Platform
GitHub: AarohiK/Sentineliq-Threat-Intelligence-Platform
基于 FastAPI 的威胁情报平台,通过 VirusTotal API 自动化丰富 IOC 指标并生成可解释的风险评分,服务于 SOC 调查工作流。
Stars: 0 | Forks: 0
# SentinelIQ:威胁情报与 IOC 风险分析平台
## 概述
SentinelIQ 是一个专注于安全的威胁情报平台,旨在自动化入侵指标 (IOC) 调查工作流。
该平台接受 IP 地址、域名、URL 和文件哈希等安全指标,使用 VirusTotal API 对其进行丰富,应用自定义的风险评分引擎,并返回可解释的威胁评估。
该项目展示了实用的安全工程概念,包括:
- 威胁情报自动化
- IOC 丰富
- SOC 调查工作流
- REST API 开发
- API 身份验证与授权
- 身份与访问管理原则
# 功能
## IOC 调查
SentinelIQ 分析常见的威胁情报指标:
| IOC 类型 | 示例 |
| --- | --- |
| IP 地址 | `8.8.8.8` |
| 域名 | `example.com` |
| URL | `https://example.com/login` |
| 文件哈希 | `SHA256 hash` |
该平台会自动识别 IOC 类型,并从 VirusTotal 检索威胁情报数据。
## VirusTotal 威胁情报丰富
SentinelIQ 集成了 VirusTotal API 以收集安全情报,包括:
- 恶意检测结果
- 可疑检测结果
- 信誉评分
- 威胁标签
- ASN 信息
- 组织信息
- 国家信息
# 风险评分引擎
SentinelIQ 包含一个自定义的风险评分引擎,可将威胁情报发现转化为可解释的安全评估。
该引擎生成:
- 风险评分 (0-100)
- 风险级别分类
- 调查推理
示例响应:
```
{
"risk_score": 85,
"risk_level": "High",
"reasons": [
"Multiple malicious detections identified"
]
}
```
# API 安全与身份验证
SentinelIQ 使用 Auth0 (Okta) 通过基于 JWT 的身份验证来保护 API endpoint。
已实施的安全控制包括:
- Bearer token 身份验证
- JWT 签名验证
- JWKS 公钥验证
- Issuer 验证
- Audience 验证
- 受保护的 API 路由
身份验证工作流:
```
Client
|
| JWT Access Token
↓
FastAPI Endpoint
|
↓
Auth0 Token Verification
|
↓
Authorized API Access
```
未包含有效身份验证 token 的请求将被拒绝。
# API 功能
## IOC 调查 Endpoint
该平台提供了一个 API endpoint,用于提交指标并接收威胁情报评估。
示例请求:
```
{
"ioc": "example.com",
"type": "domain"
}
```
示例响应:
```
{
"ioc": "example.com",
"type": "domain",
"riskscore": {
"risk_score": 10,
"risk_level": "Low"
}
}
```
# 数据库追踪
存储的信息包括:
- IOC 值
- IOC 类型
- 风险评分
- 风险级别
- 调查时间戳
# 技术栈
## 后端
- Python
- FastAPI
- REST APIs
- Pydantic
## 安全
- Auth0 (Okta)
- JWT
- JWKS
- OAuth 2.0 概念
## 威胁情报
- VirusTotal API
- IOC 丰富
- 风险评分
## 数据库
- SQLite
# 展示的安全概念
该项目展示了对以下方面的实践经验:
- 威胁情报工作流
- SOC 调查流程
- IOC 分析
- API 安全
- JWT 身份验证
- 身份与访问管理
- 安全后端开发
- 外部安全 API 集成
标签:逆向工具