RaminNietzsche/CVE-Radar

GitHub: RaminNietzsche/CVE-Radar

一款自托管的多人漏洞监控平台,聚合多个公开安全数据源,帮助团队针对自身技术栈持续追踪和管理 CVE 风险。

Stars: 1 | Forks: 2

# CVE Radar [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/0f450db915193202.svg)](https://github.com/RaminNietzsche/CVE-Radar/actions/workflows/ci-app.yml) [![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=RaminNietzsche_CVE-Radar&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=RaminNietzsche_CVE-Radar) [![codecov](https://codecov.io/gh/RaminNietzsche/CVE-Radar/graph/badge.svg)](https://codecov.io/gh/RaminNietzsche/CVE-Radar) [![License: MIT](https://img.shields.io/badge/License-MIT-teal.svg)](LICENSE) [![Node](https://img.shields.io/badge/node-%3E%3D20-brightgreen)](package.json) [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue)](package.json) [![Docker](https://img.shields.io/docker/v/raminnietzsche/cve-radar?label=Docker%20Hub)](https://hub.docker.com/r/raminnietzsche/cve-radar) 针对您的基础设施栈的多源 **CVE 和漏洞监控**。仅使用免费的公共 API(NVD、OSV、GitHub Advisories、GitLab Advisories、CISA KEV、Linux 发行版源、安全 RSS)。支持 **RTL/LTR** 界面,提供浅色、深色和系统主题,以及 **六种界面语言**。 ![CVE Radar — 全面扫描后的仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b3db14c65e193208.png) *仪表盘:严重性摘要、各工具的 CVE 卡片(HAProxy、Redis 等)、图表、带有栈工具的统一侧边栏、数据源新鲜度以及扫描控件。刷新截图:运行 `npm run docs:product-demo`。* | 语言 | README | |----------|--------| | English | 当前页面 | | فارسی | [README.fa.md](README.fa.md) | | العربية | [README.ar.md](README.ar.md) | | Русский | [README.ru.md](README.ru.md) | | 中文 | [README.zh.md](README.zh.md) | | Français | [README.fr.md](README.fr.md) | **文档:** [https://blog.raminnietzsche.ir/CVE-Radar/](https://blog.raminnietzsche.ir/CVE-Radar/) · [扩展文档](extended-docs/docs/index.md)(源码) · [术语表](extended-docs/docs/glossary.md) ``` make extended-docs-serve # local preview http://127.0.0.1:8000 ``` ## 功能 - **全面扫描** — NVD + OSV + GitHub + GitLab + CISA KEV + Alpine/Ubuntu/Debian/Red Hat/Amazon Linux 发行版源 + The Hacker News + TuxCare RSS - **快速监控** — 定期执行 OSV + GitHub(+ RSS),无需等待 NVD 延迟 - **仪表盘** — 严重性甜甜圈图、类型柱状图、各工具状态 - **过滤器** — 严重性、类型、工具、搜索、排序(严重性 / 日期 / CVSS) - **国际化 (i18n)** — 波斯语、阿拉伯语、英语、俄语、中文、法语(界面及本地化的日期/数字格式) - **主题** — 浅色 / 深色 / 系统 - **可选的波斯语翻译** — 通过 MyMemory / LibreTranslate / Ollama 在服务器端进行 EN→FA 翻译 - **数据源新鲜度** — 侧边栏显示每个数据源最后一次成功获取的时间 - **首次运行设置向导** — 在进入仪表盘前配置栈、设置和源 (v1.1.0) - **扫描缓存** — 当栈匹配时,重新加载会恢复上一次扫描;仪表盘上显示缓存结果横幅 - **GitHub Models prompts** — 位于 [`.github/prompts/`](.github/prompts/README.md) 的可复用 AI prompts,用于引导和运维 - **多渠道监控告警** — 通过 `NotificationService` 支持 Slack、Discord、Telegram、电子邮件和通用 webhook - **自托管企业级功能** — RBAC (`API_ROLE`)、可选的 PostgreSQL 多租户、扫描历史/趋势、Redis 缓存、Prometheus 指标、气隙镜像、K8s 栈发现 - **SSE 扫描流** — 使用 `POST /api/v1/scan/stream` 在全面扫描期间接收进度事件 **最新发布:** [v1.3.0](https://github.com/RaminNietzsche/CVE-Radar/releases/tag/v1.3.0) · 维护者指南:[docs/RELEASE.md](docs/RELEASE.md) ## 路线图 正在进行的工作在 [GitHub Issues](https://github.com/RaminNietzsche/CVE-Radar/issues) 中跟踪。当前的史诗(epics): | 领域 | Epic | 备注 | |------|------|-------| | E2E 测试、夹具、覆盖率门禁 | [#78](https://github.com/RaminNietzsche/CVE-Radar/issues/78) | Playwright CSV 导出 + 约 257 个测试用例(约 94% 行覆盖率);计划增加更多集成镜像 | | SonarCloud 可维护性 | [#134](https://github.com/RaminNietzsche/CVE-Radar/issues/134)–[#139](https://github.com/RaminNietzsche/CVE-Radar/issues/139) | 代码异味清理 | 基于 MIT 协议发布(无企业版分级):多渠道通知([#124](https://github.com/RaminNietzsche/CVE-Radar/issues/124), [#127](https://github.com/RaminNietzsche/CVE-Radar/issues/127))、Drizzle schema 基础([#125](https://github.com/RaminNietzsche/CVE-Radar/issues/125), [#128](https://github.com/RaminNietzsche/CVE-Radar/issues/128))、RBAC、多租户、PostgreSQL 扫描历史、Redis 共享缓存([#66](https://github.com/RaminNietzsche/CVE-Radar/issues/66))、Prometheus 指标、EPSS、气隙镜像 — 参见 [扩展文档第 11 章](extended-docs/docs/content/en/11-self-hosted.md)。 想要帮忙吗?领取一个 **`good first issue`** 标签,或者在提交 PR 之前在 epic 下发表评论。 ## 快速开始 ``` git clone https://github.com/RaminNietzsche/CVE-Radar.git cd CVE-Radar make setup make dev ``` | 服务 | URL | |---------|-----| | Web UI | http://localhost:5173 | | API 健康状态 | http://localhost:3001/api/health | ### 可选环境变量 (`.env`) ``` NVD_API_KEY= # https://nvd.nist.gov/developers/request-an-api-key GITHUB_TOKEN= # higher GitHub Advisories rate limit SCAN_DAYS=60 TRANSLATE_ENABLED=true # RATE_LIMIT_SCAN_PER_MIN=12 # RATE_LIMIT_WATCH_PER_MIN=120 ``` 从 [`.env.example`](.env.example) 复制。**切勿提交 `.env` 文件。** ## 数据源 | 来源 | 作用 | |--------|------| | [NVD](https://nvd.nist.gov) | 官方 CVE 记录(全面扫描) | | [OSV](https://osv.dev) | 开源软件包漏洞 | | [GitHub Advisories](https://github.com/advisories) | GHSA / 经过审核的安全公告 | | [GitLab Advisories](https://gitlab.com/gitlab-org/advisories-community) | 社区安全公告数据库(全面扫描 + 监控) | | [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) | 已知被利用的漏洞 | | Alpine secdb | 映射栈工具的 OS 软件包 CVE | | Ubuntu USN | Ubuntu 安全公告(预获取的 CVE 映射) | | Red Hat Security Data | CVE 详情扩充(描述、CVSS) | | Debian Security Tracker | Debian 软件包安全公告(可选启用) | | Amazon Linux ALAS | 针对 Amazon Linux 软件包的 ALAS 更新信息 | | MITRE CVE API | 可选的 JSON 5.x 详情扩充 (`MITRE_CVE_ENABLED`) | | [The Hacker News](https://thehackernews.com) | 安全新闻 RSS | | [TuxCare](https://tuxcare.com) | 安全博客 RSS | ## API | 方法 | 路径 | 描述 | |--------|------|-------------| | `GET` | `/api/health` | 存活状态、版本、环境变量标志(运维可加 `?detailed=true`) | | `GET` | `/metrics` | Prometheus 指标(当启用 `METRICS_ENABLED` 时) | | `GET` | `/api/capabilities` | 限制、功能、翻译语言环境 | | `GET` | `/api/sources` | 内置 + 默认的 RSS 目录 | | `GET` | `/api/openapi.json` | OpenAPI 3.1 规范 | | `POST` | `/api/scan/validate` | 验证栈/源(不执行扫描) | | `POST` | `/api/scan` | 全面扫描(`stack`、`translate`、`locale`、`enabledBuiltin`、`customFeeds`) | | `POST` | `/api/watch` | 监控轮询 + `newVulns` / `hasNew` | | `POST` | `/api/translate` | 批量 CVE 文本翻译 | | `POST` | `/api/v1/scan/stream` | 基于 SSE 的全面扫描 (v1) | | `GET` | `/api/v1/scans/history` | 租户扫描历史 | | `GET/POST` | `/api/v1/tenants/stacks` | 已保存栈的 CRUD 操作 | | `GET` | `/api/v1/discovery/kubernetes` | K8s 镜像 → 工具发现(可选启用) | 核心扫描/元数据路由也存在于 `/api/v1/…` 下。完整参考:[扩展文档 API 章节](extended-docs/docs/content/en/06-api.md) · 运行 `make extended-docs-serve` → API Explorer 标签页。 ## 生产部署 ``` make build make start # serves API + static dist on PORT (default 3001) ``` ### Docker **Docker Hub:** [`raminnietzsche/cve-radar`](https://hub.docker.com/r/raminnietzsche/cve-radar) · Hub 副本:[`docs/dockerhub/`](docs/dockerhub/overview.md) ``` docker pull raminnietzsche/cve-radar:latest docker run --rm -p 3001:3001 raminnietzsche/cve-radar:latest # 或使用 compose:docker compose -f docker-compose.hub.yml up -d ``` 从源码构建: ``` docker compose up --build # UI + API → http://localhost:3001 ``` 详情:[`docs/DOCKER.md`](docs/DOCKER.md)。 ### 自托管运维 所有高级功能 — 审计日志、RBAC、多租户扫描历史、Prometheus 指标、EPSS、合规性映射、Kubernetes 发现、离线镜像 — 均**包含在 MIT 协议下**,无任何企业版分级。**多语言指南:** 扩展文档[第 11 章](extended-docs/docs/content/en/11-self-hosted.md)(en · fa · ar · ru · zh · fr) · 维护者拆分版本:[`docs/self-hosted/`](docs/self-hosted/README.md)。 ### GitHub Pages (扩展文档) 已发布的站点:[blog.raminnietzsche.ir/CVE-Radar/](https://blog.raminnietzsche.ir/CVE-Radar/)。Pages 部署遇到问题(404)?请参见 [docs/GITHUB_PAGES.md](docs/GITHUB_PAGES.md)。 栈示例:[`examples/stack.json`](examples/stack.json)。OpenAPI:[`docs/OPENAPI.md`](docs/OPENAPI.md)。 ## 项目结构 完整结构图请参见 **[ARCHITECTURE.md](ARCHITECTURE.md)**。 ``` ├── src/ # React + Vite UI (see src/README.md) ├── server/ # Express API + feeds (see server/README.md) ├── extended-docs/ # Canonical MkDocs site (6 languages, CI deploy) ├── docs/ # ADRs, Docker/Pages/OpenAPI guides (see docs/README.md) ├── tests/ # API + unit tests ├── scripts/ # Tooling (screenshots, OpenAPI check, icons) ├── examples/ # Sample stack JSON ├── public/ # Static assets (favicon, brand icons) ├── .github/ # CI, Pages, Docker Hub, CODEOWNERS └── Makefile ``` ## Makefile ``` make help make check # lint + typecheck + test make test make docs-serve # optional: MkDocs Material site ``` ## 免责声明 本工具**聚合公共数据源**以提高安全意识。请务必根据供应商的安全公告和您的变更管理流程验证发现的结果。RSS 条目可能无法与 CVE ID 建立 1:1 的映射关系。 ## 贡献 请参见 [CONTRIBUTING.md](CONTRIBUTING.md)、[SECURITY.md](SECURITY.md)、[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) 和 [CHANGELOG.md](CHANGELOG.md)。 ## 许可证 [MIT](LICENSE)
标签:CVE, Docker, Express, React, Syscalls, 子域名突变, 安全防御评估, 搜索引擎查询, 数字签名, 测试用例, 漏洞监控, 自动化攻击, 自托管, 请求拦截