SStevenB/cyberfusion-complete

GitHub: SStevenB/cyberfusion-complete

一个开源的威胁情报原型平台,通过多源安全数据标准化、关联分析和可解释评分,帮助用户理解和实践威胁优先级排序。

Stars: 0 | Forks: 0

# CyberFusion 这是我为了了解威胁情报平台实际工作原理而构建的一个副项目。它能摄入 CVE 数据、扫描结果、泄露导出数据和资产清单,进行标准化处理,运行关联规则,然后给出一个按优先级排序的待审查列表。思路是以更小规模实现类似 Tenable 或 Recorded Future 这类工具的功能,并且所有步骤都可解释,让你清楚看到某个条目为什么被标记。 前端是 React,后端是 FastAPI,底层跑着一个 Python 管道。生产环境单服务器,开发环境双服务器。 **在线演示:** https://SStevenB.github.io/cyberfusion-complete/(静态快照,实际管道数据) ![执行视图](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/58c39c9447194700.png) ## 实际功能 你上传安全证据(或连接 HaveIBeenPwned 这类 API),管道进行解析,分析层跨来源关联信号。最终输出一个按排名排列的发现列表,每项都有分数分解,显示其排名依据。严重程度、资产关键性、KEV 交叉引用(CISA 已知利用漏洞列表)、证据数量——这些都会纳入评分,并且你可以看到每项贡献了多少。 我构建这个项目是因为对可解释性感兴趣。大多数安全工具给出一个数字却没有任何依据,分析人员最终只能怀疑其准确性。而在这里,每个评分都是可重现的。 ## 截图 数据源页面——配置连接器、上传文件、查看实时 HIBP 连接器抓取真实泄露数据: ![数据源](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/0e73a2e728194709.png) 带有完整证据链和状态追踪的发现: ![发现](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/e044d3b912194717.png) 简报页面生成结构化的 CISO 风格摘要。如果你本地运行了 Ollama,它会免费使用 llama3;否则回退到基于当前发现的模板: ![简报](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/fac82a89d2194725.png)
更多截图——威胁情报、暴露面、方法论 ![威胁情报源](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/c4cae12d8e194734.png) ![暴露面](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/99ebefd51d194742.png) ![方法论](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/4bf24d140f194751.png)
## 运行方式 需要 Python 3.11+ 和 Node 22+。首次运行: ``` git clone https://github.com/SStevenB/cyberfusion-complete.git cd cyberfusion-complete python3 -m venv venv && source venv/bin/activate pip install -r requirements.txt cd frontend && unset NODE_ENV && npm install --include=dev && npm run build && cd .. ``` 然后直接运行 `./start.sh`,打开 http://localhost:8000。启动脚本会激活虚拟环境,如果端口被占用则释放端口,然后启动服务器。按 Ctrl+C 停止。 如果你希望 AI 简报真正使用 AI 而非模板回退,另开一个终端运行 `./start_ollama.sh`——它会拉取 llama3(约 4.6 GB,仅需一次)并启动一个本地 LLM 服务器。免费,离线运行。 开发模式(前端热重载)需要两个终端: ``` uvicorn api.main:app --reload --port 8000 # terminal 1 cd frontend && unset NODE_ENV && npm run dev # terminal 2 — opens :5173 with /api proxy ``` ## 项目结构 ``` api/main.py FastAPI — wraps the pipeline as REST endpoints frontend/ Vite + React SPA, served from /api/main.py in prod analysis/ normalizer, correlator (8 rules → MITRE), risk scorer, history ingestion/ parsers (nmap, vuln CSV, asset, HIBP, M365, STIX) + connectors data_collection/ NVD, CISA KEV, RSS, breach, IP reputation collectors scanning/scanner.py TCP scanner (lab/localhost only — never external) samples/ Synthetic evidence files for the demo tests/ 78 pytest tests run_pipeline.py The pipeline orchestrator build_demo.py Builds the static GitHub Pages snapshot ``` ## 数据源 所有数据均来自公共 API 或你提供的文件。运行无需付费账户,不过某些连接器在拥有可选免费密钥时能获取更丰富的数据。 | 数据源 | 提供内容 | 密钥 | |--------|----------|------| | NIST NVD | CVE 记录 | 无 | | CISA KEV | 正在被利用的 CVE 目录 | 无 | | RSS 源 | Krebs、BleepingComputer、Hacker News | 无 | | Shodan InternetDB | IP 暴露上下文 | 无(免费) | | GreyNoise | 扫描器/噪声分类 | 免费密钥 | | HaveIBeenPwned | 域名泄露历史 | 可选 | ## 连接器 在 `ingestion/connectors/` 目录下有一套连接器层,支持 Tenable、Qualys、HIBP、M365/Entra 以及 STIX/TAXII。其中**只有 HIBP 接入了真实供应商 API**——它调用免费的 `/breaches?domain=` 端点并返回真实的泄露记录(试试 `adobe.com`,你会看到 2013 年的 1.52 亿账户转储)。 其余四个在 UI 中诚实地标记为“骨架”。它们的配置界面可以工作,连接测试端点也能运行,但我没有接入它们的实时获取功能,因为这需要付费供应商账户,而我没有。对于每个数据源,CSV 上传模式作为通用回退方案完全可用。“立即同步”按钮只出现在实际实现的连接器上——我特意在 UI 中保持这种区分,而不是假装它存在。 ## 诚实地说明哪些是真实的 仪表板上有几项内容在方法论页面中明确标注,而非含糊不清: - **发现、评分、CVE、KEV 交叉引用、端口**——全部是真实的管道输出,每次运行重新生成 - **运行间趋势**——随着你多次运行管道而累积;仅运行一次时会有相应说明 - **泄露数据**——未配置 HIBP 密钥时使用合成数据(并明确标注) - **简报分发**——Slack 是真实的(设置 webhook 后使用 `notifier.py`);电子邮件和 Jira 在路线图中,并相应标注 安全工具的核心是信任,所以在作品集版本中使用虚假数字反而适得其反。 ## 伦理 扫描仅针对 localhost 或 Docker 实验室容器运行。扫描器不会接受外部目标。合成数据在代码注释和 UI 中均有标识。真实凭据永远不会存储到仓库中——连接器密钥通过 `keyring` 存入系统钥匙,在无头环境中使用 gitignored 本地文件作为回退。 ## 测试 ``` source venv/bin/activate pytest tests/ -q ``` 共 78 个测试,覆盖管道、摄入、数据源注册中心、密钥、连接器、FastAPI 端点和趋势历史。它们使用隔离的临时工作空间,不会影响你的真实状态。 ## 部署 项目包含 `Dockerfile`、`render.yaml` 和 `build.sh`,适用于 Render/Fly/Railway。详情见 [DEPLOY.md](DEPLOY.md)。简短说明:Render 读取 `render.yaml`,运行 `./build.sh`,然后启动一个同时处理 API 和已构建 React 应用的单一 uvicorn 进程。 ## 许可证 MIT
标签:AI风险缓解, AV绕过, CISO报告, CVE管理, FastAPI, GPT, HaveIBeenPwned, KEV已知利用漏洞, LLM评估, masscan, Ollama, Python, React, Syscalls, 二进制发布, 优先级排序, 大型语言模型, 威胁情报平台, 威胁情报联动, 安全发现, 开源工具, 扫描结果分析, 数据关联, 数据源管理, 无后门, 暴露面分析, 泄露数据, 漏洞管理, 网络安全, 自动简报, 证据追溯, 评分可解释性, 请求拦截, 资产清单, 资产风险管理, 逆向工具, 隐私保护, 静态快照, 风险评分, 黄金证书