razanhasbini/Automation-system
GitHub: razanhasbini/Automation-system
一套面向网络威胁情报工作流程的生产级内部平台,将暗网监控、社交媒体冒充检测、域名威胁映射、泄露数据发现和自动化报告生成整合为统一的异步管道,帮助SOC团队告别手动情报收集与报告编写的重复劳动。
Stars: 0 | Forks: 0
# CTI 自动化仪表板
一个生产级内部平台,集中并自动化完整的网络威胁情报工作流程——从暗网监控和社交媒体冒充检测,到数据泄露发现、域名威胁映射和品牌报告生成。该平台使用异步管道、结构化输出和基于角色的管理面板取代了手动 SOC 流程,同时确保在每个层级安全处理敏感的客户数据。
## 主要亮点
**暗网情报与多源抓取**
该平台将表层网络抓取、基于 Tor 的暗网查询、违规数据库查询、GitHub 密钥扫描和社交媒体冒充检测集成到一个统一的管道中。每个数据源都输入到一个自动化的风险评分系统中,该系统无需分析师干预即可生成结构化的多源情报输出。
**自动化报告引擎**
分析师上传包含扫描数据的 Excel 工作簿,智能报告引擎会处理其余工作。它摄取并规范化数据,对发现的问题进行去重,计算加权风险评分,对整体风险状况进行分类,生成图表,捕获引用 URL 和证据链接的屏幕截图,并组装成一份格式完整、带有品牌的 Word 文档,可直接交付给客户。同一引擎支持 PDF 导出。每周和定期报告遵循相同的管道,并拥有自己的模板和分发逻辑。
**端到端工作流自动化**
手动 SOC 任务已转换为通过 FastAPI 编排的后台处理管道。作业异步运行,按任务跟踪状态,并通过 SMTP 经由电子邮件发送结果。分析师从仪表板触发工作流,并在无需监控执行的情况下接收完成的输出。
## 核心模块
**域名威胁映射**
为客户品牌生成大规模域名变体,并使用并发 DNS 查询并行解析它们。标记活跃的冒充域名,对其进行风险评分,并在仪表板中连同支持证据一起展示。
**社交媒体冒充检测**
使用 Playwright 驱动的浏览器自动化在 Instagram 和 Facebook 上搜索冒充客户品牌的账户。应用模糊字符串匹配,根据目标品牌对用户名相似度进行评分,收集可疑账户的屏幕截图,并将所有内容汇编成结构化的 Excel 报告供分析师审查。
**Google Dorking 引擎**
针对公共搜索引擎和 API 运行高级搜索查询,以发现属于客户组织的暴露敏感数据、配置错误的服务、泄露的凭据以及公开索引的内部资产。
**暗网与泄露监控**
查询可通过 Tor 访问的数据源和违规数据库,以识别在泄露数据包或暗网市场中提及的客户域名、电子邮件地址和凭据。发现的问题会被评分、去重并包含在情报输出中。
**GitHub 密钥扫描**
搜索 GitHub 仓库,查找与客户组织相关的意外提交的密钥、API 密钥、内部主机名和其他敏感数据。
**威胁与漏洞情报**
聚合来自 CISA、Microsoft MSRC、Cisco、NIST NVD、Fortiguard、Oracle、VMware、Red Hat、Zero Day Initiative、Packet Storm 等机构发布的公共 RSS 源的补丁公告和威胁通知。将输出格式化为带有品牌的 HTML 摘要和结构化的 Excel 报告,并按定期计划分发给客户。
**每周报告生成**
从通过 SharePoint 同步的文件夹结构中读取扫描数据,整合已打开和已关闭的工单,并生成格式化的每周状态报告,具有一致的品牌、自动图表生成和结构化的摘要,可直接分发。
**代理链管理**
管理具有轮换、验证和健康检查功能的出站代理池。扫描模块通过代理链路由流量,以在主动侦察任务期间维护操作安全性。
## 平台功能
**集中式仪表板**
Next.js 前端为分析师和管理员提供了一个单一界面,用于触发扫描、上传数据、生成报告、查看日志以及管理客户端和用户。
**后端 API 与编排**
所有功能均通过 FastAPI 后端公开。端点涵盖报告生成、抓取作业、文件上传、用户管理、客户端配置、代理管理、电子邮件发送和系统日志。长时间运行的任务在具有状态跟踪的后台工作线程中执行。
**认证与授权**
使用 Bearer token 的基于会话的身份验证。密码使用带 salt 的 PBKDF2 哈希存储。基于角色的访问控制将管理员权限与标准分析师权限分离。Token 过期和会话清理将自动处理。
**管理面板**
管理员可以从专用的管理界面管理用户、配置客户端、查看系统范围的分析数据、检查执行日志、管理代理池以及控制报告分发设置。
**客户端管理**
每个客户端都拥有独立的配置,涵盖其品牌关键字、Logo 资产、分配的分析师、报告模板和分发列表。报告和扫描输出按客户端划分范围。
**报告归档与文件处理**
生成的报告、图表和屏幕截图存储在文件系统中,并在数据库中建立索引。分析师可以从仪表板检索、预览和重新下载过去的输出,而无需重新运行作业。
**电子邮件分发**
完成的报告通过 SMTP 直接分发到客户分发列表。分发可按客户端配置,并且可以手动触发或作为自动化管道的一部分触发。
## 项目结构
```
automation-dashbaord/
impersonation-search/ Playwright scraper for brand impersonation on social media
report-automation/
backend/ FastAPI backend serving all platform features
main.py API entry point covering all modules and endpoints
TTI.py Threat and vulnerability intelligence aggregator
weekly.py Weekly report generation engine
reva_tickets.py Ticket consolidation and tracking
admin-panel/
report-webapp/ Next.js frontend (admin panel and analyst dashboard)
smart_report_engine/ Core document generation pipeline
excel_ingestion.py Parses and normalises uploaded workbooks
metrics_engine.py Computes risk scores and weighted metrics
section_mapping.py Maps findings to canonical report sections
report_builder.py Assembles the final branded Word document
templates/ Word document templates per report type
```
## 技术栈
| 层级 | 技术 |
|---|---|
| 后端 API | Python, FastAPI |
| 后台任务 | FastAPI BackgroundTasks, threading |
| 报告引擎 | python-docx, openpyxl, matplotlib, pandas |
| 抓取与自动化 | Playwright, Requests, BeautifulSoup, rapidfuzz |
| 暗网 | Tor (通过 Requests + SOCKS 代理) |
| 代码扫描 | GitHub API, Regex |
| 前端 | Next.js, TypeScript, Tailwind CSS |
| 认证 | Bearer token, PBKDF2, 基于角色的访问控制 |
| 数据库 | SQLite |
| 邮件 | 通过 Python smtplib 实现 SMTP |
| 网络 | 代理轮换, DNS 解析, 并发 |
## 设置
### 后端
```
cd report-automation/backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
uvicorn main:app --reload
```
### 前端
```
cd report-automation/admin-panel/report-webapp
npm install
npm run dev
```
### 环境变量
在后端目录中创建一个 `.env` 文件:
```
SMTP_HOST=
SMTP_PORT=
SMTP_USER=
SMTP_PASSWORD=
INSTAGRAM_USER=
INSTAGRAM_PASS=
FACEBOOK_USER=
FACEBOOK_PASS=
```
## 注意事项
- 会话文件 (`*_session.json`) 已从版本控制中排除。它们包含实时认证的浏览器 cookies,绝不能提交到代码仓库中。
- 社交媒体抓取工具需要经过认证的会话才能运行。在 `hunter_final.py` 中设置一次 `LOGIN_MODE = True` 以生成会话文件,然后在所有后续运行中将其设置回 `False`。
- 每周报告引擎期望获得通过 OneDrive 在本地同步的 SharePoint 文件夹结构。路径从 `USERPROFILE` 环境变量中解析。
- 所有生成的输出(包括图表、屏幕截图和报告)都会写入 `output/` 目录,这些目录已从版本控制中排除。
- 报告中用作证据的屏幕截图是在运行时使用 Playwright 捕获的,并在本地缓存以避免冗余请求。
标签:AV绕过, DNS解析, FastAPI, GitHub机密扫描, PDF导出, Python, SOC自动化, Splunk, Word导出, 代码示例, 企业安全, 品牌保护, 图表生成, 域名威胁映射, 多源情报, 威胁情报, 威胁预警汇总, 定时报告, 实时处理, 工作流引擎, 开发者工具, 开源项目, 异步任务, 数字风险保护, 数据分析, 数据泄露发现, 无后门, 暗网爬虫, 暗网监控, 泄露数据库查询, 特征检测, 社会媒体仿冒检测, 网络安全, 网络资产管理, 自动化平台, 自动化报告, 表面网络爬虫, 逆向工具, 隐私保护, 风险评分