安全圈新顶流:把情报调查做成连连看"

admin 2026-10-16 13:53:45 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

安全圈新顶流:把情报调查做成连连看

原创

大白
大白

知白守黑1024

2026年10月14日 06:19
北京

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

GitHub 上 OSINT 工具不缺,缺的是能一直用的。大多数项目停留在\"脚本集合\"的形态:一条命令吐一堆文本,关联分析全靠自己复制粘贴、开十几个标签页来回对。工具挂了、API 改了,脚本就烂在收藏夹里。

Flowsint 走的是另一条路:把调查本身搬进一张图。域名、IP、邮箱、人、组织、比特币钱包,全是节点;解析关系、注册信息、泄露记录,全是边。你往画布上放一个实体,插件自动把关联情报\"长\"在图上,越查越大,越查越深。

这个项目目前9700+ Star、1195 Fork,Apache 2.0 协议,我把它源码和文档翻了一遍,值得写一篇拆解。

项目 reconurge/flowsint
定位 可视化、可扩展的图调查平台(OSINT / 侦察)
技术栈 FastAPI + Neo4j + PostgreSQL + Redis + Celery / React 19 + Vite
协议 / 版本 Apache-2.0 / v1.2.13(持续高频更新)
数据存储 全部本地,不经过任何第三方

9.7k+

GitHub Stars

40+

情报插件

20+

实体类型

100%

本地存储

主界面:900+ 节点的调查画布,左侧实体列表、右侧节点详情与关系链

01

它解决的不是\"查数据\",是\"看关系\"

Flowsint 的核心操作只有一个循环:放一个实体进画布,右键调插件,结果自动生成新节点和新关系。一个域名解析出 IP,IP 反查出同服务的其他域名,域名再挖子域名,子域名查端口——调查像滚雪球一样在图上展开,而不用你在五个工具之间倒腾数据格式。

作者在文档里有个观点说得挺透:OSINT 工具大多是\"耗材\"——第三方服务会消失,API 会变更,脚本没人维护就作废。但分析师的需求从没变过:把数据集中起来,看清楚关系。所以 Flowsint 把自己定位成底座,情报能力全部做成即插即拔的插件,工具可以换,图不会丢。

画布里的操作密度相当高:实体支持批量选中、合并、打标签、备注;点任何一个节点,右侧直接给出属性、邻居数量和关系列表;底部内嵌终端实时滚动任务日志。这些都是调查场景里真实要用的功能,不是摆设。

02

三个概念,撑起整个使用模型

Flowsint 的使用模型就三样东西,说清楚了就能上手:

Sketch(画布)

一次调查对应一个 Sketch,实体、关系、执行日志全在里面,可导出、可分享给团队。

Enricher(情报插件)

输入一种实体类型,输出新的实体和关系。比如 domain\_to\_subdomains 吃进域名、吐出子域名,输出自动回流到图上。

Flow(自动化流水线)

把多个插件在可视化画布里拖拽连成链,保存成模板。下次右键任意同类型实体,整套流程一键执行,输出全程写日志。

画布中的实体类型图标(取自项目前端素材):人物、组织、域名、IP、钱包、凭据、泄露记录……20 多种

Flow 编排器:拖拽实体类型和插件节点,连成一条可复用的调查流水线

03

40 多个插件,覆盖 11 类情报源

插件是 Flowsint 的弹药库。官方文档登记了 40 多个,挑几个狠的:

域名子域名发现(subfinder,失败自动回落 crt.sh 证书透明度日志)、WHOIS 与历史注册记录、TLS 证书、历史解析、关联泄露情报

IP反查域名(PTR + 证书透明度双路径)、端口扫描(naabu)、ASN 归属、地理定位、欺诈评分(Scamalytics)

邮箱Have I Been Pwned 泄露查询、Hudson Rock 信息窃取木马感染设备查询、反查该邮箱注册过的域名

用户名Sherlock 和 Maigret 双引擎,跨数百个社交平台枚举同名账号,Maigret 还能拉回资料元数据

钱包ETH 交易记录图谱化、钱包间转账关系、ERC-721/1155 NFT 持仓(Etherscan)

网站爬虫提取页面中的邮箱和电话、技术栈指纹识别、广告与统计追踪脚本分析

组织按组织名反查注册域名和联系人(Whoxy)、关联 ASN,外加法国 SIRENE 工商注册库的企业与高管信息

集成N8n 连接器,调查结果可以直接挂进自动化工作流,接企业内部告警或工单系统

底层封装了大量 ProjectDiscovery 系工具(subfinder、httpx、naabu、dnsx、asnmap),全部在 Docker 容器里执行,不污染宿主机。要知道哪些插件需要 API Key,官方文档的 Enrichers Catalog 每一项都标了数据来源。

一个域名进去,43 个节点的子域名网络自动长出来,底部控制台实时输出执行日志

04

架构:模块化切得很干净

整个仓库是一个 uv 管理的 Python 多模块工作区,加上一个 React 前端,依赖关系是一条干净的单向链:

flowsint-app      前端:React 19 + Vite

|            图谱渲染 d3-force

v

flowsint-api      接口层:FastAPI

v

flowsint-core     编排:Celery + Vault

v

flowsint-enrichers  40+ 情报插件

v

flowsint-types    Pydantic 类型系统

存储是四件套:Neo4j 存图谱(带 APOC 插件)、PostgreSQL 存业务数据、Redis 做 Celery 队列和缓存、图数据库迁移独立放在 neo4j-migrations 目录。职责切分很清楚——api 不写业务,core 不管接口,插件只声明输入输出类型。

前端有几个细节能看出用心:图谱渲染宣称几千节点不卡顿,我在 900+ 节点的演示数据里拖拽确实流畅;内嵌 xterm 终端看任务日志;Monaco 编辑器改配置;MapLibre 渲染地理实体;还有接 Mistral API 的 AI 助手 Flo。工程侧用 ruff 替代了 black+isort+flake8,mypy 严格模式加 CI 卡口,代码质量在同类项目里算讲究的。

05

部署:三条命令,数据不出本机

官方镜像发布在 GitHub Container Registry,拉起来不用本地构建。Linux / macOS 有 Make:

Linux / macOS

git clone https://github.com/reconurge/flowsint.git

cd flowsint

make prod

Windows(cmd / PowerShell,不需要 Make)

copy .env.example .env

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

然后浏览器打开localhost:5173/register注册账号——默认没有任何凭据,账号体系从你自己开始。

要部署到团队服务器,先做三件事再暴露端口:

1. 生成密钥,填回 .env 对应字段

AUTH\_SECRET(令牌签名):

openssl rand -hex 32

MASTER\_VAULT\_KEY\_V1(Vault 加密):

打开 python3 交互环境,执行两行:

importos, base64

print('base64:'+ base64.b64encode(

os.urandom(32)).decode())

NEO4J\_PASSWORD 改掉默认密码

2. 服务器域名加进 nginx.conf

的 Host 白名单(防 DNS rebinding)

3. 只暴露 5173 端口,PostgreSQL、

Redis、Neo4j、API 全部绑 127.0.0.1

公网访问再套一层反代上 HTTPS,Caddy 一行配置即可:reverse\_proxy 127.0.0.1:5173。Host 白名单防 DNS rebinding 这种细节,多数同类开源工具根本不会管。

06

二次开发:写一个插件不到 30 行

这是我认为这个项目设计上最聪明的部分。写插件只需要三步:声明输入输出类型、实现 scan 方法、挂上注册装饰器。导入基类和类型定义之后,一个能跑的子域名插件核心就是这样(简化自仓库源码):

@flowsint\_enricher

classSubdomainEnricher(Enricher):

\"\"\"子域名发现插件\"\"\"

InputType = Domain# 输入类型

OutputType = Domain# 输出类型

defname(self) -> str:

return\"domain\_to\_subdomains\"

async defscan(self, data):

results = []

fordindata:

subs = self.\_run\_subfinder(

d.domain)

results.append({

\"domain\": d.domain,

\"subdomains\":

sorted(subs)})

returnresults

声明完 InputType 和 OutputType,前端的参数面板、Flow 画布里的节点、插件之间能不能连线,全部自动生成。类型系统是全局的,两个插件能否级联,看类型就行,不需要任何胶水代码。这就是把 flowsint-types 单独拆成一个模块的意义。

点选任意节点,右侧直接给出属性、邻居分布和 HAS\_SUBDOMAIN 关系列表

07

Vault:API Key 的保险柜

不少插件依赖第三方 API(HIBP、Etherscan、Whoxy 等)。Flowsint 内置了 Vault 统一收纳密钥,用 MASTER\_VAULT\_KEY 加密落库,插件按变量名(如 HIBP\_API\_KEY)取用,Key 不出现在代码和配置文件里。目前 UI 侧的密钥-插件自动匹配还在开发中,官方文档列了清单:WHOXY、PDCP、HIBP、ETHERSCAN 四个 Key 能解锁大部分核心插件。

08

适合谁用,以及必须说的红线

四类人会立刻用得上:安全研究员做攻击面梳理、红队做前期侦察资产测绘、记者和事实核查团队做线索关联、企业风控和反欺诈做对象画像。抛开使用场景,它还是个不错的学习样本——想知道一个合格的图调查平台怎么分层,这个仓库就是现成答案。

红线要说清楚:项目自带 ETHICS.md,明确禁止未授权入侵、骚扰、人肉(doxxing)和未经授权的数据收集。数据全在本地,意味着责任也全在你本地。端口扫描、批量枚举这类主动探测行为,务必确认自己有授权;插件批量跑起来量级涨得很快,别把目标服务打挂。

安全圈新顶流:把情报调查做成连连看" 网络安全文章

安全圈新顶流:把情报调查做成连连看"

本文拆解开源OSINT图调查平台Flowsint,其核心创新在于将调查过程可视化,以实体为节点、关系为边,通过40多个插件自动扩展情报网络。项目采用FastAPI+Neo4j等模块化架构,支持本地化部署与插件二次开发。文章提供了部署指南、插件开发示例及安全红线提醒,适合安全研究员、红队等场景使用。
安全意识培训专栏上线了" 网络安全文章

安全意识培训专栏上线了"

蓝星安全公众号发布安全意识培训专栏上线推广文章,汇总100多份安全培训材料,涵盖AI安全、数据安全、网络安全、个人信息保护、办公安全、病毒木马防护、钓鱼邮件防护、保密意识等主题,通过知识星球付费获取,属于软文广告推广内容。
英国推出全面人工智能安全新计划:以“前沿AI”对抗AI威胁,打造“全球最难攻击国家”" 网络安全文章

英国推出全面人工智能安全新计划:以“前沿AI”对抗AI威胁,打造“全球最难攻击国家”"

英国政府于2026年10月12日宣布全面AI安全新计划,以新防御、新能力、新主权为主线,利用前沿AI主动查找政府系统漏洞,试点已发现并处理超1000个漏洞,修复时间从50天缩短至8天;同时恢复前沿模型测试、修订网络安全法案,并推动本土技术能力建设以减少对海外技术依赖。该计划体现安全优先、能力自主思路,但成效取决于立法细节与国际合作。
【热点安全风险】10月14日|GitLab曝未认证满分代码执行漏洞,攻击者可接管代码托管平台(CVE-2026-97229)" 网络安全文章

【热点安全风险】10月14日|GitLab曝未认证满分代码执行漏洞,攻击者可接管代码托管平台(CVE-2026-97229)"

文档汇总2026年10月14日六条高危安全风险,覆盖软件交付链路、企业核心系统与网络设备。关键漏洞包括GitLab未认证代码执行、SAP云开发工具包凭据外泄、IBMi管理界面代码注入、Linksys路由器缓冲区溢出、MikroTik授权绕过及ApacheCamelKaravan路径穿越。建议优先升级交付链路组件,按官方说明为SAP与IBMi安装补丁,轮换凭据,收敛网络设备管理面并收紧账号权限。
评论:0   参与:  0