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仪表盘, 后端开发, 多租户管理, 威胁检测, 安全合规, 安全度量, 安全态势评估, 安全报告工具, 安全运营中心, 无后门, 漏洞管理, 白标定制, 红绿灯状态, 网络代理, 网络安全, 网络映射, 脆弱性评估, 自动化安全工具, 自动化报告, 身份安全, 逆向工具, 隐私保护