nuclide-research/sentinel

GitHub: nuclide-research/sentinel

sentinel 是一条面向 AI/ML 基础设施的 CVE 响应式暴露检测流水线,将 CISA KEV 漏洞情报与已勘察主机和 Shodan 暴露数据交叉比对并评分告警。

Stars: 1 | Forks: 0

sentinel

针对 AI 和 ML 基础设施的 CVE 响应式暴露检测 pipeline。

license python NuClide

功能安装说明用法Pipeline配置适用范围

sentinel 会轮询 CISA KEV feed,并针对每个新的 CVE 回答一个问题:我们是否已经在互联网上发现了它,以及我们是否已经在自己勘察的主机中发现了它。KEV 列表会标记正在被积极利用的漏洞。它不会说明该平台是否是您正在追踪的,当前有多少实例暴露,或者其中有哪些是您上周进行过 fingerprint 的主机。sentinel 将这些答案串联在一起:KEV 轮询、NVD enrichment、GitHub PoC 搜索、AI/ML 平台匹配、语料库版本范围匹配、Shodan 暴露计数、P1 到 P4 评分、aimap 头部主机 fingerprint、winnow 误报筛查、visorlog 接入、ntfy 告警。 除了公开 feed 之外的每一个阶段都是可选的,并且可以平滑降级。在仅安装了 `requests` 的情况下,sentinel 依然可以轮询 KEV、enrichment NVD、查找 PoC 并进行评分。添加一个 Shodan key,实时的暴露计数就会出现。添加 OSINT 语料库,已勘察主机的匹配功能就会开启。 # 功能 - 拉取 CISA KEV feed,过滤最近 30 天的数据,并带有针对每个 CVE 的幂等 checkpoint - NVD enrichment:CVSS、描述、CPE 产品、受影响的版本范围 - GitHub PoC 搜索,按 star 数排名的前 5 个 - 针对 AI/ML 注册表(Ollama、vLLM、MLflow、ChromaDB、Qdrant、Weaviate、Langflow、Dify、Flowise、LiteLLM、n8n 等)的平台匹配器。没有匹配项意味着该 CVE 将被跳过 - 语料库交叉比对:运行受影响范围内版本的已勘察主机 - Shodan 暴露计数及部分主机样本,并针对实时基线进行异常标记 - 跨越 CVSS、PoC 存在情况、KEV 成员资格和新近度的 P1 到 P4 优先级评分 - 使用 aimap 自动 fingerprint 头部的 P1 和 P2 主机,并通过 winnow 对结果进行筛查 - 将确认的暴露路由到 visorlog 和 ntfy - `--dry-run` 执行完整的 feed 和评分路径,零主动探测且零账本写入 - 纯标准库加上 `requests`。Shodan 和 Playwright 是可选附加项 # 安装说明 ``` git clone https://github.com/nuclide-research/sentinel cd sentinel pip install requests ``` Python 3.9 或更高版本。`requests` 是唯一的硬性要求。 可选: ``` pip install playwright python -m playwright install chromium ``` 只有在 Shodan API key 路径不可用或过期时才需要 Playwright。 # 用法 ``` python3 sentinel.py run # full pipeline, once python3 sentinel.py run --loop # repeat every 6h python3 sentinel.py run --dry-run # no active probes, no ledger writes, no alerts python3 sentinel.py status # processed-CVE count and recent findings python3 sentinel.py reset # clear processed-CVE state ``` `run` 仅处理尚未查看过的 CVE。状态会在每个 CVE 之后进行 checkpoint,以便中途中断的运行能够恢复。`--dry-run` 会跳过所有主动或破坏性的步骤:没有 aimap 探测,没有 visorlog 写入,没有 ntfy,没有 pharos 队列条目。只读的 feed 查找仍会运行。 # Pipeline 针对每个新的 CVE: 1. CISA KEV 轮询,过滤最近 30 天的数据 2. NVD enrichment:CVSS、描述、CPE 产品、受影响的版本范围 3. GitHub PoC 搜索,按 star 数排名的前 5 个 4. 平台匹配:将 CISA 供应商/产品和 NVD CPE 与 AI/ML 注册表进行比对。没有 AI/ML 匹配则跳过 5. 语料库匹配:运行受影响范围内版本的已勘察主机 6. Shodan 暴露计数及部分主机样本,针对实时基线进行异常标记 7. 优先级评分:跨越 CVSS、PoC、KEV 成员资格、新近度的 P1 到 P4 8. 对于具有活跃主机的 P1 和 P2:对头部主机进行 aimap fingerprint,然后进行 winnow 误报筛查 9. 将暴露的主机接入 visorlog(在 `--dry-run` 下跳过) 10. 如果优先级达到配置的阈值(默认为 P2),则发出 ntfy 告警 # 配置 所有配置均通过环境变量或 JSON 文件进行。运行不需要任何配置,但 Shodan 暴露和 ntfy 告警需要其相应的值。 | 变量 | 默认值 | 用于 | |----------|---------|----------| | `SHODAN_API_KEY` | (未设置) | Shodan 主机计数和搜索 | | `SENTINEL_NTFY_TOPIC` | `nuclide-sentinel` | ntfy 告警主题 | | `NVD_API_KEY` | (未设置) | 更高的 NVD 速率限制 | | `GITHUB_TOKEN` | (未设置) | 更高的 GitHub 搜索速率限制 | JSON 覆盖配置从 `~/.config/sentinel/config.json` 加载(键与 `Config` 字段匹配)。如果 `SHODAN_API_KEY` 未设置,sentinel 还会读取 `~/.config/nuclide/shodan.key`,然后是 `~/.config/shodan/api_key`。 状态和日志位于 `~/.local/share/sentinel/` 目录下(`state.json`、`pharos-queue.ndjson`、按日期命名的 `logs/sentinel-YYYY-MM-DD.ndjson`)。 # 可选集成 在运行时被发现,如果不存在则跳过。没有任何一项会阻碍运行。 | 集成 | 用途 | sentinel 查找的位置 | |-------------|---------|----------------------| | `aimap` | 对头部 P1 和 P2 主机进行 Fingerprint | `PATH`、`~/go/bin`、`~/Tools/`、`~//`、`~/.local/bin` | | `winnow` | 对 aimap 输出进行误报筛查 | `~/winnow/winnow.py` | | `visorlog` | 将暴露的主机接入发现结果账本 | 与 `aimap` 相同的路径 | | `tome` | 严格的分平台 Shodan dorks 来源 | 与 `aimap` 相同的路径 | | OSINT 语料库 | 版本范围匹配、dork 目录、实时基线 | `~/AI-LLM-Infrastructure-OSINT/` | # 适用范围 aimap、visorlog 和 Shodan 阶段会连接到活跃主机和外部服务。请仅在您自己或已授权的基础设施上运行它们。`--dry-run` 的存在是为了让您可以在不触碰任何主机的情况下测试 feed 和评分逻辑。 # 我们的其他项目 - [aimap](https://github.com/nuclide-research/aimap) — 针对 AI 和 ML 基础设施的 fingerprint 扫描器 - [winnow](https://github.com/nuclide-research/winnow) — 针对扫描器输出的规范化误报筛查工具 - [pharos](https://github.com/nuclide-research/pharos) — 自主攻击性研究 agent - [visorlog](https://github.com/nuclide-research/visorlog) — 发现结果账本和接入 pipeline - [tome](https://github.com/nuclide-research/tome) — 权威的 AI 基础设施平台语料库 # License MIT。NuClide 工具链的一部分。联系方式:[nuclide-research.com](https://nuclide-research.com)
标签:AI基础设施, DevSecOps, GPT, Python, 上游代理, 威胁情报, 实时处理, 密码管理, 开发者工具, 无后门, 漏洞管理, 特征检测, 逆向工具