ehansih/opencti-report-generator

GitHub: ehansih/opencti-report-generator

面向电信/ISP运营商的自动化威胁情报报告生成器,整合OpenCTI与多源外部数据,通过Claude AI生成行业定制的PDF报告。

Stars: 1 | Forks: 0

# 🛡️ OpenCTI 报告生成器 面向电信/ISP 运营商的自动化威胁情报报告生成器 — OpenCTI + Claude AI + PDF。 ![Python](https://img.shields.io/badge/python-3.10+-blue?logo=python) ![OpenCTI](https://img.shields.io/badge/OpenCTI-threat--intel-red) ![Claude AI](https://img.shields.io/badge/Claude-AI-orange) ![Last Commit](https://img.shields.io/github/last-commit/ehansih/opencti-report-generator)
# 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安全, 信令安全, 大模型安全, 威胁情报, 开发者工具, 态势感知, 无后门, 智能报表, 电信安全, 网络安全, 自动化报告生成, 逆向工具, 配置审计, 隐私保护