patil-swap/cve_lucid
GitHub: patil-swap/cve_lucid
CVE Lucid是一个通过AI处理NIST NVD漏洞数据,使其易读、可操作的安全工具。
Stars: 0 | Forks: 0
# CVE Lucid V3.0 版本
安全公告由工程师撰写,面向工程师。普通的CVE条目读起来就像用汇编语言编写的法律简报。**CVE Lucid** 通过直接从NIST NVD数据库提取实时漏洞数据,并利用LLM进行处理,使其变得可读、具有类比性和可操作性,从而弥合了这一鸿沟。
V3.0版本引入了主从工作流、主动告警和实时版本检查功能,使其成为安全从业者的至关重要枢纽。
## 🌟 核心功能 (V3.0)
- **主从布局:** 桌面端采用分屏界面,适用于高速分类;移动端优化导航,适用于小屏幕。
- **邮件告警与每日摘要:** 双重选择加入订阅系统。根据您的产品技术栈和严重性阈值接收个性化的CVE摘要。
- **"我受影响吗?" 版本检查器:** 客户端工具,用于检查您的本地产品版本是否处于NVD索引的受影响范围(使用`semver`)。
- **分层视觉层级:** 漏洞详情按实用性结构化(主要:修复/技术信息;次要:通俗易懂/影响分析;第三级:类比/元数据)。
- **上下文相关的"假设场景"解释器:** 基于角色的(工程师、经理、高管)AI影响评估。
- **影响模拟:** AI生成的假设攻击链和安全指标评估(机密性、完整性、可用性)。
- **全文搜索:** 本地SQLite FTS5索引,可在数千个漏洞中实现亚50毫秒查询。
- **趋势仪表板:** 通过Recharts实时可视化漏洞增长速度、供应商分布和CWE类别。
## 技术栈
- **框架:** Next.js 14 (App Router)
- **数据库:** SQLite (better-sqlite3) 结合FTS5用于本地索引。
- **邮件:** Resend (事务性告警和每日摘要)
- **样式:** Tailwind CSS v3 & shadcn/ui
- **数据获取:** TanStack React Query v5
- **可视化:** Recharts
- **差异对比:** react-diff-viewer-continued
- **AI集成:** Groq (Llama 3) / Ollama (本地)
- **安全:** 严格的API代理路由、正则表达式ID验证以及符合OWASP规范的响应头。
## 🚀 快速开始
### 1. 前置条件
- Node.js (v20+)
- Ollama (可选,用于本地推理)
- Resend API 账户 (用于邮件告警)
- Vercel 或本地 cron 任务 (用于每日摘要)
### 2. 配置环境变量
将 `.env.example` 复制为 `.env.local`:
```
NVD_API_KEY=your_key_here
GROQ_API_KEY=your_key_here
AI_PROVIDER=groq # or ollama
RESEND_API_KEY=re_12345...
ALERT_EMAIL_FROM=notifications@yourdomain.com
CRON_SECRET=random_string_here
```
### 3. 初始化与自动化
初始化搜索索引并配置每日告警任务:
- **搜索索引:** `POST /api/cron/index-cves`
- **每日告警:** `POST /api/cron/send-alerts`
### 4. 运行开发服务器
```
npm install
npm run dev
```
访问 `http://localhost:3000` 查看主从工作区。
## 🏗️ V3 架构
为了绕过跨站脚本攻击(XSS)、服务器端请求伪造(SSRF)并保护API令牌:
1. **主从路由:** 通过 `?cve=CVE-XXX` 查询参数支持深度链接,允许跨页面刷新和前后导航保持状态。
2. **双重选择加入告警:** 基于UUID的确认令牌确保用户同意并防止订阅垃圾邮件。
3. **确定性差异对比:** 对比引擎映射NVD JSON对象,并在AI摘要生成前通过确定性差异查看器运行它们。
4. **鲁棒的AI解析:** 激进的JSON提取逻辑防止当LLM在响应中包含"闲聊"或Markdown时出现500错误。
5. **混合存储:** 结合本地SQLite持久化(用于搜索/分析)和动态NVD代理,以实现实时准确性。
6. **缓存层:** AI响应和模拟输出通过统一的内存/持久化层缓存,以减少延迟和令牌使用。
7. **混合索引:** 定期从NVD拉取最近的CVE并索引到本地SQLite FTS5虚拟表中。
8. **确定性差异对比:** 对比引擎映射NVD JSON对象,并在AI摘要生成前通过确定性差异查看器运行它们。
9. **基于角色的隔离:** 通过将基于角色的系统指令隔离在集中式、只读的模板注册表中,来缓解提示注入攻击。
标签:AI集成, AI风险缓解, CVE解析, GPT, LLM, NVD集成, PB级数据处理, Recharts, SQLite, Tailwind CSS, Unmanaged PE, 产品版本, 人工智能, 安全运维, 实时警报, 数据库, 数据检索, 样式框架, 漏洞管理, 版本检查, 用户模式Hook绕过, 网络安全, 自动化攻击, 邮件通知, 隐私保护