paulieboi33-stack/threat-intelligence-platform

GitHub: paulieboi33-stack/threat-intelligence-platform

一个多源AI驱动的威胁情报平台,自动化收集、分析并可视化网络安全威胁,辅助快速响应。

Stars: 0 | Forks: 0

# 🛡️ 威胁情报平台 ![Build Status](https://img.shields.io/badge/build-passing-green) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![MITRE ATT&CK](https://img.shields.io/badge/MITRE-ATT%26CK-yellow) ![Tests](https://img.shields.io/badge/tests-12%20passing-green) ![Visualizations](https://img.shields.io/badge/visualizations-Plotly%20%7C%20Matplotlib-green) ![ML](https://img.shields.io/badge/ML-Scikit%20Learn-orange) ## 🎯 概述 这个生产级的威胁情报平台通过以下方式自动化网络安全操作: - **收集**来自7+个实时API的威胁(CISA、NVD、MalwareBazaar、GitHub CVE、Exploit-DB) - **分析**使用AI生成的摘要和MITRE ATT&CK映射 - **评分**使用自定义TPS算法的威胁 - **告警**针对影响您特定技术栈的威胁 - **报告**以多种格式(HTML、控制台、Markdown、CSV、PDF) - **可视化**使用交互式Plotly图表和热图 - **仪表板**使用Streamlit Web界面 **它的作用:** 初级SOC分析师手动花费数小时完成的工作,这个系统可以在几分钟内完成——拥有漂亮的可视化和交互式仪表板! ## 🚀 快速开始 ### 先决条件 - Python 3.9+ - pip3 - Git ### 安装 ``` # 克隆仓库 git clone https://github.com/YOUR_USERNAME/threat-intelligence-platform.git cd threat-intelligence-platform # 安装核心依赖 pip3 install -r requirements.txt # 安装可视化与机器学习包(可选但推荐) pip3 install -r requirements_additional.txt # 运行平台 python3 main.py # 运行测试 python3 tests/test_suite.py # 创建精美可视化 python3 scripts/create_visualizations.py # 启动 Web 仪表板 streamlit run scripts/app.py ``` ## 📊 增强的可视化功能 ### 交互式图表: - 📈 **MITRE ATT&CK 热图** - 攻击技术分布 - 🍩 **严重性分布** - 显示威胁分类的饼图 - 📉 **趋势分析** - 随时间变化的威胁发现 - 📊 **供应商影响** - 最受影响的软件供应商 - 🎨 **自定义可视化** - 您需要的任何图表 ### 创建可视化: ``` python3 scripts/create_visualizations.py ``` ### 输出: - `outputs/heatmap.html` - 交互式MITRE ATT&CK热图 - `outputs/severity_pie.html` - 严重性分布图表 - `outputs/trend_chart.html` - 随时间变化的威胁趋势 - `outputs/vendor_chart.html` - 最受影响的供应商 - `outputs/report.html` - 主HTML报告 ### 示例可视化输出: ``` 📊 Creating Threat Intelligence Visualizations ✓ Heatmap saved to outputs/heatmap.html ✓ Severity pie chart saved to outputs/severity_pie.html ✓ Trend chart saved to outputs/trend_chart.html ✓ Vendor chart saved to outputs/vendor_chart.html 📊 All visualizations created successfully! ``` ## 🤖 机器学习(可选) ### Scikit-learn 集成: - **威胁聚类** - 分组相似的漏洞 - **预测模型** - 预测新兴威胁 - **异常检测** - 识别异常威胁模式 ### XGBoost 高级分析: - **梯度提升** - 更准确的预测 - **特征重要性** - 理解威胁驱动因素 - **交叉验证** - 模型性能测试 ## 🌐 Web 仪表板(Streamlit) ### 访问交互式仪表板: ``` streamlit run scripts/app.py ``` **特性:** - 📊 实时威胁源可视化 - 📈 交互式MITRE ATT&CK热图 - 🎯 关键威胁告警 - 📋 严重性分布图表 - 🔍 搜索和过滤威胁 - 📥 导出数据到CSV/JSON - 🖥️ 移动友好界面 **访问地址:** http://localhost:8501 ## 📁 项目结构 ``` threat-intelligence-platform/ ├── main.py # Main orchestrator ├── requirements.txt # Core dependencies ├── requirements_additional.txt # Visualization & ML packages ├── setup.sh # Automated setup script ├── tests/ │ └── test_suite.py # Comprehensive test suite (12 tests) ├── agents/ │ ├── scout.py # Threat collection agent │ ├── reporter.py # Report generation agent │ ├── watchdog.py # Alerting agent │ ├── api_integration.py # API client layer │ └── additional_feeds.py # Additional data sources ├── data/ │ ├── persistence.py # Database & storage layer │ ├── export.py # Export utilities │ └── org_profile.json # Target environment config ├── scripts/ │ ├── create_visualizations.py # Plotly/Matplotlib visualizations │ └── app.py # Streamlit web dashboard ├── templates/ │ └── report.html # HTML dashboard template ├── outputs/ │ ├── report.html # Generated HTML reports │ ├── heatmap.html # Interactive MITRE ATT&CK heatmap │ ├── severity_pie.html # Severity distribution chart │ ├── trend_chart.html # Threat trends over time │ ├── vendor_chart.html # Vendor impact analysis │ └── threats_export.json # Exported threat data └── README.md # Project documentation ``` ## 🎯 关键特性 ### 🌐 多源威胁收集(7+ API) - **NVD CVE API** - 国家漏洞数据库 - **CISA KEV 目录** - 已知被利用的漏洞 - **MalwareBazaar** - 活跃的恶意软件源 - **GitHub CVE 数据库** - 原始CVE列表 - **Exploit-DB** - 活跃的漏洞利用信息 - **VulnLookup** - 详细的CVE信息 - 优雅降级到示例数据 ### 🤖 AI驱动的分析 - **纯英文摘要** - 每个威胁都有AI简报 - **MITRE ATT&CK 映射** - 自动战术分类 - **自定义TPS评分** - 超越原始CVSS评分 - **漏洞利用可用性检测** - 对响应至关重要 ### 🛡️ 环境感知 - **可配置的技术栈** - 了解您正在保护的内容 - **动态告警** - 仅相关威胁触发告警 - **行业特定** - 针对您的环境定制 ### 📊 专业报告 - **漂亮的HTML仪表板** - 演示就绪 - **控制台输出** - 快速查看 - **Markdown文档** - 技术文档 - **CSV导出** - 电子表格格式 - **PDF报告** - 主管摘要 - **交互式可视化** - Plotly图表 ### 🧪 质量保证 - **12个综合测试** - 全部通过 - **代理测试** - 每个代理独立测试 - **集成测试** - 完整流水线验证 - **API错误处理** - 已测试失败情况 ### 📈 数据分析 - **Pandas** - 高级数据处理和分析 - **按严重性分组** - 按风险级别分析威胁 - **按供应商分组** - 查找最受影响的软件 - **时间序列分析** - 随时间跟踪威胁 - **统计摘要** - 平均值、中位数、百分位数 ### 🖥️ Web 仪表板 - **Streamlit** - 交互式Web界面 - **实时更新** - 实时威胁监控 - **移动友好** - 在手机/平板上工作 - **导出选项** - 下载报告 ## 🧪 质量保证 ### 测试覆盖率 - **12个综合测试** - 全部通过 - **代理测试** - 每个代理独立测试 - **集成测试** - 完整流水线验证 - **API错误处理** - 已测试失败情况 ### 运行测试: ``` python3 tests/test_suite.py ``` ## 🎓 演示指南 ### 演示流程(15-20分钟): 1. **展示组织概况**(1分钟) cat data/org_profile.json 2. **实时运行管道**(3分钟) python3 main.py 3. **显示HTML报告**(3分钟) open outputs/report.html 4. **展示可视化效果**(4分钟) python3 scripts/create_visualizations.py open outputs/heatmap.html 5. **解释AI分析**(3分钟) - 突出显示AI摘要 - 展示MITRE ATT&CK映射 - 演示威胁评分 6. **Web仪表板演示**(2分钟) streamlit run scripts/app.py 7. **以影响陈述结束**(1分钟) ## 🛡️ 安全规则 - ✅ **首次运行干模式** - 始终使用缓存/示例数据测试 - ✅ **模块化代理** - 每个代理独立工作 - ✅ **无硬编码密钥** - 使用环境变量 - ✅ **干净的输出** - 用于演示的专业HTML - ✅ **经过测试并有文档** - 每个组件都经过测试 ## 🔧 配置 ### 组织概况 编辑 `data/org_profile.json` 以自定义您的环境: ``` { "org_name": "DemoCorp", "tech_stack": ["Apache", "Linux", "WordPress", "MySQL", "Python"], "industry": "small_business", "alert_threshold": 7.5, "location": "Grogan's Mill, TX" } ``` ### 告警阈值 - `alert_threshold` - 触发告警的CVSS分数阈值 - 根据您的风险容忍度调整 ## 📊 API端点 ### NVD CVE API - **URL:** `https://services.nvd.nist.gov/rest/json/cves` - **认证:** 可选的API密钥用于速率限制 - **数据:** CVE描述、CVSS评分、引用 ### CISA KEV 目录 - **URL:** `https://www.cisa.gov/known-exploited-vulnerabilities-catalog` - **认证:** 需要认证(使用缓存的演示数据) - **数据:** 主动被利用的漏洞 ### MalwareBazaar - **URL:** `https://firewall-mon.surge.sh/feed/urlhaus` - **认证:** 无 - **数据:** 恶意软件样本哈希 ## 📝 开发状态 ### 阶段1:基础 ✅ - 项目结构和数据模型 - Scout代理和数据源 - 端到端验证 ### 2:智能 ✅ - Analyst代理和TPS评分 - Claude API集成 - MITRE ATT&CK映射 ### 阶段3:输出 ✅ - Reporter代理和HTML模板 - 控制台输出(rich库) - 组织概况和Watchdog代理 ### 阶段4:打磨 ✅ - 使用Plotly/Matplotlib/Seaborn的可视化 - README和文档 - 错误处理和弹性 - 机器学习集成(可选) - Streamlit Web仪表板 ## 📜 许可证 MIT许可证 - 可自由使用、修改和分发。 ## 🎯 使用场景 - **教育** - 网络安全课程、AI/ML项目 - **作品集** - 展示Python和API技能 - **研究** - 威胁情报自动化 - **运营** - 小型企业安全监控 - **学习** - SOC分析师工作流程自动化 ## 🔗 资源 - [MITRE ATT&CK 框架](https://attack.mitre.org/) - [NVD API 文档](https://nvd.nist.gov/) - [CISA KEV 目录](https://www.cisa.gov/know-your-attacker) - [Plotly 绘图库](https://plotly.com/python/) - [Scikit-learn 机器学习](https://scikit-learn.org/) ## 📧 联系 由 Paul Naeger 构建 机构:LoneStar 社区学院 项目:AI & 机器学习 AAS 邮箱:paulnaeger@protonmail.com ## 🎬 演示引言 ## 🌟 增强特性 本平台包含: - ✅ **7+ 个实时威胁数据源** - ✅ **12 个通过的单元测试** - ✅ **5+ 个交互式可视化** - ✅ **AI驱动的威胁分析** - ✅ **MITRE ATT&CK 映射** - ✅ **多种导出格式**(HTML、CSV、JSON、PDF) - ✅ **Web 仪表板**(Streamlit) - ✅ **机器学习**(可选) - ✅ **专业文档** - ✅ **生产级代码** **这不仅仅是一个学校项目 — 这是一个生产就绪的网络安全平台!**
标签:AI分析, Apex, API集成, CISA KEV, Cloudflare, CVE跟踪, HTML报告, Kubernetes, masscan, Matplotlib, MITRE ATT&CK, PDF报告, Plotly, PyRIT, Python3.9, Scikit-learn, Streamlit仪表板, TPS算法, XSS, 交互式可视化, 可观测性, 命令控制, 多智能体系统, 威胁情报平台, 威胁评分, 安全告警, 安全运营中心, 技术栈Python, 技术栈监控, 折线图, 攻击技术映射, 数据采集, 机器学习, 检索词: AI安全分析, 检索词: CVE跟踪, 检索词: MITRE ATT&CK, 检索词: 威胁情报, 深度包检测, 漏洞情报, 热图, 网络安全, 网络安全分析, 网络映射, 自动化威胁情报, 逆向工具, 隐私保护, 饼图