1. 项目定位与用途
Flowsint 是一个开源的 OSINT 图形调查平台,专为网络安全分析师、调查人员和情报分析人员设计。它提供可视化的图形界面,允许用户以节点和边的形式探索域名、IP 地址、组织、个人等实体之间的复杂关系。通过自动化 Enrichers,用户可以快速丰富实体信息,如 DNS 记录、WHOIS 数据、社交媒体资料、加密货币交易等。平台强调道德使用和透明度,所有数据均存储在用户本地机器,确保调查的隐私和安全。
Flowsint 是面向网络安全分析师的开源 OSINT 图形调查工具,提供可视化实体关系探索、自动化数据丰富器(Enrichers)支持域名、IP、组织等多类实体,所有数据本地存储保障隐私。本文介绍项目定位、解决的问题、适用场景、安装部署步骤及使用方式,并包含模块架构、技术栈和常见问题解答。
Flowsint 是一个开源的 OSINT 图形调查平台,专为网络安全分析师设计,通过可视化图形界面和自动化数据丰富器,帮助用户高效探索实体间复杂关系,所有数据本地存储确保隐私。
Flowsint 是一个开源的 OSINT 图形调查平台,专为网络安全分析师、调查人员和情报分析人员设计。它提供可视化的图形界面,允许用户以节点和边的形式探索域名、IP 地址、组织、个人等实体之间的复杂关系。通过自动化 Enrichers,用户可以快速丰富实体信息,如 DNS 记录、WHOIS 数据、社交媒体资料、加密货币交易等。平台强调道德使用和透明度,所有数据均存储在用户本地机器,确保调查的隐私和安全。
传统 OSINT 调查往往面临数据来源分散、信息孤岛严重、关系梳理手动化等挑战。调查人员需要在多个工具和网站间切换,难以形成全局视图。Flowsint 通过图形化交互将分散的数据点整合为可探索的关系网络,并利用自动化 Enrichers 从各种公开源获取和丰富数据,减少人工操作,提高调查的效率和准确性。同时,本地存储设计解决了云服务可能带来的隐私泄露风险。
Flowsint 适用于多种安全与情报场景:网络安全威胁分析中追踪攻击者基础设施;数字取证调查中还原事件关联;品牌监控与保护中发现仿冒网站和商标侵权;欺诈检测研究中识别可疑交易网络;以及各类开源情报收集工作,如人员背景调查、组织架构映射等。其图形化探索方式特别适合需要理清复杂实体关系的任务。
根据 README,安装 Flowsint 需要先安装 Docker 和 Make。然后克隆仓库:`git clone https://github.com/reconurge/flowsint.git`,进入目录,运行 `make prod` 启动服务。但环境变量配置需参考根目录的 `.env.example` 文件,设置如 Neo4j、PostgreSQL、Redis 的连接字符串、API URL 及认证密钥等。README 未明确给出配置步骤,仅说明运行 `make prod` 后访问 `http://localhost:5173/register` 创建账户。此外,需确保 Neo4j、PostgreSQL、Redis 服务已运行(从 .env.example 推断)。开发环境可使用 `docker-compose.dev.yml`。
用户通过 Web 界面注册登录后,可创建调查并添加实体(如域名、IP、组织等)。针对每个实体,可选择运行可用的 Enrichers 自动丰富数据,例如域名 Enrichers 可进行反向 DNS、子域名枚举、WHOIS 查询等。丰富后的数据以图形方式展示,用户可交互式探索实体间关系。前端使用 TanStack Query 管理服务器状态,从 API 获取调查列表、分析详情、草图数据等。API 层面,flowsint-api 提供 REST 接口,支持 CRUD 操作和 enricher 触发。
Flowsint 采用微服务架构,各模块通过 Poetry 工作空间管理:flowsint-core 提供核心业务逻辑和 enricher 模板解析引擎;flowsint-types 定义 Pydantic 模型;flowsint-enrichers 实现基于 YAML 模板的声明式数据丰富器,支持多步骤 HTTP 请求、响应映射、重试和密钥管理;flowsint-api 为 FastAPI 后端,集成数据库和任务队列,使用 Alembic 进行迁移;flowsint-app 为前端 Vite 应用。数据存储方面,Neo4j 用于图关系,PostgreSQL 存储用户、调查等结构化数据,Redis 用于缓存和 Celery 消息队列。部署支持 Docker 容器化,使用 Makefile 简化命令。项目强调伦理使用,提供 ETHICS.md 指南。
Flowsint 是一个开源的 OSINT 图形调查平台,专为网络安全分析师设计,提供可视化图形界面和自动化数据丰富器(Enrichers),用于探索域名、IP、组织等实体间的复杂关系,所有数据本地存储确保隐私。
安装需先准备 Docker 和 Make。克隆仓库后,在项目根目录运行 `make prod` 启动服务。同时需根据 `.env.example` 文件配置环境变量,包括数据库连接和密钥。服务启动后访问 `http://localhost:5173/register` 创建账户。注意需确保 Neo4j、PostgreSQL、Redis 服务可用(从 .env.example 推断)。
所有数据均存储在用户本地机器。图关系数据使用 Neo4j 图数据库,结构化数据(如用户、调查)存储在 PostgreSQL,Redis 用于缓存和消息队列。这种设计确保调查隐私,避免数据上传至第三方。
Flowsint 提供丰富的 Enrichers 库,包括:域名相关(反向 DNS、子域名发现、WHOIS 等)、IP 信息、ASN 查询、社交媒体用户名搜索(Maigret)、组织信息、加密货币钱包交易、网站爬取、邮箱 breach 检查、电话 breach 检查、个人关联分析等。完整列表见 README。
从代码证据看,Enrichers 基于 YAML 模板实现,模板文件位于 `flowsint-core/tests/templates/`,支持定义 HTTP 请求、响应映射、多步骤和密钥。但仓库中未明确给出用户自定义 Enrichers 的界面或文档,可能需要修改源码或配置模板文件,具体方式需参考模板示例和核心模块代码。