FlowSint:面向网络安全分析师的可视化图调查平台
速览
FlowSint 是一个现代化的平台,旨在通过可视化、灵活且可扩展的图结构来辅助网络安全调查。它特别适用于需要深入分析复杂关联关系的网络安全分析师,帮助其更高效地进行威胁狩猎和事件调查。
AI 深度解读
这是什么
Flowsint 是一个基于 TypeScript 构建的开源 OSINT(开源情报)图探索工具,旨在为道德调查、透明度和验证提供技术支持。该项目目前由 reconurge 维护,在 GitHub 上已获得 4362+ Star,处于早期开发阶段,正积极寻求社区贡献。
Flowsint 的核心设计理念是“本地优先”与“模块化架构”。它通过可视化的图界面,帮助用户探索实体(如域名、IP、个人、组织等)之间的复杂关系,并集成了自动化的数据丰富(Enrichment)功能。所有数据均存储在用户本地机器上,强调调查过程中的高隐私保护。
解决的问题
在传统的 OSINT 调查中,分析师通常需要在多个分散的工具之间切换:使用 Whois 查询域名信息,使用 Maigret 搜索社交媒体账号,使用 GeoIP 工具定位 IP,再手动在笔记或 Excel 中整理关联关系。这种工作流存在以下痛点:
- 数据孤岛与关联断裂:不同来源的数据难以自动建立关联,导致关键线索被遗漏。
- 隐私泄露风险:使用第三方 SaaS 平台进行情报收集时,调查者的查询行为和敏感目标数据可能暴露给服务商。
- 效率低下:手动重复执行查询和整理图谱耗时费力,难以应对大规模的目标分析。
- 合规与伦理边界模糊:缺乏内置的伦理约束机制,容易导致非授权的数据收集或滥用。
Flowsint 通过构建一个统一的本地化图数据库,将分散的情报源整合为可视化的关系网络,解决了数据关联难、隐私安全性低以及工作流碎片化的问题。
核心功能
Flowsint 采用模块化架构,核心由 flowsint-core、flowsint-types、flowsint-enrichers、flowsint-api 和 flowsint-app 组成。其核心功能围绕“实体丰富(Enrichers)”和“图可视化”展开:
1. 自动化实体丰富(Enrichers)
Flowsint 提供了丰富的插件式丰富器,支持对多种实体类型进行自动化数据提取和关联:
- 域名(Domain):反向 DNS 解析、DNS 解析、子域名枚举、WHOIS 查询、域名历史数据检索、提取根域名及关联 ASN。
- IP 地址(IP):地理位置与网络详情查询、IP 关联 ASN 查找。
- ASN 与 CIDR:ASN 对应的 IP 范围(CIDRs)枚举,CIDR 范围内的 IP 地址枚举。
- 社交媒体(Social Media):集成 Maigret 和 Sherlock,通过用户名跨平台搜索社交媒体账号。
- 组织(Organization):查询公司详情、关联域名、所属 ASN。
- 加密货币(Cryptocurrency):钱包交易历史查询、钱包持有的 NFT 追踪。
- 网站(Website):网站爬虫与结构映射、链接提取、Web 追踪器(Trackers)识别、文本内容提取。
- 电子邮件(Email):Gravatar 头像查找、数据泄露数据库(Breaches)检查、关联域名查找。
- 个人(Individual):查找个人关联的组织、域名。
- 集成扩展:支持通过 N8n Connector 连接 N8n 工作流,实现更复杂的自动化编排。
2. 图数据库可视化
- 基于 Neo4j 构建底层图数据库,直观展示实体间的关系(如:域名 -> IP -> ASN -> 组织)。
- 前端应用针对性能优化,即使面对数千个节点也能保持流畅交互,无卡顿。
3. 本地化与隐私保护
- 所有数据存储于用户本地(PostgreSQL + Neo4j),无云端数据上传。
- 默认无预设账号,用户需自行注册,确保数据完全私有。
亮点 / 与同类相比
-
彻底的本地化部署(Privacy-First): 与许多依赖云端 API 的 OSINT 工具不同,Flowsint 强调“Everything is stored on your machine”。这对于处理敏感调查、保护调查者身份以及避免触发目标系统的云端 WAF 或监控至关重要。
-
高度模块化的架构设计: 项目采用清晰的微服务式模块划分:
flowsint-types: 定义 Pydantic 模型,确保数据结构标准化。flowsint-enrichers: 独立的丰富器模块,便于添加新的数据源(如新增一个 Whois API 只需在此模块添加代码)。flowsint-api: 基于 FastAPI 的后端,提供 RESTful 接口和实时事件流。flowsint-app: 高性能的前端界面。 这种设计使得开发者可以轻松扩展新功能,而无需重构核心逻辑。
-
多源数据融合能力: 不仅限于网络基础设施(IP/Domain),还深入到了社交媒体、加密货币钱包、个人身份和组织关系。这种跨维度的数据关联能力是传统单一领域工具所不具备的。
-
伦理合规内置(Ethics by Design): 项目明确区分了合法用途(网络安全研究、新闻调查、执法协助)和禁止用途(骚扰、人肉搜索、政治操纵)。
ETHICS.md文件不仅是文档,更是项目设计的核心约束,引导用户进行负责任的情报工作。 -
技术栈现代且高效: 前端使用 TypeScript,后端使用 FastAPI,任务队列使用 Celery,数据库使用 PostgreSQL 和 Neo4j。这种组合兼顾了开发效率、执行性能和图查询能力。
适合谁用 / 上手
适合人群
- 网络安全研究员与分析师:用于威胁情报收集、攻击面管理和漏洞关联分析。
- 调查记者与 OSINT 专家:用于追踪目标人物、组织及其背后的网络关系,验证信息真实性。
- 执法机构与欺诈调查团队:用于内部威胁情报分析、数字风险评估及合规调查。
- 开源贡献者:项目处于早期阶段,急需社区帮助完善测试、添加新的 Enrichers 或优化前端体验。
上手指南
Flowsint 推荐使用 Docker 和 Make 进行部署,适合熟悉命令行操作的技术用户。
-
环境准备: 确保系统已安装
Git、Docker和Make。 -
克隆与安装:
git clone https://github.com/reconurge/flowsint.git cd flowsint make prod -
启动与注册: 部署完成后,访问
http://localhost:5173/register创建管理员账户。系统默认无任何预设凭证,必须手动创建首个用户。 -
开发模式(可选): 若需参与开发或调试,可使用:
make dev应用将在
http://localhost:5173启动。 -
模块测试: 项目每个模块均有独立的测试套件,可使用
uv run pytest在对应模块目录下运行测试。
注意:请严格遵守 ETHICS.md 中的使用指南,仅将 Flowsint 用于合法、道德的调查和研究目的。
