jason-allen-oneal/sentry-flow
GitHub: jason-allen-oneal/sentry-flow
一款轻量级社区威胁情报共享平台,提供 IOC 采集、丰富化、评分及 STIX/JSON 格式导出。
Stars: 0 | Forks: 0
# SentryFlow
**SentryFlow** 是一个社区驱动的威胁情报共享平台。
它负责收集、规范化、丰富化以及对入侵指标 (IOC) 进行评分,并通过 JSON 和 STIX 2.1 分发精选的数据源 (Feeds)。
项目包含一个 FastAPI 后端和一个现代化的 Next.js 前端,专为研究人员、蓝队和 SOC 设计。
## ✨ 功能特性
- 🔍 **IOC 采集** – 通过 API 或 UI 提交单个或批量 IOC (CSV/JSON)
- 🧩 **规范化与丰富化** – GeoIP (ASN, 国家)、标签、类型解析
- ⚖️ **评分** – 基于规则的精准评分,结合来源信誉、目击记录 (Sightings) 和丰富化命中情况
- 📡 **数据源 (Feeds)** – 导出精选的 JSON 或 STIX 2.1 包(包含指标、目击记录、观测数据、作为报告的情报包)
- 🔑 **API 密钥** – 基于角色的访问控制(针对 indicators/feeds 的权限范围)
- 📦 **情报包 (Intel Packages)** – 包含 ATT&CK 技术 + 分组 IOC 的迷你威胁报告
- ⚡ **警报** – 针对高置信度 IOC 定义 webhook/email/Discord 警报
- 📊 **指标** – Prometheus `/metrics` + `/health` 端点用于运维监控
- 🌐 **前端** – Next.js (App Router) + Tailwind 提供简洁的 UX:提交表单、指标搜索、情报包浏览器、数据源配置器、密钥管理、警报设置
## 📂 Monorepo 结构
```
sentry-flow/
├── backend/ # FastAPI + SQLAlchemy backend
│ └── app/
│ ├── lib/ # Database, models, schemas, scoring, enrichment
│ ├── routes/ # Indicators, feeds, packages, auth, alerts
│ └── main.py # FastAPI entrypoint
│
├── frontend/ # Next.js (App Router) + Tailwind frontend
│ └── app/
│ ├── submit/ # IOC submission form
│ ├── indicators/ # Browse/search indicators
│ ├── packages/ # Intel packages view
│ ├── feeds/ # Feed configurator
│ ├── apikeys/ # API key management
│ └── alerts/ # Alerts management
│
├── .gitignore # Monorepo ignores (Python, Node, env, logs)
├── README.md # This file
└── docker-compose.yml (planned) # Containerized deploy
```
## 🚀 快速开始
## 后端 (FastAPI)
```
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
PYTHONPATH=backend uvicorn app.main:app --reload
```
运行于 http://127.0.0.1:8000
端点:
/indicators – 提交/批量上传 IOC
/feeds – JSON 数据源
/feeds/stix – STIX 2.1 包
/packages – 情报包
/apikeys/create – 生成 API 密钥
/health + /metrics – 监控
## 前端 (Next.js)
```
cd frontend
npm install
npm run dev
```
运行于 http://localhost:3000
页面:
/submit – IOC 提交表单
/indicators – 浏览/搜索表格
/packages – 查看情报包
/feeds – 生成 JSON/STIX 数据源 URL
/apikeys – 创建/管理 API 密钥
/alerts – 定义警报规则
## 🔒 认证
所有提交和数据源端点都需要 API 密钥 (X-API-Key header)。
密钥通过 /apikeys/create?owner= 创建,并可指定权限范围:
```
indicators:write
feeds:read
```
前端将密钥存储在 localStorage 中用于 API 调用。
## 🛠 路线图
[x] IOC 采集 + 丰富化
[x] 评分 + 去重
[x] JSON + STIX 数据源
[x] 情报包 → STIX 报告
[x] 警报 (email/webhook/discord)
[x] Prometheus 指标 + 健康检查
[x] Next.js 前端 (App Router)
[ ] Docker Compose 一键部署
[ ] TAXII 2.1 服务器用于企业互操作
[ ] 基础设施复用的图形视图
[ ] ML 辅助的 IOC 聚类
## 📜 许可证
Apache 2.0(推荐用于推广采用)
或 AGPL-3.0(如果您希望强制要求开源贡献)。
## 🌊 为什么选择 SentryFlow?
MISP 功能强大但过于臃肿。商业 TIP(威胁情报平台)价格昂贵。
SentryFlow 旨在做到:
轻量级 – 合理的默认配置,简单的设置,快速的 API
易用 – 整洁的前端,移动端友好的提交界面
精准 – 固执己见的评分 → 减少垃圾情报
开放 – JSON + STIX 数据源,Prometheus 指标,可扩展的丰富化
**把它看作是轻量版的 MISP (MISP-lite),但拥有现代化的 UX 且不搞虚的。**
标签:API安全, AV绕过, CISA项目, FastAPI, Full Stack, Go语言工具, HTTP/HTTPS抓包, IOC共享, IP 地址批量处理, JSON输出, Python, SOC工具, STIX, Typescript, 信标管理, 威胁情报, 安全运营, 开发者工具, 态势感知, 情报源, 扫描框架, 指标提取, 无后门, 漏洞发现, 自动化响应, 自定义请求头, 逆向工具