shahedadel/CVE_Threat_Intelligence_Analysis_System

GitHub: shahedadel/CVE_Threat_Intelligence_Analysis_System

一款利用TF-IDF检索将IDS入侵告警映射到NVD CVE漏洞并提供CVSS评分与CWE修复建议的网络安全信息检索系统。

Stars: 0 | Forks: 0

# CVE 威胁情报分析系统 一款网络安全工具,利用 TF-IDF 将 IDS 告警映射到 CVE 漏洞 排名检索、Snort 规则集成、CVSS 严重性评分以及基于 CWE 的 修复指导。 **作者:** Shahed Alabdulrahman & Germaine Hounakey ## 功能 - 解析真实的 NVD CVE 数据集(压缩的 JSON,43,943 条记录) - 提取 CVE ID、描述、CVSS 分数和 CWE 弱点类型 - 支持: - 直接 CVE 查询(例如,CVE-2025-XXXX) - 自然语言 IDS 告警 - Snort 风格的告警(例如,ET WEB_SERVER SQL Injection Attempt) - 具有长度归一化的 TF-IDF 加权排名 - CVSS 严重性提升(CRITICAL ×1.30 / HIGH ×1.15 / MEDIUM ×1.05) - Snort .rules 文件集成,包含 CVE 引用和 token 重叠匹配 - 基于 CWE 的推荐引擎(19 种 CWE 类型,16 条 keyword fallback 规则) - 归一化的置信度得分 - 在数据集中未找到 CVE 时的优雅降级处理 - 内置评估套件(Hit@3, Precision@1) - 结构化的时间戳输出日志 ## 如何运行 ``` python IAE_main.py ``` 确保 `CVE_data.json.gz` 位于同一目录下。 可选择将 `snort_rules.rules` 放在同一目录下以启用 Snort 集成。 ## 命令 | 输入 | 动作 | |---|---| | `CVE-2024-1234` | 直接 CVE 查询 | | 任意告警文本 | TF-IDF + Snort 检索 | | `eval` | 运行评估套件 | | `exit` | 退出 | ## 示例输入 ``` CVE-2025-3456 ``` ``` ET WEB_SERVER SQL Injection Attempt -- select from ``` ``` buffer overflow in SSH authentication module ``` ## 输出 系统将生成: - CVE ID - 严重性(包含 CVSS 分数) - CWE 类型 - 置信度得分 - 匹配的 Snort 规则(如适用) - 漏洞描述 - 基于 CWE 的安全建议 ### 示例: ``` ┌─ RESULT #1 (Direct CVE Match) │ CVE ID : CVE-2025-3456 │ Severity : HIGH (CVSS 8.1) │ CWE : CWE-89 │ Confidence: 100% │ │ Snort Rules Matched: │ SID 1001 [web-application-attack] — ET WEB_SERVER SQL Injection Attempt │ match=CVE ref cve_refs=CVE-2025-3456 │ │ Summary: │ ... │ │ Recommendations: │ • Use parameterised queries and validate all database inputs. ``` ## 工作原理 1. 加载 CVE 数据集并构建 TF-IDF 索引 2. 加载 Snort 规则文件(如存在) 3. 将告警与 Snort 规则进行匹配(CVE 引用或 token 重叠) 4. 从告警中提取 CVE(如存在),否则对告警进行分词 5. 根据 TF-IDF 得分 × CVSS 提升 × Snort 提升对 CVE 进行排名 6. 计算归一化的置信度得分 7. 生成基于 CWE 的建议 8. 打印结构化的解释并附加到 output.txt ## 评估结果 运行 `eval` 将在 10 种真实场景的告警模式上测试系统: | 指标 | 结果 | |---|---| | Hit@3(前 3 名中至少有 1 个相关结果) | 10/10 (100%) | | Precision@1(排名第 1 的结果相关) | 7/10 (70%) | ## 项目结构 ``` intrusion_explainer/ ├── IAE_main.py ← main script ├── CVE_data.json.gz ← NVD CVE dataset ├── snort_rules.rules ← Snort rules file (optional) ├── output.txt ← auto-generated alert log └── README.md ``` *本项目是一个教育性质的网络安全信息检索系统, 灵感来源于现实世界的 IDS 告警分析工作流。*
标签:GPT, NLP, Python, TF-IDF, 威胁情报, 开发者工具, 无后门, 漏洞管理, 网络安全, 逆向工具, 隐私保护