
flowsint v1.2.12
一个用于可视化、灵活且可扩展的基于图形的调查的现代平台。适用于网络安全分析师和调查人员。
Flowsint
Flowsint 是一款开源的 OSINT 图谱探索工具,专为道德调查、透明度和验证而设计。
伦理声明: 请阅读 ETHICS.md 了解负责任的使用准则。
https://github.com/user-attachments/assets/eaabfa81-d7b3-414d-8cf7-f69b4e37bab6
https://github.com/user-attachments/assets/7457d94a-cf1d-4a97-949f-f9b1d8d92644
https://github.com/user-attachments/assets/65c3f26e-7132-4853-be45-21b8933688bd
参与贡献
Flowsint 仍处于早期开发阶段,非常需要社区的帮助!欢迎提交 issue、提出功能建议等。
快速开始
不想看文档?没问题。以下是安装说明:
Linux / macOS
1. 安装前置依赖
- Docker
- Make
2. 运行安装命令
git clone https://github.com/reconurge/flowsint.git
cd flowsint
make prod
Windows
无需 Make。在 命令提示符 (cmd) 和 PowerShell 中均可使用。
1. 安装前置依赖
- Docker Desktop(请确保在下一步之前已运行)
- Git
2. 克隆仓库并设置环境文件
git clone https://github.com/reconurge/flowsint.git
cd flowsint
copy .env.example .env
copy .env.example flowsint-api\.env
copy .env.example flowsint-core\.env
copy .env.example flowsint-app\.env
3. 启动
docker compose -f docker-compose.prod.yml up -d
这会从 GitHub Container Registry 拉取预构建镜像——无需本地构建。
首次登录
然后访问 http://localhost:5173/register 创建账户。默认情况下没有预置的凭据或账户。
✅ OSINT 调查需要高度的隐私保护。所有数据均存储在你的本机。
部署到网络(团队 / 服务器)
相同的配置可直接在服务器上使用:前端既提供 UI 界面,又在内部代理所有 API 调用,因此客户端无需额外配置。
git clone https://github.com/reconurge/flowsint.git
cd flowsint
cp .env.example .env
# 编辑 .env — 参见下方"暴露到网络前"
docker compose -f docker-compose.prod.yml up -d
网络中的任何用户都可以通过 http://<服务器IP>:5173 访问 Flowsint。
在暴露到网络之前,请修改 .env 中的默认密钥:
AUTH_SECRET— 用于签署认证令牌。生成方式:openssl rand -hex 32MASTER_VAULT_KEY_V1— 用于加密存储的 API 密钥。生成方式:python3 -c "import os, base64; print('base64:' + base64.b64encode(os.urandom(32)).decode())"NEO4J_PASSWORD— Neo4j 数据库密码。
同时将你的服务器主机名/IP 添加到 Host 头白名单,位置在 flowsint-app/nginx.conf(查找 map $http_host $is_flowsint_host)。默认白名单仅接受 localhost / 127.0.0.1 / [::1],这可以保护单用户安装免受 DNS rebinding 攻击;局域网和公网部署必须自行添加自己的主机名。同一 map 块中有两行注释掉的模板行展示了格式。
只有端口 5173 暴露到网络。PostgreSQL、Redis、Neo4j 和 API 均绑定到服务器的 127.0.0.1,只能通过前端代理访问。
如需固定到特定版本而非 latest,请在 .env 中设置 FLOWSINT_VERSION(例如 FLOWSINT_VERSION=1.2.10)。
HTTPS(建议在可信局域网之外使用): 在 5173 端口前放置任意反向代理。使用 Caddy 的示例:
flowsint.example.com {
reverse_proxy 127.0.0.1:5173
}
使用反向代理时,还需在 docker-compose.prod.yml 中将应用端口绑定到 localhost("127.0.0.1:5173:8080"),以确保客户端只能通过 HTTPS 访问。
这是什么?
Flowsint 是一款基于图谱的调查工具,专注于侦察和 OSINT(开源情报)。它允许你通过可视化图谱界面和自动化增强器探索实体之间的关系。
可用增强器
域名增强器
- 反向 DNS 解析 - 查找指向某 IP 的域名
- DNS 解析 - 将域名解析为 IP 地址
- 子域名发现 - 枚举子域名
- WHOIS 查询 - 获取域名注册信息
- 域名转网站 - 将域名转换为网站实体
- 域名转根域名 - 提取根域名
- 域名转 ASN - 查找与域名关联的 ASN
- 域名历史 - 检索历史域名数据
IP 增强器
- IP 信息 - 获取地理位置和网络详情
- IP 转 ASN - 查找 IP 对应的 ASN
ASN 增强器
- ASN 转 CIDR - 获取 ASN 的 IP 范围
CIDR 增强器
- CIDR 转 IP - 枚举范围内的 IP
社交媒体增强器
- Maigret - 跨社交平台用户名搜索
组织增强器
- 组织转 ASN - 查找组织拥有的 ASN
- 组织信息 - 获取公司详情
- 组织转域名 - 查找组织拥有的域名
加密货币增强器
- 钱包转交易 - 获取交易历史
- 钱包转 NFT - 查找钱包拥有的 NFT
网站增强器
- 网站爬虫 - 爬取并绘制网站结构
- 网站转链接 - 提取所有链接
- 网站转域名 - 从 URL 提取域名
- 网站转网络追踪器 - 识别追踪脚本
- 网站转文本 - 提取文本内容
邮箱增强器
- 邮箱转 Gravatar - 查找 Gravatar 个人资料
- 邮箱转泄露 - 检查数据泄露数据库
- 邮箱转域名 - 查找关联域名
电话增强器
- 电话转泄露 - 检查电话号码是否出现在泄露数据中
个人增强器
- 个人转组织 - 查找组织隶属关系
- 个人转域名 - 查找与个人关联的域名
集成增强器
- N8n 连接器 - 连接到 N8n 工作流
项目结构
项目由自治模块组成:
核心模块
- flowsint-core:核心工具、编排器、保险库、celery 任务和基类
- flowsint-types:Pydantic 模型和类型定义
- flowsint-enrichers:增强器模块、扫描逻辑和工具
- flowsint-api:仅包含 FastAPI 服务器、API 路由和模式
- flowsint-app:前端应用
模块依赖关系
flowsint-app (前端)
↓
flowsint-api (API 服务器)
↓
flowsint-core (编排器、任务、保险库)
↓
flowsint-enrichers (增强器和工具)
↓
flowsint-types (类型)
开发环境搭建
前置条件
- Docker
运行
Linux / macOS(需要 Make):
make dev
Windows(cmd 或 PowerShell,无需 Make — 请先创建 .env 文件,参见快速开始):
docker compose -f docker-compose.dev.yml up -d --build
docker compose -f docker-compose.dev.yml logs -f
开发
应用可通过 http://localhost:5173 访问。
模块详情
flowsint-core
所有其他模块使用的核心工具和基类:
- 数据库连接(PostgreSQL、Neo4j)
- 认证和授权
- 日志和事件处理
- 配置管理
- 增强器和工具的基类
- 工具函数
flowsint-types
所有数据类型的 Pydantic 模型:
- 域名、IP、ASN、CIDR
- 个人、组织、邮箱、电话
- 网站、社交资料、凭据
- 加密钱包、交易、NFT
- 以及更多...
flowsint-enrichers
处理数据的增强器模块:
- 域名增强器(子域名、WHOIS、解析)
- IP 增强器(地理位置、ASN 查询)
- 社交媒体增强器(Maigret、Sherlock)
- 邮箱增强器(泄露、Gravatar)
- 加密增强器(交易、NFT)
- 以及更多...
flowsint-api
提供以下功能的 FastAPI 服务器:
- REST API 端点
- 认证和用户管理
- 图谱数据库集成
- 实时事件流
flowsint-app
前端应用。
- 现代化且友好的 UI 界面
- 为性能而构建(即使数千个节点也无卡顿)
开发工作流
- 添加新类型:添加到
flowsint-types模块 - 添加新增强器:添加到
flowsint-enrichers模块 - 添加新 API 端点:添加到
flowsint-api模块 - 添加新工具:添加到
flowsint-core模块
测试
每个模块都有自己的(不完整的)测试套件:
# 测试核心模块
cd flowsint-core
uv run pytest
# 测试类型模块
cd ../flowsint-types
uv run pytest
# 测试增强器模块
cd ../flowsint-enrichers
uv run pytest
# 测试 API 模块
cd ../flowsint-api
uv run pytest
参与贡献
- 遵循模块化结构
- 使用 uv 进行依赖管理
- 为新功能编写测试
- 根据需要更新文档
- 参见 CONTRIBUTING.md 了解提交前需要运行的检查
⚖️ 法律与道德使用
伦理声明: 请阅读 ETHICS.md 了解负责任的使用准则。
Flowsint 的设计目的严格限定于合法、道德的调查和研究用途。
它的创建旨在协助:
- 网络安全研究人员和分析师
- 记者和 OSINT 调查人员
- 执法或欺诈调查团队
- 进行内部威胁情报或数字风险分析的组织
Flowsint 不得用于:
- 未经授权的入侵、监视或数据收集
- 骚扰、人肉搜索或针对个人
- 政治操纵、虚假信息或违反隐私法律
任何滥用本软件的行为均被严格禁止,并违反 ETHICS.md 中定义的道德原则。