EFF-Monitoring(Efficient Monitoring,高效监控)是一款面向安全运营场景的告警协作与 AI 研判平台。平台围绕安全事件全生命周期,提供内容解析、资产关联、智能研判、处置流转、经验沉淀、插件接入、备份迁移与报告输出等能力,通过证据驱动的分析与协同机制,帮助安全团队快速看懂告警、定位风险、联动上下游并提升处置效率。
详细功能操作与最佳实践请查看: 操作手册.md
浏览器插件请查看: EFF-Assistant
- 统一解析:将不同设备、不同格式的原始日志转换为标准研判字段。
- 资产关联:统一化管理并关联资产、威胁情报、黑白名单、告警信息等内容。
- 协作闭环:内置监测组、研判组、处置组协作流程,支持认领、释放、强制解锁、状态流转和消息提醒。
- AI 增强:AI 中心支持威胁分析、通用问答、报告生成三类 Agent,并提供快速 / 思考两种问答复杂度;告警详情内置智能研判引擎,统一输出研判标签、结论、置信度、风险等级和证据链。
- 可追踪:每条告警都有独立
alert_hash,用于生命周期跟踪、搜索、审计和复盘。 - 可复盘:闭环告警可沉淀为 STE 经验,后续 AI 研判可检索并复用相似经验。
- 可输出:支持报告生成、消息模板、Excel 模板、CSV 模板、Webhook 和告警导出。
- 可接入插件:支持 EFF Assistant 浏览器助手通过个人 PAT 接入平台,完成设备同步、页面解析、生成工单和平台证据增强研判。
- 可迁移恢复:系统管理提供备份与还原能力,备份包携带版本和字段结构,适合升级、迁移和灾备。
- 攻防演练期间快速同步、研判和分发安全事件。
- SOC 值守人员统一处理来自态势感知、WAF、NDR、IPS 等设备的告警。
- 需要把告警与资产、负责人、区域、重要性和处置结果打通的企业安全团队。
- 需要积累可复用研判经验,并让 AI 持续吸收闭环结果的团队。
- 需要把安全告警规范化输出到群机器人、报表、CSV 或 Excel 的运营场景。
1.1、告警闭环全流程记录
1.2、关联威胁情报、资产等信息
2.1、具备规划、调用、反思等全链路思考的Agent
2.2、基于所有已知信息生成高可信的输出
3.1、可以基于所有内置变量、规则生成所需的报告
3.2、生成所需要的execl表格、效果格式
3.3、导出成高自定义的csv文件
EFF-Monitoring/
├── backend/ # 后端服务代码
│ ├── app/api # REST API 路由
│ ├── app/core # 配置与安全
│ ├── app/models # ORM 模型、数据库和启动逻辑
│ ├── app/schemas # Pydantic 请求/响应 schema
│ ├── app/services # 业务逻辑服务
│ └── app/workers # Worker 入口
├── core/ # 内容解析、IP 名单、威胁情报核心能力
├── frontend/ # React Web 客户端
├── integration/ # Webhook 集成逻辑
├── output/ # 消息与 Excel 格式化工具
├── docker/ # nginx 等容器配置
├── Dockerfile.backend # 后端镜像构建
├── Dockerfile.frontend # 前端镜像构建
├── docker-compose.yml # 一键部署容器编排
├── install.sh # GitHub Release 一键安装入口
├── deploy.sh # 使用本地离线包部署入口
├── scripts/ # 镜像打包、日志和兼容脚本
├── .env.example # 环境变量模板
└── 操作手册.md # 功能操作与最佳实践git clone --depth 1 --branch v2.2.1 https://github.com/Fausto-404/EFF-Monitoring.git && cd EFF-Monitoring && ./install.shinstall.sh 会检测 CPU 架构:ARM64 自动下载 eff-monitoring-v2.2.1-images-arm.tar,amd64/x86_64 自动下载 eff-monitoring-v2.2.1-images-amd.tar,然后导入镜像并自动生成安全密码。
脚本会在启动前检查 Docker、磁盘空间、CPU 架构和端口;默认使用 8000(API)和 8080(前端),端口被占用时会自动选择下一个可用端口,也可以手动指定:
./install.sh --api-port 8001 --web-port 8081离线镜像包需要与目标机器 CPU 架构一致。Release 中应同时上传 arm 和 amd 两个架构的镜像包。
如果已经将镜像包下载到本地:
./deploy.sh --offline /path/to/eff-monitoring-v2.2.1-images.tar该方式不会下载任何镜像,也不会执行镜像构建。
适合不想下载 600MB 以上离线镜像包、希望直接从源码构建镜像的场景。该方式需要目标机器能够访问 Docker 基础镜像和依赖包仓库。
复制环境变量模板并修改密码和密钥:
cp .env.example .env至少修改 .env 中的以下配置:
POSTGRES_PASSWORD=请替换为随机密码
DATABASE_URL=postgresql+psycopg://eff:请替换为随机密码@eff-postgres:5432/eff_monitoring
JWT_SECRET=请替换为随机密钥
INITIAL_ADMIN_PASSWORD=请替换为管理员初始密码然后启动服务:
docker compose up -d --build该方式会根据 Dockerfile.backend、Dockerfile.frontend 和 docker-compose.yml 构建 API、Worker 和前端镜像;首次使用前必须完成 .env 配置。
发布制作者可按目标机器架构制作离线包:
./scripts/export-images.sh --platform linux/amd64 --output ./eff-monitoring-v2.2.1-images-amd.tar
./scripts/export-images.sh --platform linux/arm64 --output ./eff-monitoring-v2.2.1-images-arm.tar打包脚本会在导出前校验镜像架构,普通用户不需要执行。
首次部署结束时请保存终端输出的管理员密码。密码同时保存在当前目录 .env 中。
默认访问地址(如果端口未被占用):
- 前端页面:
http://localhost:8080
- FastAPI 文档:
http://localhost:8000/docs
- 后端 API:
http://localhost:8000 - 健康检查:
http://localhost:8000/healthz
后端:
cd backend
pip install -r requirements.txt
PYTHONPATH=backend:. uvicorn app.main:app --host 127.0.0.1 --port 8000 --reload前端:
cd frontend
npm install
npm run dev默认前端开发地址通常为:http://localhost:5173
| 模块 | 主要能力 |
|---|---|
| 运营总览 | 告警总量、状态趋势、平均处置耗时、最近告警和运营统计 |
| 内容解析 | 原始日志解析、资产命中、IP 名单检测、模板输出、保存告警 |
| 告警工作台 | Hash 搜索、认领机制、状态流转、智能研判、威胁情报、资产上下文、闭环反馈、手动/自动刷新、服务端分页、CSV 导出 |
| AI 中心 | 威胁分析 / 通用问答 / 报告生成 Agent、快速 / 思考模式、Markdown 对话、会话记忆、执行链路/证据包查看、STE 经验库、AI 经验提取、AI 生成消息模板 |
| 资产中心 | 个体资产、网段资产、Excel 导入导出、资产指纹、负责人和区域维护 |
| 消息中心 | 工作流消息、未读提醒、按告警 Hash 快捷跳转 |
| 报告中心 | 报告新建、编辑、复制、导出 MD、删除,支持从模板和规则一键生成 |
| 规则中心 | 元规则、自定义规则、正则测试、设备规则适配、规则生成 |
| 模板中心 | 消息模板、Excel 模板、CSV 模板 |
| IP 名单 | 白名单、黑名单、CIDR/IP 范围检测、表格化维护、批量导入、名单导出 |
| 能力配置 | AI 模型网关、威胁情报、消息通知、浏览器插件接入的全员配置与个人配置,支持连通性测试、模型列表获取和插件 PAT 管理 |
| 系统管理 | 成员、设备、时间同步、备份与还原、审计日志、后台任务、历史导入 |
可查看告警事件数量、增长趋势、处理耗时等信息
可粘贴告警事件日志,点击解析日志进行自动解析,保存为事件工单进行流转处置
可查询、筛选已录入的安全告警事件,并进行认领、流转、指派等处置操作,并在详情处查看关联的AI研判结果、威胁情报、资产信息等。支持手动刷新和自动刷新,自动刷新频率可选 30 秒、1 分钟、3 分钟、5 分钟;列表使用服务端分页,适合较大告警量场景。
可通过对话式 AI 查询平台安全事件、进行威胁分析、通用问答和报告生成。威胁分析 Agent 会优先使用平台
5B28
警、资产、情报、相似经验等证据;通用问答 Agent 更适合普通问题;报告生成 Agent 面向总结、复盘和汇报材料生成。
可配置资产网段信息,用于自动关联安全事件的源目IP地址资产
根据事件处置动作或流程,推送对应的平台消息到具体的人员
支持灵活配置字段提取规则(正则表达式),支持规则生成器功能
:支持拖拽规则字段拼接消息模板、Execl模版、Csv模版
支持对 IP 地址进行黑白名单的快速匹配。名单按单条记录维护,支持单 IP、CIDR 和 IP 范围规则;批量导入会保留 CIDR/范围为规则条目,不会拆分为单 IP。
适配常见大模型 API、威胁情报和消息通知,支持个人配置覆盖全员配置。并支持浏览器插件PAT接入。
支持成员、设备、时间同步、备份与还原、任务记录和审计日志管理。成员角色支持多选,方便同一人员同时承担研判与处置职责;备份文件可用于版本升级、迁移和灾备。
平台内置五类角色:
admin管理员:拥有系统管理、强制解锁、重新指派、删除、全员配置等权限。monitor监测组:负责同步告警。analyst研判组:负责研判中告警的认领、误报/忽略闭环或转处置。disposer处置组:负责处置中告警的认领、退回研判、纠正误报、忽略或已处置闭环。viewer只读人员:只读查看平台数据,不能执行写操作。
详细权限矩阵见:操作手册.md#权限矩阵
- 后端:FastAPI + SQLAlchemy + Pydantic
- 前端:React + TypeScript + Ant Design + Vite
- 数据库:Docker Compose 默认 PostgreSQL,本地开发可使用 SQLite
- Excel:openpyxl
- AI:OpenAI 协议适配、DeepSeek、通义千问、智谱 AI、月之暗面、Anthropic 协议适配、Google Gemini、Ollama
- Agent:LangGraph
- 集成:威胁情报、Webhook、CSV / Excel 导出
默认打包配置为 ENABLE_DEMO_DATA=false,首次启动只初始化系统默认规则、内置模板和管理员账号,不自动写入演示告警、演示资产和演示用户。
如需快速验证平台能力,可在 .env 中设置:
ENABLE_DEMO_DATA=true开启后,系统会自动初始化一组演示数据,便于快速验证功能:
- 演示用户:
demo_analyst / demo_viewer等,密码通过DEMO_USER_PASSWORD环境变量配置(默认demo123456) - 演示设备:WAF、NDR、态势感知
- 演示资产:门户、交易 API、数据库、办公终端、WebLogic 业务服务器、网段资产
- 演示规则:通用规则、WAF/NDR 规则、态势感知日志解析规则
- 演示模板:态势感知研判通报、Excel 行、CSV 资产导出
- 演示告警:可验证资产命中、AI 研判、Hash 搜索、重复限制、运营总览和导出功能
演示日志中的公网 IP 使用文档保留地址段,不包含真实客户 IP。
v2.2.1
- BUG修复:修复了一些已知BUG
- 认领后自动流转:认领告警后自动弹出流转对话框。
- 资产 IP 名单展示:告警详情显示源资产和目的资产的白名单/黑名单匹配状态。
- 表格列宽调整:支持拖拽调整告警工作台列宽。
- 分页支持 1000 条/页:方便批量查看和导出告警。
- 告警数据合并:支持从 CSV 文件导入 136 条告警数据到备份内容。
- 前端查询缓存:用户、设备、模板、设置数据缓存 5 分钟。
- 告警列表翻页优化:使用 keepPreviousData保留上一页数据,避免翻页闪烁。
- 后端数据库索引:添加 5 个复合索引,覆盖 workspace_id 与状态、分组、认领人、创建时间等字段。
- 后端分页缓存:告警列表查询采用 2 秒 TTL 缓存。
- 前端虚拟滚动:支持大数据量告警渲染。
- Nginx 上传优化:上传上限调整为
500m
v2.2.0
- AI 能力重构:AI 中心拆分为威胁分析、通用问答和报告生成 Agent,并支持快速 / 思考模式。威胁分析 Agent 可回答威胁分析类问题,思考模式会主动调用平台只读工具查询告警、资产、威胁情报、经验和运营数据。
- 告警智能研判升级:告警详情 AI 研判改为结构化展示,默认展开并突出研判结论、研判标签、风险等级、置信度、证据链和分析步骤;告警工作台与插件智能研判共用平台证据增强链路。
- 浏览器插件接入:新增插件 API 与个人 PAT,支持 EFF Assistant 同步设备、解析页面、生成工单和智能研判。插件快速研判可独立运行,智能研判使用平台资产、情报、相似告警和 STE 经验增强。
- 系统配置优化:插件接入配置仅保留在个人配置中,PAT 绑定当前用户,平台记录创建人、运行状态和操作审计。
- 协作与权限增强:成员角色支持多选;告警详情重构为概览、资产与情报、AI 研判、原始证据和协作流转;插件生成告警会写入创建状态记录。
- 备份与还原:系统管理新增备份与还原,可导出当前工作区 JSON 备份,并在恢复时根据当前版本字段自动兼容。
- 任务与审计清理:任务记录和审计日志支持单条删除和批量删除。
v2.1.4
- 系统时间管理:系统管理新增“时间同步”页,可配置应用时区和 NTP 服务器列表;业务时间生成、默认今日统计、消息已读、告警认领和报表生成按应用时区执行,当前时间在页面实时跳动显示。
- 告警工作台刷新增强:新增手动刷新按钮和自动刷新开关,支持 30 秒、1 分钟、3 分钟、5 分钟刷新频率;告警列表改为服务端分页,适合每日数千告警的协作查看。
- IP 名单表格化:IP 名单从文本框改为单条记录管理,支持新增、编辑、删除、批量删除、筛选、导出和批量导入,CIDR 与范围保留为规则条目,兼容告警流转与解析命中检测。
- 消息通知增强:消息通知改为按平台选择钉钉、企业微信、飞书,并分别维护 Webhook URL、签名 Secret、企业微信 @ 成员等专属参数;发送失败会返回第三方错误详情。
- 部署兼容增强:新增
scripts/compose-up.sh,自动兼容 Docker Compose v1/v2,降低不同 Linux 环境部署差异。
v2.1.3
- 设备规则/模板导入包:系统管理的设备列表新增按设备导出、导入“规则/模板导入包”功能。导出包为 JSON,包含设备信息、该设备绑定的解析规则和模板。
v2.1.2
- 安全事件跟踪表导出增强:系统内置
安全事件跟踪表CSV 模板,支持导出告警编号、事件ID、告警设备、攻击源/目的 IP、研判结果、封禁位置、处置描述等字段。 - 设备类型与处置补充:设备支持区分监测设备/封禁设备;封禁处置可选择封禁设备,应急处置可填写非必填处置描述。
- 交付包默认无历史测试数据:默认关闭演示数据初始化,交付目录不携带当前环境 Docker 数据卷。
v2.1.1
- 配置整合:
.env作为唯一配置来源,docker-compose.yml中所有密码/secrets 统一通过${VAR}引用,修改密码只需改.env一处。新增POSTGRES_PASSWORD、DEMO_USER_PASSWORD独立变量,演示用户密码改为可配置。 - Docker 兼容性修复:
VITE_API_BASE_URL从根.env中移除(改为Dockerfile.frontend构建参数),不再注入后端容器导致 Pydanticextra_forbidden校验崩溃。docker-compose.yml兼容 Docker Compose v1(Pythondocker-compose)与 v2(Godocker compose)全版本。 - 安全加固:新增
backend/app/core/startup.py启动校验模块,检测 JWT_SECRET / INITIAL_ADMIN_PASSWORD 是否使用不安全默认值。生产环境(PostgreSQL)下使用默认密码时在日志中输出=== SECURITY WARNING ===醒目告警。 - 健康检查增强:
/healthz和/readyz端点改为实际执行SELECT 1验证数据库连通性,数据库不可达时返回degraded/not_ready状态(/readyz返回 HTTP 503)。 - 启动可靠性:后端容器新增
docker/entrypoint.sh,从DATABASE_URL解析 host:port 并轮询等待 PostgreSQL 就绪(最多 60 秒),避免数据库未就绪时容器反复重启。 - 前端错误反馈:系统管理页新增/编辑成员、设备的 mutation 增加
onError回调,API 失败时通过message.error()显示后端返回的具体错误信息。 .gitignore:新增防止.env等敏感文件被提交。
v2.1
- 新增报告中心:支持新建、编辑、复制、导出 MD 和删除报告;支持从内容解析、运营总览等模块一键生成报告并保存。
- 权限修复:修复 viewer 只读用户可绕过前端直接调用写接口(规则创建、模板创建/编辑、配置修改、Webhook 发送)的安全漏洞。











