← 返回文章

Flowsint:可视化、可扩展的图调查与威胁情报平台

更新于

可视化、可扩展的图调查与威胁情报平台。

Flowsint 的官方界面或演示截图
封面:来源 · Apache-2.0

Flowsint 是 reconurge 维护的开源图调查平台,Apache-2.0,前端 TypeScript、后端 FastAPI,数据落在 PostgreSQL 与 Neo4j。用途是把域名、IP、ASN、邮箱、账号、组织、钱包等实体放进同一张关系图,再用一组 enricher 逐步补全线索,适合事件响应、威胁情报和公开来源调查。README 把它定位为早期项目,明确只用于合法、合乎伦理的调查。

从一张图开始

首次部署后访问 http://localhost:5173/register 注册账号,系统没有默认凭据。建立调查后,把已知实体加入图中,再运行对应 enricher:域名可以做 DNS 解析、反向解析、子域枚举、WHOIS、根域提取、ASN 归属和历史记录;IP 可以查地理位置与 ASN;ASN 能展开 CIDR,CIDR 再枚举 IP。社交方向集成 Maigret 做用户名检索,邮箱可以查 Gravatar、泄露记录和关联域名,电话可以查泄露,组织可以展开 ASN 与域名,钱包可以拉交易和 NFT。网站侧提供爬虫、链接提取、跟踪脚本识别和正文提取。结果以节点和边回到图上,调查过程和证据留在本机实例中。

部署与网络暴露

Linux/macOS 装好 Docker 与 Make 后,克隆仓库执行 make prod。Windows 需要先启动 Docker Desktop 并准备 Git,不需要 Make,复制四份 .env 后运行:

docker compose -f docker-compose.prod.yml up -d

这套 compose 只把 5173 暴露到网络,PostgreSQL、Redis、Neo4j 和 API 都绑定在 127.0.0.1,由前端反向代理转发。同一网络内的客户端直接访问 http://<服务器 IP>:5173,前端会代理所有 API 请求。给团队使用时,必须在 .env 里替换 AUTH_SECRET、MASTER_VAULT_KEY_V1 和 NEO4J_PASSWORD,并把服务器域名加入 flowsint-app/nginx.conf 的 Host 允许列表;默认只接受 localhost,这是为了防 DNS rebinding。再往外网开放时,建议在 5173 前放 Caddy 一类反向代理并启用 HTTPS,同时把应用端口改为只绑定 127.0.0.1。需要固定版本时设置 FLOWSINT_VERSION,避免 latest 镜像漂移。

代码怎么分模块

仓库按职责拆成五块:flowsint-types 放 Pydantic 类型,flowsint-enrichers 放 enricher 与扫描逻辑,flowsint-core 负责编排、凭据 vault、Celery 任务和数据库连接,flowsint-api 只放 FastAPI 路由与 schema,flowsint-app 是前端。依赖方向从上到下,新增实体类型、数据源或接口时各有对应位置,二次开发不用挤进一个单体。flowsint-api 还提供认证、图数据库集成与实时事件流。开发模式用 make dev 启动,Windows 可用 docker compose -f docker-compose.dev.yml up -d --build,各模块用 uv run pytest 单独测试;README 说明测试套件并不完整,新增功能应自己补测试。集成方向还提供 N8n 连接器,可把调查接到自有工作流。

一个典型场景

接到钓鱼域名举报后,先把域名加入图中,跑 WHOIS 与 DNS 解析,展开子域和 ASN,再跳到对应 CIDR 查看同段 IP,遇到新的域名再反向解析回去。如果页面里有邮箱,可以补查 Gravatar 与泄露记录,把关联账号挂到同一张图上。调查员在节点旁记录证据来源,把关系图留在调查里供报告引用。整个过程不自动攻击目标,只做公开信息聚合与关联分析。

与 Maltego 的取舍

Maltego 是成熟的图调查商业工具,transform 生态和报告能力更完整,很多数据源需要订阅。Flowsint 的优势是自托管、代码可改、数据留在自己的机器上;代价是项目仍处早期,各模块的测试套件不完整,enricher 覆盖面和稳定性需要自己验证。选型时先看数据能否出境、团队是否愿意维护 Neo4j 与整套容器栈,再比较具体数据源。

合法边界与限制

README 的 ETHICS.md 明确禁止未经授权的入侵、监控和数据收集,也禁止骚扰、起底和违反隐私法的用途。泄露查询、用户名检索这类 enricher 会接触第三方数据源,使用前要确认服务条款与当地法律;只对有权调查的目标和公开信息使用,并把授权范围写进调查记录,不要把调查结果用于定位或骚扰个人。按官方 README 整理,未在本机完整实测。适合有明确调查授权、愿意自托管的安全分析与 OSINT 团队;想自动化攻击或收集他人隐私的人不适合。

官方入口