commit-issues/cve-security-monitor
GitHub: commit-issues/cve-security-monitor
一款基于Python的CVE漏洞情报聚合与监控工具,整合NVD数据、安全新闻、漏洞利用成熟度和MITRE ATT&CK技术映射,帮助安全团队追踪和优先响应高风险漏洞。
Stars: 1 | Forks: 0
# 🔒 CVE 安全情报监控器
[](LICENSE)
[](https://www.python.org/downloads/)
[](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, 上游代理, 利用代码检测, 威胁情报, 安全仪表盘, 安全运维, 密码管理, 开发者工具, 批量测试, 无后门, 无线安全, 漏洞分析, 漏洞情报, 漏洞管理, 漏洞追踪, 网络安全, 自动化监控, 跨平台工具, 路径探测, 逆向工具, 隐私保护