nikhil-wadhwani1/Elio

GitHub: nikhil-wadhwani1/Elio

一款面向 SOC 和 MSSP 的自动化安全报告引擎,从 CrowdStrike Falcon API 提取数据并生成包含 MITRE ATT&CK 映射和态势评级的专业日报与月报。

Stars: 0 | Forks: 0

# Elio — SOC 报告引擎 **Elio** 是一款自动化的安全运营中心 (SOC) 报告工具,可连接到 **CrowdStrike Falcon** 并生成专业的、达到 CISO 级别的安全报告(每日和每月),支持 **PDF** 和 **PowerPoint (PPTX)** 两种格式。 Elio 专为 MSSP 和内部 SOC 团队构建,直接从 CrowdStrike Falcon API 提取检测数据,处理安全指标,并输出精美的报告,其中包含执行摘要、严重程度细分、MITRE ATT&CK 映射、设备清单等。 ## 功能 - **多客户端支持** — 从单一仪表板管理多个 CrowdStrike 租户 - **日报与月报** — 自动生成包含检测指标、安全态势评估和建议的报告 - **PDF 和 PPTX 输出** — 包含图表和执行摘要的、适合直接演示的报告 - **CrowdStrike Falcon 集成** — 提取 EDR、身份保护 (ITP) 和 NG-SIEM 检测数据 - **白标品牌定制** — 设置您自己的公司名称、标语和联系信息 - **Web 仪表板** — 基于 Flask 的 UI,用于生成报告、管理客户端和配置设置 - **MITRE ATT&CK 映射** — 自动关联战术/技术 - **安全态势评级** — RAG(红/黄/绿)交通灯态势指示器 - **一键式设置** — Windows 下的 `setup.bat` 可让您在几分钟内启动运行 ## 快速开始 (Windows) ### 步骤 1:安装前置条件 在 Elio 运行之前,您需要安装两项内容: #### Python 3.10+ 从 [python.org](https://www.python.org/downloads/) 下载。在安装期间,**请务必勾选“Add Python to PATH”**。 #### GTK3 Runtime(生成 PDF 所需) WeasyPrint 需要 GTK3 来渲染 PDF。请下载并安装 GTK3 运行时: 👉 **[下载适用于 Windows 的 GTK3 Runtime](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases)** ### 步骤 2:一键式设置 1. 打开 Elio 文件夹 2. **双击 `setup.bat`** 就是这样!该脚本将: - 创建一个 Python 虚拟环境 - 安装 `requirements.txt` 中的所有 45 个以上依赖项 - 创建配置文件(`.env`、`settings.json`、`clients.json`) - 验证 GTK3 是否正常工作 ### 步骤 3:配置您的 API 凭证 在任何文本编辑器中打开 `.env` 文件并添加您的 CrowdStrike API 凭证: ``` FALCON_CLIENT_ID=your_crowdstrike_client_id_here FALCON_CLIENT_SECRET=your_crowdstrike_client_secret_here FALCON_BASE_URL=https://api.us-2.crowdstrike.com ``` ### 步骤 4:启动仪表板 **双击 `start.bat`** 或手动运行: ``` venv\Scripts\activate python dashboard\app.py ``` 在浏览器中打开 **http://localhost:5000**。 ### 步骤 5:在仪表板中进行首次设置 1. 点击 **⚙ 设置** → 输入您的公司名称、标语、电子邮件、网站 → **保存** 2. 点击 **👥 客户管理** → **添加客户** → 输入您的 CrowdStrike API 详细信息 → **测试连接** → **保存** 3. 点击 **📄 生成报告** → 选择客户、日期范围、格式 → **生成!** ## 快速开始 (macOS / Linux) ``` # 安装 GTK dependencies # macOS: brew install pango gdk-pixbuf libffi # Ubuntu/Debian: sudo apt install libpango-1.0-0 libgdk-pixbuf2.0-0 libffi-dev # Setup python3 -m venv venv source venv/bin/activate pip install -r requirements.txt # Configure cp .env.example .env # Edit with your API credentials cp settings.example.json settings.json # Edit with your company info # Run python dashboard/app.py ``` ## 配置 ### CrowdStrike API 凭证 您可以通过两种方式配置 API 凭证: | 方法 | 位置 | 最适用于 | |--------|-------|----------| | `.env` 文件 | 根目录 | 单客户端设置 | | 仪表板 → 客户管理 | Web UI | 多客户端 / MSSP 设置 | CrowdStrike 控制台中的**所需 API 权限范围**: - Alerts → Read - Hosts → Read - Detections → Read - Incidents → Read ### 组织品牌化 通过 **仪表板 → 设置** 页面设置您的公司详细信息,或直接编辑 `settings.json`: ``` { "organization_name": "Your Company Name", "organization_tagline": "Your Tagline Here", "contact_email": "soc@yourcompany.com", "contact_website": "www.yourcompany.com" } ``` 这些值将显示在每个生成的报告上——页眉、页脚、封面和感谢页面。 ## 项目结构 ``` elio/ ├── setup.bat # One-click Windows setup ├── start.bat # One-click dashboard launcher ├── requirements.txt # Python dependencies (pip install -r) ├── .env.example # API credentials template ├── settings.example.json # Organization branding template │ ├── dashboard/ │ ├── app.py # Flask web dashboard │ └── templates/ │ └── index.html # Dashboard UI │ ├── collectors/ │ ├── crowdstrike.py # CrowdStrike Falcon API integration │ └── csv_importer.py # CSV data import utility │ ├── processors/ │ ├── metrics.py # Detection metrics processing │ └── analytics.py # Advanced analytics │ ├── reports/ │ ├── generator.py # PDF report generator (daily & monthly) │ ├── monthly_pptx.py # PowerPoint report generator │ ├── charts.py # Matplotlib chart generation │ ├── template.html # Daily PDF template (Jinja2) │ └── monthly_template.html # Monthly PDF template (Jinja2) │ ├── scheduler/ │ └── jobs.py # Scheduled report generation │ ├── client_manager.py # Multi-client configuration ├── config.py # Environment configuration └── main.py # CLI entry point ``` ## 生成的报告 ### 每日 SOC 报告 (PDF) - 包含 RAG 态势指示器的执行摘要 - 严重程度细分(严重 / 高 / 中 / 低) - EDR、ITP 和 NG-SIEM 模块指标 - 带有 MITRE ATT&CK 映射的热门检测项 - 日志源摄取状态 ### 每月 CISO 报告 (PDF & PPTX) - CISO 级别的执行指标(MTTD、MTTR、态势等级) - 环比趋势分析 - 告警漏斗可视化 - 带有圆环图的按严重程度划分的威胁分析 - 设备清单和传感器版本差异 - 取证深度分析档案 - 包含责任人分配的补救矩阵 - Endpoint 策略收敛情况 - 战略建议 ## 依赖项 所有 Python 依赖项均列于 `requirements.txt` 中,并由 `setup.bat` 自动安装。主要软件包包括: | 软件包 | 用途 | |---------|---------| | `flask` | Web 仪表板 | | `crowdstrike-falconpy` | CrowdStrike Falcon API 客户端 | | `weasyprint` | PDF 生成(需要 GTK3 运行时) | | `python-pptx` | PowerPoint 生成 | | `matplotlib` / `seaborn` | 图表生成 | | `jinja2` | HTML 模板渲染 | | `python-dotenv` | 环境变量加载 | | `pandas` | 数据处理 | ## 故障排除 ### "No module named 'weasyprint'" 或 PDF 生成失败 → 未安装 GTK3 Runtime。请从[此处](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases)下载并安装,然后重启您的终端。 ### "未找到 CrowdStrike API credentials" → 请使用您的 API 凭证编辑 `.env` 文件,或通过仪表板添加客户端。 ### 仪表板无法启动 → 确保您先运行了 `setup.bat`,或者手动激活 venv:`venv\Scripts\activate` ### 图表显示为空 → 请确保您的 CrowdStrike API 凭证具有正确的权限范围(Alerts、Hosts、Detections、Incidents —— 全部为 Read)。 ## 许可证 本项目根据 MIT 许可证授权 — 有关详细信息,请参见 [LICENSE](LICENSE)。 *由 Elio 制作*
标签:AMSI绕过, CISO, CISO仪表盘, CISO级报告, Cloudflare, CrowdStrike Falcon, EDR, Flask, GPT, GTK3, MITRE ATT&CK, MSSP, PDF报告生成, PPTX, Python, WeasyPrint, Web仪表盘, 后端开发, 多租户管理, 威胁检测, 安全合规, 安全度量, 安全态势评估, 安全报告工具, 安全运营中心, 无后门, 漏洞管理, 白标定制, 红绿灯状态, 网络代理, 网络安全, 网络映射, 脆弱性评估, 自动化安全工具, 自动化报告, 身份安全, 逆向工具, 隐私保护