commit-issues/cve-security-monitor

GitHub: commit-issues/cve-security-monitor

一款基于Python的CVE漏洞情报聚合与监控工具,整合NVD数据、安全新闻、漏洞利用成熟度和MITRE ATT&CK技术映射,帮助安全团队追踪和优先响应高风险漏洞。

Stars: 1 | Forks: 0

# 🔒 CVE 安全情报监控器 [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/) [![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://github.com/commit-issues/cve-security-monitor) **作者:** SudoCode ([@sudochef](https://instagram.com/sudochef) / [commit-issues](https://github.com/commit-issues)) ## 📋 目录 - [这是什么?](#-what-is-this) - [功能特性](#-features) - [截图展示](#-screenshots) - [快速开始](#-quick-start) - [详细安装指南](#-detailed-installation) - [使用说明](#-usage) - [项目结构](#-project-structure) - [贡献指南](#-contributing) - [许可证](#-license) ## 🎯 这是什么? **CVE 安全情报监控器** 是一款通用的命令行工具,旨在帮助安全专业人员、开发人员和 IT 团队随时掌握最新的安全漏洞信息。它可在 **Windows、macOS 和 Linux** 上运行,并自动执行以下操作: - 📥 **获取** 来自国家漏洞数据库 (NVD) 的最新 CVE 数据 - 🗄️ **存储** 漏洞信息至本地 SQLite 数据库 - 📊 **分析** CVE 严重程度、受影响供应商及漏洞利用情况 - 🎨 **展示** 终端中美观且带颜色编码的报告 - 🔔 **追踪** 需要立即关注的关键和高严重性漏洞 ### 为什么要使用这个工具? - ✅ **掌握情报:** 追踪新发布的漏洞信息 - ✅ **优先响应:** 查看哪些 CVE 是关键级别,哪些是低严重性 - ✅ **供应商追踪:** 监控哪些供应商拥有最多的漏洞 - ✅ **漏洞利用感知:** 了解哪些 CVE 存在公开的漏洞利用程序 - ✅ **作品集项目:** 展示网络安全、API 集成和数据库技能 - ✅ **通用性:** 适用于任何安装了 Python 的操作系统 ## ✨ 功能特性 ### 当前功能 (v2.0 - 完成!) - ✅ **专业级 SQLite 数据库** - 7 个规范化表,用于存储 CVE、新闻、供应商等数据 - 适当的索引和关系 - 3 个预建视图,用于快速查询关键漏洞/漏洞利用/新闻 - 包含示例数据用于测试 - ✅ **NVD API 集成** - 从官方来源获取真实 CVE 数据 - 支持 API Key 以获得更高的速率限制(30 秒内 50 次请求) - 如无 API Key 会优雅降级(30 秒内 5 次请求) - 自动加载 `.env` 文件 —— 无需手动设置 - ✅ **智能 CVE 抓取器** - 自动 CVSS 评分(v3.1,回退至 v3.0、v2.0) - 严重性分类(关键/高/中/低) - 从 CPE 数据中提取供应商和产品信息 - 重复检测与预防 - **完整的分页支持** —— 获取所有可用的 CVE,而不仅仅是前 100 个 - 妥善处理速率限制,遇到 HTTP 403 时自动重试 - ✅ **交互式终端查看器** - 对初学者友好的数字菜单 —— 只需按下一个数字和 Enter 键 - 颜色编码的严重性级别(🔴 关键,🟠 高,🟡 中,🟢 低) - 包含统计信息的数据库摘要 - 带有完整详细信息的近期 CVE 列表 - 关键/高严重性未修补 CVE 聚焦 - 带有条形图的受影响供应商排行榜 - 漏洞利用成熟度追踪器 (URGENT → HIGH → MEDIUM → LOW) - 突发安全新闻(过去 24 小时) - **关键词搜索** —— 输入供应商、CVE ID 或术语,即时查看匹配的 CVE - 完整报告模式:`python3 view_cves.py full` - ✅ **MITRE ATT&CK 集成** - 将数据库中的任何 CVE 映射到真实的 ATT&CK 技术 - 显示技术 ID + 名称(例如 `T1068 - Exploitation for Privilege Escalation`) - 显示战术 (Tactic)(例如 `Privilege Escalation`、`Initial Access`) - 完整的技术描述和缓解指导 - ATT&CK 技术页面的直接链接 - 使用 CWE 映射 + 关键词分析以获得准确结果 - 可离线工作 —— 无需额外的 API Key ### 即将推出 (路线图) - 📧 **邮件通知** - 每日摘要和关键警报 - ⏰ **自动调度** - 每日/每小时自动运行 - 🌐 **HTML 仪表板** - 本地 Web 界面 - 🚀 **CVEJunkie 网站** - 面向公众的搜索门户 ## 📸 截图展示 ### 主启动菜单 (`python run.py`) ``` ================================================================================ 🔒 CVE SECURITY INTELLIGENCE MONITOR 🔒 ================================================================================ by SudoCode (SudoChef) Saturday, February 28 2026 02:44 AM What would you like to do? [1] 🗞 Fetch Security News BleepingComputer, Hacker News, CISA, Krebs [2] 🛡 Fetch Latest CVEs Pull new vulnerabilities from NVD (last 7 days) [3] 📊 View Reports & Search Browse CVEs, news, exploits, search by keyword [4] 🗓 Fetch CVEs — Custom Range Choose how many days back to pull (e.g. 30) [5] 🎯 MITRE ATT&CK Lookup Map a CVE to ATT&CK techniques & mitigations [0] ❌ Exit Enter your choice (0-5): ``` ### 交互式菜单(运行 `python3 view_cves.py` 时的默认视图) ``` ================================================================================ 🔒 CVE SECURITY INTELLIGENCE MONITOR 🔒 ================================================================================ "SudoCode" by SudoChef (commit-issues) Generated: 2026-02-27 09:41:22 What would you like to view? [1] 📊 Database Summary [2] 🔥 Recent CVEs (last 7 days) [3] 🚨 Critical & High — No Patch Yet [4] 💣 Exploit Maturity Tracker [5] 🏢 Top Vendors by CVE Count [6] 📰 Breaking News (last 24h) [7] 📈 Statistics [8] 🔍 Search CVEs by Keyword [9] 📄 Full Report (all sections) [0] ❌ Exit Enter your choice (0-9): ``` ### 数据库摘要 ``` ================================================================================ 📊 CVE DATABASE SUMMARY ================================================================================ Total Records: 📋 CVEs in database: 247 📰 News articles: 12 ⭐ Bookmarks: 3 Severity Breakdown: 🔴 Critical: 8 🟠 High: 41 🟡 Medium: 89 🟢 Low: 24 ⚪ None (awaiting CVSS score): 85 Exploit Status: 💣 Actively exploited: 5 ⚠️ Weaponized/In-the-wild: 3 ``` ### 近期 CVE ``` ▶ 🔥 RECENT CVEs (Last 7 Days) ──────────────────────────────────────────────────────────────────────────────── 1. CVE-2025-21298 — Critical (9.8) 📅 Published: 2025-02-24 🏢 Vendor: microsoft 💣 Exploit: In-The-Wild 📝 Windows OLE Remote Code Execution Vulnerability allows unauthenticated attackers... 2. CVE-2025-24085 — High (7.8) 📅 Published: 2025-02-23 🏢 Vendor: apple 💣 Exploit: In-The-Wild 📝 A use-after-free issue in Core Media may allow a malicious application to elevate privileges... ``` ### MITRE ATT&CK 查询 ``` ================================================================= CVE-2026-28418 — MITRE ATT&CK Mapping ================================================================= Severity: Medium (4.4) Summary: Vim is an open source, command line text editor. Prior to version 9.2.0074... Mapped ATT&CK Technique(s): [1] T1068 — Exploitation for Privilege Escalation Tactic: Privilege Escalation Description: Adversaries may exploit software vulnerabilities in an attempt to elevate privileges... Mitigation: Apply patches promptly, use least-privilege principles, enable exploit protection (DEP, ASLR)... ATT&CK URL: https://attack.mitre.org/techniques/T1068 [2] T1190 — Exploit Public-Facing Application Tactic: Initial Access Description: Adversaries may attempt to take advantage of a weakness in an internet-facing host... Mitigation: Application isolation, network segmentation, patch management... ATT&CK URL: https://attack.mitre.org/techniques/T1190 ``` ## 🔒 安全与合规使用 本项目包含一份全面的**安全态势与威胁感知指南** —— 在部署、分叉或分发此工具之前,请务必阅读。 📄 **[阅读安全态势指南 →](docs/SECURITY_POSTURE.md)** 涵盖主题:凭证管理、输入验证、依赖项安全、 分叉责任、数据卫生等。 ## 🚀 快速开始 **适用于经验丰富的用户:** ``` # Clone 仓库 git clone https://github.com/commit-issues/cve-security-monitor.git cd cve-security-monitor # 安装依赖 pip install -r requirements.txt # Windows pip3 install -r requirements.txt # macOS/Linux # 在此获取免费 NVD API key:https://nvd.nist.gov/developers/request-an-api-key # 将其添加到 .env 文件: echo "NVD_API_KEY=your-api-key-here" > .env # 创建数据库 python init_db.py # Windows python3 init_db.py # macOS/Linux # 从主启动器运行所有内容 python run.py # Windows python3 run.py # macOS/Linux ``` **适用于初学者:** 请参阅下方的 [详细安装指南](#-detailed-installation)! ## 📖 详细安装指南 ### 前置条件 **此工具支持:** - ✅ **Windows** (10/11) - ✅ **macOS** (10.15+) - ✅ **Linux** (Ubuntu, Debian, Fedora 等) **您需要:** - Python 3.8 或更高版本 - 互联网连接 - 一个终端/命令提示符(别担心 - 我们会教您如何使用!) **还没有安装 Python?** - **Windows:** 从 [python.org](https://www.python.org/downloads/) 下载 - **请务必在安装过程中勾选 "Add Python to PATH"!** - **macOS:** 预装,或通过 `brew install python3` 安装 - **Linux:** 通常预装,或使用 `sudo apt install python3 python3-pip` 安装 ### 分步安装指南(面向零基础用户) #### **步骤 1:打开您的终端** **什么是终端?** 这是一个基于文本的界面,您可以在其中输入命令。别担心 —— 我们会指导您完成每一步! - **Windows:** 1. 按下 `Windows` 键 2. 输入 `cmd` 或 `command prompt` 3. 按下 `Enter` —— 将会出现一个黑色窗口 - **macOS:** 1. 按下 `Cmd + Space` 2. 输入 `terminal` 3. 按下 `Enter` - **Linux:** 1. 按下 `Ctrl + Alt + T` #### **步骤 2:下载项目** **选项 A:使用 Git(推荐)** 检查您是否安装了 Git: ``` git --version ``` 如果您看到了版本号,太好了!如果没有,请从 [git-scm.com](https://git-scm.com/) 下载 Git 然后下载项目: ``` git clone https://github.com/commit-issues/cve-security-monitor.git cd cve-security-monitor ``` **选项 B:下载 ZIP(无需 Git)** 1. 访问 https://github.com/commit-issues/cve-security-monitor 2. 点击绿色的 **"Code"** 按钮 → **"Download ZIP"** 3. 将 ZIP 解压到您记得的位置(桌面或文档) 4. 在终端中导航至该目录: ``` # Windows cd C:\Users\YourName\Desktop\cve-security-monitor-main # macOS cd ~/Desktop/cve-security-monitor-main # Linux cd ~/Downloads/cve-security-monitor-main ``` #### **步骤 3:安装所需的库** ``` # Windows pip install -r requirements.txt # macOS/Linux pip3 install -r requirements.txt ``` 如果遇到权限错误,请在末尾添加 `--user`: ``` pip3 install -r requirements.txt --user ``` **安装内容说明:** - `requests` — 向 NVD API 发出 Web 请求 - `python-dotenv` — 自动从 `.env` 文件读取您的 API Key - `beautifulsoup4` — 解析 HTML/XML 数据 - `lxml` — 快速数据处理 - `python-dateutil` — 处理日期 **这需要 30–60 秒。** #### **步骤 4:获取免费的 NVD API Key** **什么是 API Key?** 它就像一个密码,可以解锁对 NVD 数据库的更快访问。 1. 访问:https://nvd.nist.gov/developers/request-an-api-key 2. 输入您的电子邮件地址 3. **Organization(组织):** 输入 `Personal` 或 `Educational` 4. **Reason(原因):** 输入 `Educational portfolio project for CVE monitoring` 5. 点击 **Submit** —— 您的 Key 几乎会立即通过邮件发送给您! **为什么需要这个?** - **没有 Key:** 每 30 秒 5 个 CVE(慢 —— 需要许多分钟) - **有 Key:** 每 30 秒 50 个 CVE(快 10 倍!) #### **步骤 5:创建您的 .env 文件** **什么是 .env 文件?** 一个专门存储您 API Key 的文件,这样您就再也不用手动输入它了。 **Windows (记事本):** ``` notepad .env ``` **macOS/Linux (nano):** ``` nano .env ``` 准确输入以下内容,将占位符替换为您的真实 Key: ``` NVD_API_KEY=your-actual-api-key-here ``` **示例:** ``` NVD_API_KEY=a1b2c3d4-e5f6-7890-abcd-ef1234567890 ``` **保存文件:** - **记事本:** 文件 → 保存 → 关闭记事本 - **nano:** 按下 `Ctrl+X`,然后按下 `Y`,再按下 `Enter` #### **步骤 6:创建数据库** ``` # Windows python init_db.py # macOS/Linux python3 init_db.py ``` 当出现提示时: ``` Would you like to insert sample data for testing? (yes/no): ``` 输入 `yes` 并按下 Enter。 您应该会看到: ``` ✓ Database created successfully! ✓ Sample data inserted successfully! 🎉 Success! Your database is ready to use! ``` #### **步骤 7:运行 CVE 抓取器** 这将从国家漏洞数据库下载真实的漏洞数据: ``` # Windows python src/cve_scraper.py # macOS/Linux python3 src/cve_scraper.py ``` 您应该会看到: ``` ✓ NVD API Key loaded! Using enhanced rate limits (50 req/30sec). ====================================================================== NVD CVE Scraper - Starting ====================================================================== ℹ Fetching CVEs from the last 7 days... ℹ Requesting page starting at index 0... ✓ Page fetched: 100 CVEs (100 of 1906 total) ℹ Requesting page starting at index 100... ✓ Page fetched: 100 CVEs (200 of 1906 total) ... ``` 当它完成时: ``` ====================================================================== Scraping Complete — Summary ====================================================================== ✓ Stored: 847 new CVEs ℹ Skipped: 0 (already in database) ℹ Processed: 847 total ``` #### **步骤 8:查看您的报告!** ``` # Windows python run.py # macOS/Linux python3 run.py ``` 您将看到一个 **交互式菜单** —— 只需按下一个数字和 Enter 键即可导航: ``` [1] 🗞 Fetch Security News [2] 🛡 Fetch Latest CVEs [3] 📊 View Reports & Search [4] 🗓 Fetch CVEs — Custom Range [5] 🎯 MITRE ATT&CK Lookup [0] ❌ Exit ``` 在每个部分结束后按下 `Enter` 返回菜单。按下 `0` 退出。 **恭喜!您现在正在追踪真实的 CVE! 🎉** ## 💻 使用说明 一旦设置完成,您的日常工作流只需两条命令 —— 运行抓取器拉取最新数据,然后打开查看器进行探索。 ### 运行工具 | 您想要做什么 | Windows | macOS / Linux | |---|---|---| | 启动主菜单 | `python run.py` | `python3 run.py` | | 获取最新的 CVE(过去 7 天) | `python src/cve_scraper.py` | `python3 src/cve_scraper.py` | | 获取过去 30 天的 CVE | `python src/cve_scraper.py 30` | `python3 src/cve_scraper.py 30` | | 打开交互式菜单 | `python view_cves.py` | `python3 view_cves.py` | | 打印完整报告(无菜单) | `python view_cves.py full` | `python3 view_cves.py full` | | 仅打印摘要 | `python view_cves.py summary` | `python3 view_cves.py summary` | ### 导航菜单 当您运行 `run.py` 时,您将看到一个数字菜单。输入一个数字并按 Enter —— 就这么简单。在每个部分结束后,按 Enter 返回菜单。输入 `0` 退出。 ### 搜索 CVE 🔍 菜单中的选项 `[8]` 可打开搜索功能。您可以通过以下方式查找 CVE: - **CVE ID** — `CVE-2025-21298` 或仅 `2025-21298` - **供应商名称** — `microsoft`、`apple`、`cisco`、`ivanti` - **关键词** — `remote code execution`、`buffer overflow`、`privilege escalation` 结果按严重性评分排序 —— 最危险的匹配项会最先显示。 ### MITRE ATT&CK 查询 🎯 选项 `[5]` 可将数据库中的任何 CVE 映射到真实的 ATT&CK 技术: 1. 运行 `python run.py` 并选择 `[5]` 2. 输入一个 CVE ID(例如 `CVE-2026-28418`) 3. 查看映射的技术 ID、战术、描述、缓解措施和 ATT&CK 链接 ## 📂 项目结构 ``` cve-security-monitor/ │ ├── 📄 README.md # This file - start here! ├── 📄 LICENSE # MIT License ├── 📄 requirements.txt # Python dependencies list ├── 📄 .gitignore # Files Git should ignore ├── 📄 .env # Your API keys (DO NOT SHARE!) │ ├── 🗄️ schema.sql # Database structure definition ├── 🐍 init_db.py # Creates the database ├── 🐍 db_utils.py # Database helper functions (v2.0) ├── 🐍 test_database.py # Test your database ├── 🐍 run.py # Main launcher — start here! ⭐ ├── 🐍 view_cves.py # Interactive CVE viewer ⭐ │ ├── 📁 src/ # Source code folder │ ├── 🐍 cve_scraper.py # Fetches CVEs from NVD ⭐ │ ├── 🐍 news_scraper.py # Fetches security news ⭐ │ └── 🐍 mitre_attack.py # MITRE ATT&CK mapping engine ⭐ │ ├── 📁 docs/ # Documentation folder │ ├── 📄 SCHEMA.md # Database structure details │ ├── 📄 schema_visual.md # Visual database diagram │ ├── 📄 DATABASE_SETUP.md # Database setup guide │ └── 📄 QUICK_REFERENCE.md # Quick command reference │ └── 🗃️ cve_security_monitor.db # Your CVE database (created after setup) ``` ## 🤝 贡献指南 欢迎贡献、提 Issue 和功能请求!这是一个活跃的作品集项目,我接受协作请求。 **贡献方式:** - 🐛 **报告 Bug** - 如果有功能不正常,提交 Issue - 💡 **建议功能** - 有好主意?告诉我! - 📝 **改进文档** - 帮助让文档变得更好 - 🔧 **提交代码** - Fork,编写代码,并创建 Pull Request **贡献代码步骤:** 1. Fork 本仓库 2. 创建一个功能分支 (`git checkout -b feature/amazing-feature`) 3. 提交您的更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 发起一个 Pull Request ## 📜 许可证 本项目基于 **MIT License** 授权 —— 详情请参阅 [LICENSE](LICENSE) 文件。 **这对您意味着:** - ✅ 可免费用于个人或商业项目 - ✅ 可免费修改和分发 - ✅ 可免费包含在您的作品集中 - ✅ 无担保或责任 - ✅ 请在 GitHub 上注明并引用原作者 "SudoChef":"commit-issues" - ✅ 请保留原始许可证声明 ## 🙏 致谢 - **国家漏洞数据库 (NVD)** — 提供免费、全面的 CVE 数据 - **MITRE Corporation** — 创建和维护 CVE 标准及 ATT&CK 框架 - **Anthropic's Claude** — 提供调试协助和架构指导 - **信息安全社区 (InfoSec Community)** — 提供灵感和最佳实践 - **OwlSec** - 激发创造力并创造机会 ## 📞 联系方式与社交媒体 **SudoCode by SudoChef (commit-issues)** - 🐙 SudoChef 的公开 GitHub: [@commit-issues](https://github.com/commit-issues) - 📸 Instagram: [@sudochef](https://instagram.com/sudochef) - 🎵 TikTok: [@sudochef](https://tiktok.com/@sudochef) - 📁 项目: [CVE Security Intelligence Monitor](https://github.com/commit-issues/cve-security-monitor) **有问题?遇到 Issue?有想法?** 在 GitHub 上发起 Issue,或通过 Instagram 或 TikTok 联系我! ## ⭐ 为项目加星 如果您觉得这个项目有用或有趣,请在 GitHub 上给它一个 Star!这有助于其他人发现它,并激励持续开发。 **[⭐ 点击此处前往 GitHub 加星](https://github.com/commit-issues/cve-security-monitor)** ## 🎓 学习资源 **刚接触网络安全或 Python?** 这里有一些资源: - [CVE 计划概述](https://www.cve.org/About/Overview) — 了解 CVE - [NVD 用户指南](https://nvd.nist.gov/general/user-guide) — 理解 NVD 数据 - [CVSS 计算器](https://www.first.org/cvss/calculator/3.1) — 严重性评分如何运作 - [MITRE ATT&CK 框架](https://attack.mitre.org/) — 理解攻击技术 - [Python 初学者教程](https://www.python.org/about/gettingstarted/) — 学习 Python 基础 - [SQLite 教程](https://www.sqlitetutorial.net/) — 数据库基础

SudoCode 由 SudoChef 用 💜 构建
逐一解析 CVE,让网络安全触手可及。

这是一个展示以下技能的作品集项目:
Python • SQLite • API 集成 • Web 抓取 • 网络安全 • 数据分析

标签:DevSecOps, GPT, IT安全, NVD数据库, PB级数据处理, Python, Splunk, SQLite, XSS, 上游代理, 利用代码检测, 威胁情报, 安全仪表盘, 安全运维, 密码管理, 开发者工具, 批量测试, 无后门, 无线安全, 漏洞分析, 漏洞情报, 漏洞管理, 漏洞追踪, 网络安全, 自动化监控, 跨平台工具, 路径探测, 逆向工具, 隐私保护