hoimingkenny/threat-intelligence

GitHub: hoimingkenny/threat-intelligence

基于 LLM 的后端威胁情报平台,通过持续监控 RSS 源、大模型提取安全要素并与内部产品清单匹配,自动生成初始影响评估以缩短安全团队的响应时间。

Stars: 0 | Forks: 0

# AI 驱动的威胁情报与初始影响评估 MVP ## 概述 本项目是一个仅包含后端的 AI 驱动威胁情报平台,可持续监控选定的网络威胁源,使用大语言模型 (LLM) 分析最新发布的安全事件,将受影响的产品与内部技术观察列表进行匹配,并自动生成初始影响评估。 该项目的灵感来源于企业安全团队的实际运营需求,在这些需求中,组织可能需要严格的 SLA 内完成初始影响评估,例如在获知重大网络事件后的 2 小时内。 该 MVP 不仅仅依赖传统的 CVE 数据库或手动监控,旨在缩短判断新报告的零日漏洞或供应商相关的网络攻击是否会影响组织所需的时间。 ## 问题陈述 现代网络攻击的演变速度远快于传统的漏洞管理流程。 对于许多备受瞩目的事件,其发展顺序通常为: 1. 安全研究人员观察到可疑活动。 2. 威胁情报团队发布初步发现。 3. 网络新闻网站报道活跃的攻击利用。 4. 供应商发布安全公告。 5. CVE 被分配并丰富详细信息。 6. 官方政府公告和 KEV 目录被更新。 等待正式 CVE 发布或官方公告的组织可能会失去宝贵的响应时间。 因此,安全团队需要一种机制来: - 持续监控受信任的威胁情报源。 - 识别报告的事件是否与组织相关。 - 快速确定内部技术是否可能受到影响。 - 为分析师和管理层生成初始影响评估。 ## 项目目标 构建一个轻量级的后端服务,该服务能够: - 定期轮询受信任的网络威胁情报订阅源。 - 检测最新发布的威胁报告。 - 使用 LLM 提取结构化安全信息。 - 将提取出的产品与内部产品观察列表进行匹配。 - 生成机器可读且人类可读的初始影响评估。 - 记录结果以供分析师审查。 该系统不能替代人类分析师。它作为一个 AI 辅助的分流工具,旨在减少事件响应早期阶段的人工工作量。 ## MVP 范围 ### 包含内容 - RSS 订阅源收集。 - 基于大语言模型的威胁信息提取。 - 内部产品观察列表匹配。 - 初始影响评估生成。 - 控制台和日志文件输出。 ### 排除内容 第一个版本有意排除了以下内容: - 前端仪表板。 - 数据库持久化。 - SIEM 集成。 - SOAR 自动化。 - CMDB 集成。 - Microsoft Teams 或电子邮件通知。 - 工单创建。 - IOC 提取。 - 自动补丁建议。 - 自动化修复操作。 该 MVP 仅专注于威胁情报工作流的第一阶段。 ## 高层架构 ``` +----------------------+ | Threat Intelligence | | RSS Feeds | +----------+-----------+ | v +--------------------------+ | Feed Collector | | (Spring Scheduled Task) | +------------+-------------+ | v +--------------------------+ | New Threat Event Queue | +------------+-------------+ | v +--------------------------+ | LLM Threat Analyzer | | - Vendor Extraction | | - Product Extraction | | - Severity Classification | - Active Exploitation | +------------+-------------+ | v +--------------------------+ | Product Matcher | | (Internal Watchlist) | +------------+-------------+ | v +--------------------------+ | Initial Impact Assessment| | Generator | +------------+-------------+ | v +--------------------------+ | Console / File Log Output| +--------------------------+ ``` ## 业务工作流 ``` New Threat Article Published | v System polls RSS feeds every 10 minutes | v New article detected? +----+----+ | | No Yes | | | v | Send article to LLM | | | v | Extract threat information | | | v | Match internal products | | | v | Generate impact assessment | | | v +------> Log result ``` ## MVP 技术栈 | 层级 | 技术 | | --- | --- | | 编程语言 | Java 21 | | 后端框架 | Spring Boot | | 任务调度 | Spring Scheduler | | RSS 解析 | Rome | | LLM 集成 | LiteLLM + OpenAI / Azure OpenAI | | 配置 | YAML | | 日志记录 | Logback | | 存储 | 内存 (MVP) | | 构建工具 | Maven | ## 威胁情报源 该 MVP 将监控精选的受信任 RSS 订阅源列表。 ### 初始订阅源列表 ``` feeds: - name: BleepingComputer url: https://www.bleepingcomputer.com/feed/ - name: The Hacker News url: https://feeds.feedburner.com/TheHackersNews - name: Mandiant Threat Intelligence url: https://cloud.google.com/blog/topics/threat-intelligence/rss.xml - name: Palo Alto Unit42 url: https://unit42.paloaltonetworks.com/feed/ ``` 后续可以在不改变应用架构的情况下添加更多订阅源。 ## 内部产品观察列表 该 MVP 使用简单的基于 YAML 的内部技术清单。 ### 配置示例 ``` products: - name: Keycloak aliases: - Red Hat SSO - RHSSO owner: IAM Team criticality: Critical - name: CyberArk aliases: - CyberArk PVWA - CyberArk PAS - CyberArk PSM owner: PAM Team criticality: Critical - name: SailPoint IIQ aliases: - SailPoint IdentityIQ - IdentityIQ owner: IAM Team criticality: High - name: Spring Boot aliases: - Spring Framework - Spring Security owner: Application Team criticality: High - name: Red Hat Enterprise Linux aliases: - RHEL - Red Hat Linux owner: Infrastructure Team criticality: Critical ``` 在 MVP 阶段,该观察列表可作为 CMDB 的轻量级替代品。 ## LLM 威胁分析 每篇威胁文章都会由 LLM 进行分析,并转换为结构化的 JSON 对象。 ### 输出示例 ``` { "vendor": "Red Hat", "product": "Keycloak", "affected_versions": "Unknown", "severity": "Critical", "active_exploitation": true, "poc_available": false, "attack_type": "Authentication Bypass", "summary": "A critical authentication bypass vulnerability affecting Keycloak is reportedly under active exploitation." } ``` 结构化输出简化了下游处理,并实现了确定性的产品匹配。 ## 初始影响评估模板 当威胁与内部产品匹配时,系统会生成标准的影响评估。 ### 输出示例 ``` ========================================== INITIAL IMPACT ASSESSMENT ========================================== Detected Time: 2026-06-15 10:22 SGT Threat Source: BleepingComputer Threat Title: Critical vulnerability in Keycloak under active exploitation Threat Summary: A critical authentication bypass vulnerability affecting Keycloak is reportedly under active exploitation. Extracted Information: - Vendor: Red Hat - Product: Keycloak - Severity: Critical - Active Exploitation: Yes - PoC Available: Unknown Internal Product Match: - Product: Keycloak - Owner: IAM Team - Business Criticality: Critical Initial Assessment: The organization uses Keycloak as part of its enterprise identity platform. Based on currently available information, there may be potential exposure. The IAM Team should verify deployed versions and review vendor guidance. Status: Potentially Affected - Under Investigation ========================================== ``` ## 项目结构 ``` src/main/java/com/company/threatintel ├── ThreatIntelApplication.java ├── scheduler │ └── FeedPollingScheduler.java ├── collector │ └── RssFeedCollector.java ├── analyzer │ └── LlmThreatAnalyzer.java ├── matcher │ └── ProductMatcher.java ├── assessment │ └── ImpactAssessmentService.java ├── config │ ├── FeedConfig.java │ └── ProductWatchlistConfig.java └── model ├── ThreatEvent.java ├── ThreatAnalysisResult.java ├── ProductWatchItem.java └── ImpactAssessment.java ``` ## 实施计划 ### 阶段 1 - RSS 订阅源收集 #### 目标 构建一个定时服务,持续轮询选定的 RSS 订阅源。 #### 任务 - 创建 Spring Boot 项目。 - 在 YAML 中配置 RSS 订阅源列表。 - 集成 Rome RSS 解析器。 - 构建定时轮询作业。 - 获取并解析订阅源条目。 - 记录新发现的文章。 - 防止在运行期间重复处理。 #### 交付成果 应用程序能够成功收集并显示来自多个来源的新威胁文章。 ### 阶段 2 - LLM 威胁分析 #### 目标 将非结构化的威胁报告转化为结构化的安全数据。 #### 任务 - 集成 LLM API。 - 设计用于网络威胁提取的 prompt 模板。 - 强制使用 JSON 响应格式。 - 解析并验证 LLM 输出。 - 提取: - 供应商 - 产品 - 严重程度 - 攻击类型 - 活跃的漏洞利用状态 - PoC 可用性 #### 交付成果 每篇收集的文章都会生成一个结构化的威胁分析对象。 ### 阶段 3 - 内部产品匹配 #### 目标 确定威胁是否可能影响组织的技术栈。 #### 任务 - 构建基于 YAML 的产品注册表。 - 将产品及别名加载到内存中。 - 将提取的产品与观察列表进行比较。 - 支持别名匹配。 - 将事件标记为: - 匹配 - 不匹配 - 未知 #### 交付成果 应用程序能够正确识别与受监控技术相关的威胁。 ### 阶段 4 - 初始影响评估生成 #### 目标 自动生成初始影响评估草案。 #### 任务 - 设计评估模板。 - 将威胁数据与观察列表元数据结合。 - 生成对分析师友好的摘要。 - 生成结构化的日志输出。 #### 交付成果 系统为匹配的威胁生成完整的初始影响评估。 ### 阶段 5 - 稳定性提升 #### 目标 为 MVP 的持续运行做好准备。 #### 任务 - 添加重复检测。 - 为订阅源失败添加重试逻辑。 - 添加超时和异常处理。 - 改进日志记录。 - 添加单元测试。 - 添加配置验证。 #### 交付成果 应用程序可以在最少的人工干预下持续运行。 ## 未来路线图 在验证 MVP 之后,未来的版本可能包括: ### 版本 2 - PostgreSQL 持久化。 - REST API。 - Microsoft Teams 通知。 - 电子邮件警报。 - 供应商公告订阅源。 - CISA KEV 集成。 ### 版本 3 - CMDB 集成。 - SIEM 集成。 - IOC 提取。 - MITRE ATT&CK 映射。 - 风险评分引擎。 - 自动生成管理层报告。 ### 版本 4 - AI 辅助的事件响应工作流。 - 多智能体威胁情报编排。 - 威胁聚类和相似性分析。 - 历史威胁知识库。 - 利用分析师反馈自动完善影响评估。 ## 成功标准 如果 MVP 能够做到以下几点,即被视为成功: - 持续监控多个威胁情报源。 - 检测最新发布的网络威胁报告。 - 使用 LLM 提取结构化的威胁信息。 - 正确识别威胁是否与内部产品相关。 - 自动生成有意义的初始影响评估。 - 在原始文章发布后的几分钟内生成评估。 ## 项目价值 本项目展示了 AI 和 LLM 技术在企业网络安全运营中的实际应用。 它结合了: - Java 后端工程。 - Spring Boot 微服务开发。 - 基于 LLM 的信息提取。 - 威胁情报处理。 - 安全领域建模。 - 身份与访问管理意识。 - AI 辅助的运营决策支持。 该项目并非构建一个通用的聊天机器人,而是专注于解决现实中的企业安全问题:缩短在出现新的网络威胁时执行初始影响评估所需的时间。
标签:AI自动化, 后端服务, 威胁情报, 安全运营, 开发者工具, 影响评估, 扫描框架, 脚本检测, 自定义脚本