sarthakNaikare/sentinel

GitHub: sarthakNaikare/sentinel

基于 TimescaleDB 的时序威胁情报引擎,将 CVE 视为时间序列事件进行追踪,提供 EPSS 动态评分、攻击链检测和 AI 修复建议。

Stars: 0 | Forks: 0

# 🛡️ SENTINEL ### 时间威胁情报引擎 **首个原生基于 TimescaleDB 构建的 CVE 平台。** CVE 不是静态记录。它们是时间序列事件。
[![TimescaleDB](https://img.shields.io/badge/TimescaleDB-2.26.3-FDB515?style=flat-square&logo=postgresql&logoColor=white)](https://www.timescale.com/) [![.NET](https://img.shields.io/badge/.NET-8.0-512BD4?style=flat-square&logo=dotnet&logoColor=white)](https://dotnet.microsoft.com/) [![Python](https://img.shields.io/badge/Python-3.12-3776AB?style=flat-square&logo=python&logoColor=white)](https://python.org) [![React](https://img.shields.io/badge/React-Vite-61DAFB?style=flat-square&logo=react&logoColor=black)](https://vitejs.dev/) [![Electron](https://img.shields.io/badge/Electron-36-47848F?style=flat-square&logo=electron&logoColor=white)](https://www.electronjs.org/) [![Railway](https://img.shields.io/badge/API-Railway-0B0D0E?style=flat-square&logo=railway&logoColor=white)](https://sentinel-production-b4c7.up.railway.app/health) [![Vercel](https://img.shields.io/badge/Frontend-Vercel-000000?style=flat-square&logo=vercel&logoColor=white)](https://sentinel-two-beta.vercel.app)
[🌐 实时仪表盘](https://sentinel-two-beta.vercel.app)  ·  [📥 下载应用](https://sentinel-download.vercel.app)  ·  [🔌 API 健康状态](https://sentinel-production-b4c7.up.railway.app/health)  ·  [📦 发布版本](https://github.com/sarthakNaikare/sentinel/releases)
## 📊 实时统计
| 🔢 CVE 总数 | 🔴 严重 | 🚨 已确认 KEV | 📈 EPSS 评分 | 💾 压缩率 | |:---:|:---:|:---:|:---:|:---:| | **456,999** | **34,743** | **1,969** | **108,145** | **88%** |
## 📸 截图 ### 🗄️ TimescaleDB 浏览器 — 88% 压缩率,1.6K 数据块 ![TimescaleDB 浏览器](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/9a4ae53c79203148.png) ### 📋 CVE 事件超级表 — 645 MiB,444K 行 ![CVE 超级表](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/631d8aa542203150.png) ### 🔌 API — 实时指标端点 ![API 指标](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/32cdcfeb30203151.png) ### 🔍 API — Log4Shell (CVE-2021-44228) 详情 ![Log4Shell](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/41eee1ffa7203152.png) ### 🚨 API — 基于 EPSS + KEV 的首要威胁 ![首要威胁](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/affc11a87d203154.png) ### 🔎 技术栈扫描器 — OSV 扫描结果(第 1 部分) ![技术栈扫描第 1 部分](https://raw.githubusercontent.com/sarthakNaikare/sentinel/main/screenshots/06_osv_stack_scan(part%201).png) ### 🔎 技术栈扫描器 — OSV 扫描结果(第 2 部分) ![技术栈扫描第 2 部分](https://raw.githubusercontent.com/sarthakNaikare/sentinel/main/screenshots/06_osv_stack_scan(part%202).png) ### ⚡ 完整加载完成 — 已摄取 347K 个 CVE ![完整加载](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/919b901197203157.png) ### 🔗 攻击链图谱 — D3.js 力导向图,检测到 50 条链 ![链图谱](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/1422a9c552203159.png) ## 🧠 是什么让 SENTINEL 与众不同? 现有的每一个 CVE 平台都将漏洞存储为**静态记录**。 SENTINEL 将它们视为**时间序列事件** —— 利用 EPSS 轨迹、KEV 确认和时间链检测,跟踪每个漏洞随时间推移的危险程度变化。 这只有通过 **TimescaleDB** 才能实现。 传统 CVE DB: CVE → 静态记录 → 按 ID 查询 SENTINEL: CVE → 时间序列事件 → 轨迹、链条、碳定年 ## ✨ 核心功能 ### ☢️ 碳定年 每个 CVE 都会获得一个从您的部署日期计算得出的**暴露年龄**,并使用 TimescaleDB 超级函数根据 EPSS 进行加权。准确查看漏洞存在于您的技术栈中的时间——精确到天。 ### 🔗 攻击链检测 TimescaleDB 窗口函数可检测在历史上 **72 小时窗口**内被组合利用的 CVE。SENTINEL 呈现完整的攻击链——而不仅仅是个别漏洞。 ### 🎯 战情室仪表盘 实时威胁热力图、按 KEV + EPSS 排序的实时 CVE 订阅源以及威胁等级指示器。所有这些都由连续聚合提供支持,可对 456K+ 条记录进行亚秒级查询。 ### 🔎 技术栈扫描器 放入一个 `package.json`、`requirements.txt` 或 `pom.xml`。SENTINEL 会针对 OSV + NVD 解析每个依赖项,并返回一份附有 EPSS 分数和 KEV 标志的优先威胁报告。 ### 🤖 AI 修复 由 Claude 驱动的针对任何 CVE 的修复指导。在几秒钟内生成结合上下文的修补建议和缓解策略。 ### 📉 LEV 评分 NIST 2025 可能被利用漏洞指标,使用 TimescaleDB 超级函数在历史 EPSS 快照上原生计算得出。 ## 📡 数据源 | 来源 | 提供的内容 | 权威机构 | |--------|-----------------|----------| | 🏛️ NVD API v2 | 456k+ CVE、CVSS 评分、KEV 字段 | 美国政府 — nist.gov | | 🚨 CISA KEV | 已确认的在野利用 | 美国政府 — cisa.gov | | 📊 EPSS | 30 天被利用概率评分 | FIRST.org | | 🔍 OSV.dev | 生态系统包漏洞 | Google | | 🐙 GitHub Advisory | 供应链漏洞 | GitHub | ## 🏗️ 架构 ## ┌─────────────────────────────────────────────────────────────┐ │ SENTINEL │ ├─────────────┬───────────────┬──────────────┬───────────────┤ │ Python 3.12│ .NET 8 API │ React+Vite │ Electron │ │ 摄取 │ Railway │ Vercel │ 桌面应用 │ │ ~100k/秒 │ /api/* │ 仪表盘 │ Win/Mac/Linux │ ├─────────────┴───────────────┴──────────────┴───────────────┤ │ TimescaleDB 云 │ │ • cve_events 超级表 • threat_scores_1h 连续聚合 │ │ • epss_snapshots • threat_scores_24h 连续聚合 │ │ • epss_trends_24h • 88% 压缩率 │ │ • 已索引 456,999 个 CVE • 1,600+ 数据块 │ └─────────────────────────────────────────────────────────────┘ ## 🛠️ 技术栈 | 层级 | 技术 | 用途 | |-------|-----------|---------| | 🗄️ **数据库** | TimescaleDB 2.26.3 | 超级表、连续聚合、Hypercore、数据保留 | | ⚙️ **API** | .NET 8 Minimal API | Npgsql、异步、流式传输 — 部署在 Railway | | 🐍 **摄取** | Python 3.12 | asyncpg,基于 COPY 的批量插入 ~100k 行/秒 | | ⚛️ **前端** | React + Vite + D3.js | 战情室、热力图、链图谱 — 部署在 Vercel | | 📦 **桌面端** | Electron 36 | 跨平台安装程序,Keygen 许可证管理 | | 🔐 **授权** | Keygen.sh | 许可证验证和访问控制 | ## 🔌 API 端点 | 方法 | 端点 | 描述 | |--------|----------|-------------| | `GET` | [`/health`](https://sentinel-production-b4c7.up.railway.app/health) | 服务健康检查 | | `GET` | `/api/metrics` | 仪表盘统计(总数、严重、KEV、EPSS) | | `GET` | `/api/cves` | 带过滤器的实时 CVE 订阅源 | | `GET` | `/api/cves/{cveId}` | 单个 CVE 详情 | | `GET` | `/api/threats/top` | 基于 EPSS + KEV 的首要威胁 | | `GET` | `/api/heatmap` | 24 小时威胁热力图数据 | | `GET` | `/api/carbon/{cveId}` | CVE 的 EPSS 轨迹 | | `GET` | `/api/chains` | 攻击链相关性 | | `POST` | `/api/remediate` | AI 驱动的修复(Claude) | **Base URL:** `https://sentinel-production-b4c7.up.railway.app` ## 📥 下载
| 平台 | 下载 | 大小 | |----------|----------|------| | 🐧 **Linux** | [SENTINEL-0.1.0.AppImage](https://github.com/sarthakNaikare/sentinel/releases/download/v0.2.2/SENTINEL-0.1.0.AppImage) | 108 MB | | 🪟 **Windows** | [SENTINEL.Setup.0.1.0.exe](https://github.com/sarthakNaikare/sentinel/releases/download/v0.2.2/SENTINEL.Setup.0.1.0.exe) | 81.9 MB | | 🍎 **macOS** | [SENTINEL-0.1.0-arm64.dmg](https://github.com/sarthakNaikare/sentinel/releases/download/v0.2.2/SENTINEL-0.1.0-arm64.dmg) | 101 MB | 或访问 **[📥 下载页面 →](https://sentinel-download.vercel.app)**
## 🚀 本地开发 ### 前提条件 - Python 3.12+ - .NET 8 SDK - Node.js 20+ - TimescaleDB 连接字符串 ### 设置 ``` # 克隆 repo git clone https://github.com/sarthakNaikare/sentinel.git cd sentinel # 设置 Python 环境 python -m venv .venv source .venv/bin/activate pip install -r requirements.txt # 设置 environment variables cp config/.env.example config/.env # 使用你的 TimescaleDB URL 和 Anthropic API key 编辑 config/.env # 运行 API cd api && export ANTHROPIC_API_KEY=your_key && dotnet run # 运行 frontend(新 terminal) cd frontend && npm install && npm run dev -- --host # 运行 Electron app(新 terminal) cd electron && npm install && npm start ``` ## 🔒 访问与授权 SENTINEL 使用 **[Keygen.sh](https://keygen.sh)** 进行许可证管理。访问权限由作者根据请求授予。 - 📧 **申请访问权限:** [sarthaknaikare@gmail.com](mailto:sarthaknaikare@gmail.com) - 🌐 **下载页面:** [sentinel-download.vercel.app](https://sentinel-download.vercel.app) - 📦 **所有发布版本:** [GitHub Releases](https://github.com/sarthakNaikare/sentinel/releases)
由 **[Sarthak Naikare](https://github.com/sarthakNaikare)** 构建 [📧 邮箱](mailto:sarthaknaikare@gmail.com)  ·  [🐙 GitHub](https://github.com/sarthakNaikare)
*由 TimescaleDB 驱动 · 部署在 Railway + Vercel*
标签:AI修复建议, AI安全, API服务, Chat Copilot, CISA项目, CVE数据库, Electron, EPSS评分, GPT, KEV追踪, .NET 8, OSV, PostgreSQL, Python, Railway, React, Syscalls, TimescaleDB, Vercel, Vite, 威胁情报, 安全运营, 库, 应急响应, 开发者工具, 扫描框架, 攻击链检测, 数据压缩, 无后门, 漏洞管理, 网络安全, 自定义脚本, 逆向工具, 隐私保护