ehansih/opencti-report-generator
GitHub: ehansih/opencti-report-generator
面向电信/ISP运营商的自动化威胁情报报告生成器,整合OpenCTI与多源外部数据,通过Claude AI生成行业定制的PDF报告。
Stars: 1 | Forks: 0
# 🛡️ OpenCTI 报告生成器
面向电信/ISP 运营商的自动化威胁情报报告生成器 — OpenCTI + Claude AI + PDF。
   
# OpenCTI 威胁情报报告生成器
面向**电信运营商和 ISP** 的自动化 PDF 威胁情报报告生成器,由 [OpenCTI](https://github.com/OpenCTI-Platform/opencti) 和 **Claude AI** 驱动。
## 概述
该系统自动从 OpenCTI 和外部源收集威胁情报,利用 Claude 生成 AI 驱动的叙述性分析,并按计划定期生成专业的 PDF 报告。专为电信安全团队设计。
```
OpenCTI GraphQL API ──┐
NVD / CISA KEV ├──► Collectors ──► AI Narratives ──► PDF Reports ──► Web Dashboard
RIPE Stat BGP Feed │ (Python) (Claude API) (ReportLab) (Flask)
URLHaus / MalwareBazaar┘
```
## 包含的报告(共 14 份)
| 报告 | 计划 | 描述 |
|--------|----------|-------------|
| 执行每周简报 | 每周 | 针对最高管理层(C-suite)的本周威胁形势摘要 |
| BGP 劫持监控 | 每日 | 路由劫持事件和 RPKI 状态 |
| 电信供应商 CVE 报告 | 每周 | Cisco、Nokia、Ericsson、Huawei、Juniper 等的关键 CVE |
| SS7/Diameter/GTP 威胁 | 每月 | 信令协议攻击和 SS7 防火墙建议 |
| APT 活动情报 | 每月 | 针对电信的国家资助 APT 组织(Salt Typhoon、Volt Typhoon 等) |
| IOC 监控列表 | 每日 | 来自 OpenCTI + URLHaus + MalwareBazaar 的最新 IOC |
| DDoS 攻击情报 | 每周 | 放大向量、体量攻击、缓解架构 |
| 用户与漫游威胁 | 每周 | SIM 卡调换欺诈、IMSI 捕获器、OTP 拦截 |
| 5G 安全威胁 | 每月 | SBA API 滥用、O-RAN 风险、网络切片隔离 |
| 电信欺诈情报 | 每周 | IRSF、SIM 卡调换、Wangiri、PBX 黑客攻击、旁路欺诈 |
| 暗网监控 | 每周 | 威胁行为者活动、凭证泄露、访问中介列表 |
| 供应链安全 | 每月 | 供应商风险(Huawei、ZTE 等)、SBOM、固件完整性 |
| 监管合规 | 每月 | GSMA FS.11/19/20/40、NIS2、GDPR、FCC CSRIC、ENISA |
| 月度执行威胁概况 | 每月 | 面向董事会的月度威胁概述及投资重点 |
## 架构
```
opencti-report-generator/
├── collectors/
│ ├── opencti_client.py # GraphQL client for OpenCTI
│ └── external_feeds.py # BGP, CVE, DDoS, SS7, URLHaus, MalwareBazaar
├── ai/
│ └── narrative_generator.py # Claude AI narrative generation
├── formatters/
│ └── pdf_formatter.py # ReportLab PDF formatter (branded)
├── generators/
│ ├── base_generator.py # Abstract base class
│ ├── executive_briefing.py
│ ├── bgp_hijacking.py
│ ├── cve_report.py
│ ├── ss7_report.py
│ ├── apt_report.py
│ ├── ioc_watchlist.py
│ ├── ddos_report.py
│ ├── subscriber_report.py
│ ├── fiveg_report.py
│ ├── fraud_report.py
│ ├── dark_web_report.py
│ ├── supply_chain_report.py
│ ├── compliance_report.py
│ └── executive_profile.py
├── scheduler/
│ └── scheduler.py # APScheduler (daily/weekly/monthly)
├── web/
│ ├── app.py # Flask dashboard
│ └── templates/index.html # Dark-themed report UI
├── reports/ # Generated PDFs stored here
├── test_dry_run.py # 45/45 dry run tests (no real API)
├── requirements.txt
└── .env.example
```
## 快速开始
### 1. 安装依赖
```
pip install -r requirements.txt
```
### 2. 配置环境
```
cp .env.example .env
# 编辑 .env 并填入您的凭据:
# - OPENCTI_URL (例如, http://localhost:8080)
# - OPENCTI_TOKEN (您的 OpenCTI API token)
# - ANTHROPIC_API_KEY (用于 AI narratives)
```
### 3. 运行空转测试(无需 API)
```
python3 test_dry_run.py
```
输出:
```
============================================================
Results: 45/45 tests passed
All tests passed!
============================================================
```
### 4. 立即生成所有报告
```
python3 scheduler/scheduler.py --run-now
```
### 5. 启动 Web Dashboard
```
python3 web/app.py
# 打开 http://localhost:5050
```
### 6. 启动调度器
```
python3 scheduler/scheduler.py
```
或通过 Web Dashboard —— 点击 **Start Scheduler**。
## Web Dashboard
Flask Dashboard 运行在 `http://localhost:5050` 并提供:
- **报告生成器面板** —— 点击即可按需生成任何报告
- **调度器控制** —— 启动/停止自动计划
- **已生成报告列表** —— 直接下载 PDF
- **实时任务状态** —— 下次计划运行时间
## 报告计划
| 频率 | 报告 | 时间 (UTC) |
|-----------|---------|------------|
| 每日 | BGP 劫持、IOC 监控列表 | 06:00 |
| 每周(周一)| 执行简报、CVE、DDoS、用户、欺诈、暗网 | 07:00 |
| 每月(1 号)| SS7、APT、5G、供应链、合规、执行概况 | 08:00 |
## 外部数据源
| 来源 | 数据 | URL |
|--------|------|-----|
| OpenCTI | IOC、威胁行为者、恶意软件、活动 | 您的实例 |
| NVD (NIST) | 电信供应商的 CVE | nvd.nist.gov |
| CISA KEV | 已知被利用的漏洞 | cisa.gov |
| RIPE Stat | BGP 路由异常 | stat.ripe.net |
| URLHaus | 恶意 URL | abuse.ch |
| MalwareBazaar | 恶意软件样本 | abuse.ch |
## 电信专用威胁覆盖
- **BGP 劫持** —— 前缀/子前缀劫持、路由泄露、BGPsec
- **SS7/Diameter** —— 位置跟踪、通话拦截、OTP 劫持、GTP 隧道
- **APT 组织** —— Salt Typhoon、Volt Typhoon、APT28、Sandworm、Lazarus、LightBasin
- **5G 威胁** —— SBA API 滥用、O-RAN xApp 受损、切片隔离绕过、MEC 风险
- **电信欺诈** —— IRSF、SIM 卡调换、Wangiri、PBX 黑客攻击、旁路欺诈、闪呼
- **DDoS** —— 体量型、反射/放大、GTP 洪水、信令风暴
- **供应链** —— 供应商风险(Huawei/ZTE)、SBOM、固件完整性
- **合规** —— GSMA FS.11/19/20/40、NIS2、BEREC、FCC CSRIC、ENISA、GDPR
## AI 驱动的叙述
每份报告包含使用 **Claude claude-sonnet-4-6** 生成的 AI 分析:
- 专为最高管理层(C-suite)读者定制的执行摘要
- 面向安全工程师的技术威胁评估
- 按优先级排序的、可操作的建议
- 在 API 密钥不可用时优雅降级
## 企业 SSL (Zscaler)
如果在启用 SSL 检查的企业代理后面:
```
SSL_CERT_PATH=/path/to/combined-certs.pem
```
合并的证书应包含您的企业 CA + 系统 CA。
## 测试结果
```
test_attack_patterns (SS7Collector) ... ok
test_roaming_risks (SS7Collector) ... ok
test_connection_failure_returns_false (OpenCTIClientOffline) ... ok
test_returns_list_on_network_error (CVECollectorOffline) ... ok
test_bullet_returns_list (PDFFormatter) ... ok
test_generate_creates_pdf (PDFFormatter) ... ok
test_h1_returns_list (PDFFormatter) ... ok
test_stat_boxes_returns_element (PDFFormatter) ... ok
test_table_returns_element (PDFFormatter) ... ok
test_generates_pdf (ExecutiveBriefing) ... ok
test_generates_pdf (BGPHijacking) ... ok
test_generates_pdf (CVEReport) ... ok
test_generates_pdf (SS7Report) ... ok
test_generates_pdf (APTReport) ... ok
test_generates_pdf (IOCWatchlist) ... ok
test_generates_pdf (DDoSReport) ... ok
test_generates_pdf (SubscriberReport) ... ok
test_generates_pdf (FiveGReport) ... ok
test_generates_pdf (FraudReport) ... ok
test_generates_pdf (DarkWebReport) ... ok
test_generates_pdf (SupplyChainReport) ... ok
test_generates_pdf (ComplianceReport) ... ok
test_generates_pdf (ExecutiveProfile) ... ok
test_scheduler_has_correct_job_count (Scheduler) ... ok
...
Results: 45/45 tests passed
```
## 许可证
MIT标签:BGP劫持, CISA项目, Claude AI, DDoS情报, Diameter协议, Flask, GTP漏洞, HTTP/HTTPS抓包, IoC指标, ISP运营商, OpenCTI, PDF报告, Python, ReportLab, SS7安全, 信令安全, 大模型安全, 威胁情报, 开发者工具, 态势感知, 无后门, 智能报表, 电信安全, 网络安全, 自动化报告生成, 逆向工具, 配置审计, 隐私保护