berinabraham-sec/greynoc-detector-engine
GitHub: berinabraham-sec/greynoc-detector-engine
一个集成多源威胁情报并进行漏洞风险预测与检测规则自动生成的安全运营引擎。
Stars: 0 | Forks: 0
# GreyNOC Detector Engine
一个生产级、OSINT 驱动的威胁情报和检测引擎,能够接入多个威胁情报源,关联数据,预测攻击概率,并为 SOC 团队生成检测规则草案。
## 概述
GreyNOC Detector Engine 是一个先进的威胁情报平台,可自动收集、关联和分析安全威胁数据。它从多个开源情报 (OSINT) 源接入数据,应用预测性风险评分,并为安全运营团队生成多种格式的检测规则草案。
### 核心功能
- 多源接入:汇总来自 CISA KEV、NVD、EPSS 和 Abuse.ch 数据源的数据
- 预测性评分:计算 AttackForecast 概率和风险评分
- 检测生成:创建 Sigma、YARA、Splunk 和 KQL 规则草案
- 关联引擎:将漏洞与利用情报和 IOC 进行关联
- 报告功能:生成 HTML 仪表板和 JSON 导出文件
## 功能特点
### 威胁情报接入
- CISA KEV:已知被利用漏洞(每日更新)
- NIST NVD:漏洞数据(每日更新)
- FIRST EPSS:漏洞利用概率评分(每日更新)
- ThreatFox:失陷标标示 (IOC)(持续更新)
- URLhaus:恶意 URL(持续更新)
### 预测性 AttackForecast
引擎基于以下因素为每个漏洞生成预测:
- KEV 状态:高权重 - 已列入 CISA 已知被利用漏洞目录
- EPSS 评分:中权重 - 漏洞利用预测评分系统的概率
- CVSS 评分:中权重 - 通用漏洞评分系统的严重程度
- 活跃利用:高权重 - 已知被勒索软件或活跃攻击活动使用
### 检测规则生成
- Sigma:基于日志的检测(草案)
- YARA:基于文件的检测(草案)
- Splunk SPL:SIEM 查询(草案)
- KQL:Kusto 查询语言(草案)
## 安装
### 前置条件
- Python 3.8 或更高版本
- pip 包管理器
### 第 1 步:克隆仓库
git clone https://github.com/berinabraham-sec/greynoc-detector-engine.git
cd greynoc-detector-engine
### 第 2 步:安装依赖
pip install -r requirements.txt
### 第 3 步:运行引擎
python detector_engine.py --demo
python detector_engine.py --all
python detector_engine.py --ingest
python detector_engine.py --forecast
python detector_engine.py --detect
python detector_engine.py --report
## 使用方法
### 命令行选项
- --demo:使用模拟数据以演示模式运行
- --ingest:从所有来源接入威胁情报
- --forecast:生成 AttackForecast 预测
- --detect:生成检测规则
- --report:生成报告
- --all:运行完整流水线
### 示例:运行完整流水线
python detector_engine.py --all
### 示例:生成检测规则
python detector_engine.py --detect
## 项目结构
greynoc-detector-engine/
- detector_engine.py # 主应用程序
- README.md # 文档
- requirements.txt # Python 依赖
- .gitignore # Git 忽略文件
- greynoc.db # SQLite 数据库(自动生成)
- logs/ # 应用程序日志
- reports/ # 生成的报告
## 数据库 Schema
### Vulns 表
- cve_id: CVE 标识符(主键)
- description: 漏洞描述
- cvss_score: CVSS 基础分数
- cvss_severity: CVSS 严重程度级别
- published_date: 发布日期
- last_modified: 最后修改日期
### KEV 表
- cve_id: CVE 标识符(主键)
- vendor: 供应商名称
- product: 产品名称
- date_added: 添加到 KEV 目录的日期
- due_date: 修复截止日期
- known_ransomware: 勒索软件活动指示器
### EPSS 表
- cve_id: CVE 标识符(主键)
- epss_score: EPSS 概率分数
- percentile: EPSS 百分位数
- date: 评分日期
### Forecasts 表
- forecast_id: 唯一标识符
- cve_id: CVE 标识符
- probability: 被利用概率
- time_horizon: 预期被利用的天数
- risk_score: 总体风险评分
- risk_level: CRITICAL/HIGH/MEDIUM/LOW
- key_drivers: 驱动因素组成的 JSON 数组
## 风险评分方法论
风险评分 = (KEV_权重 x KEV_状态) + (EPSS_权重 x EPSS_评分) + (CVSS_权重 x CVSS_评分) + (活跃利用_权重)
### 风险等级
- CRITICAL: 8.0 - 10.0 - 需要立即采取行动
- HIGH: 6.0 - 7.9 - 在 7 天内优先处理
- MEDIUM: 4.0 - 5.9 - 在 30 天内计划修复
- LOW: 0.0 - 3.9 - 监控变化情况
### 时间跨度
- 立即:7 天
- 短期:30 天
- 中期:90 天
- 长期:180 天
## 检测格式
### Sigma 规则示例
title: Suspicious Activity Related to CVE-2026-1234
id: a1b2c3d4
status: experimental
description: Detects potential exploitation attempts for CVE-2026-1234
author: GreyNOC Detector Engine
date: 2026-06-28
logsource:
category: process_creation
product: windows
detection:
selection:
CommandLine|contains:
- 'CVE-2026-1234'
- 'cve-2026-1234'
- 'CVE-'
condition: selection
level: critical
### YARA 规则示例
rule CVE_2026_1234 {
meta:
author = "GreyNOC Detector Engine"
date = "2026-06-28"
description = "Detects artifacts related to CVE-2026-1234"
severity = "critical"
strings:
$a1 = "CVE-2026-1234" nocase
$a2 = "cve-2026-1234" nocase
$a3 = "CVE-" nocase
condition:
any of them
}
### Splunk 查询示例
index=* sourcetype=*
| search CVE-2026-1234 OR "cve-2026-1234"
| stats count by source, host, user
| where count > 0
| table source, host, user, count
## 故障排除
### Ollama 连接失败
检查 Ollama 是否正在运行:
curl http://localhost:11434/api/tags
启动 Ollama:
ollama serve
### API 速率限制
引擎针对 API 调用实现了指数退避机制。如果遇到速率限制,请等待并重试。
### 数据缺失
强制重新接入:
python detector_engine.py --ingest
## 作者
berinabraham-sec
GitHub: https://github.com/berinabraham-sec
## 许可证
MIT License
## 参考
- CISA KEV 目录:https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- NIST NVD:https://nvd.nist.gov/
- FIRST EPSS:https://www.first.org/epss/
- Abuse.ch ThreatFox:https://threatfox.abuse.ch/
- Abuse.ch URLhaus:https://urlhaus.abuse.ch/
## 快速参考
### 核心命令
- python detector_engine.py --demo:运行演示模式
- python detector_engine.py --ingest:接入情报
- python detector_engine.py --forecast:生成预测
- python detector_engine.py --detect:生成检测
- python detector_engine.py --all:运行完整流水线
### 风险等级
- CRITICAL: 8.0+ - 立即采取行动
- HIGH: 6.0-7.9 - 7 天
- MEDIUM: 4.0-5.9 - 30 天
- LOW: 0.0-3.9 - 监控
### 检测格式
- Sigma:基于日志的检测
- YARA:基于文件的检测
- Splunk:SIEM 查询
- KQL:Kusto 查询语言
文档结束
标签:AI风险缓解, GPT, Python, 威胁情报, 安全运营, 实时处理, 密码管理, 开发者工具, 扫描框架, 无后门, 漏洞管理, 逆向工具