用用户名在近六千个网站查找账号(Maigret)

Maigret 是一个用 Python 写的用户名排查工具,输入一个 handle,就在近六千个站点上检查它是否注册过,并把抓到的公开资料整理成 HTML、PDF、CSV 等格式的报告。这篇文章讲清它的实际运行流程、能接进哪些环节、哪些事它做不到,以及它和同类工具放在一起时的位置,帮读者判断这件事该不该换个工具来做。

Maigret 的输入只有一个用户名。不用邮箱,不用手机号,也不需要申请任何 API key。它按内置的站点规则拼出各平台的个人主页地址,逐个发请求,再根据返回内容判断账号是否存在,存在就把页面上公开的信息抓下来。

Maigret 是一个用 Python 编写的命令行工具,输入一个用户名,在约 5900 个网站上检查该账号是否存在,并抓取其中的公开资料,最终输出为报告。

默认一次搜索只覆盖流量排名靠前的 500 个站点,要扫全量得加 -a。这个默认值是权衡的结果:全量扫描耗时更长,撞上反爬和验证码的概率也更高。

Maigret 项目标识与命令行搜索结果示意

结果落到本地报告文件,HTML、PDF、CSV、XMind 都在输出格式里。也可以在本地起一个 web 界面,按关系图浏览命中结果,从同一个页面下载各种格式。

使用者集中在安全研究、渗透测试和反欺诈调查这类岗位,日常要处理大量来路不明的用户名。做自媒体核查或品牌侧的同名账号排查也能用,前提是先想清楚合规边界。

这件事以前怎么做

把同一个用户名撒到几十个平台上,常规做法有两种。一种是人工开浏览器逐个试,看个人主页能不能打开;另一种是拿搜索引擎搜用户名,指望目标站点出现在结果里。

两种做法都有短板。人工逐个试,站点一多就顾不过来,判断标准也不统一。搜索引擎能省掉一部分重复劳动,但它不保证收录小站点,同名不同人的结果也混在一起。

Maigret 要接手的就是这一步:把「某平台上有没有这个用户名」变成一次可以批量执行的检查。

换成它之后

替换后的流程压缩成四步。

  1. 准备 Python 3.10 以上的环境,执行 pip install maigret。
  2. 执行 maigret YOUR_USERNAME,把 YOUR_USERNAME 换成要查的用户名,默认覆盖流量排名前 500 的站点。
  3. 要全量扫描加 -a,按站点类别或国家收窄用 --tags。
  4. 打开生成的报告,需要图形界面就走 web 界面。

不想在本地装,还可以用社区维护的 Telegram bot,或者在 Cloud Shell 里跑,安装环节直接跳过。

覆盖范围在启动参数上就能收放。内置约 5900 个站点,默认只查最高流量的 500 个,-a 表示全查,--tags 按站点类别或国家筛。全量扫描的代价是时间,站点越多,撞上反爬和超时的机会越多。

仓库地址是 https://github.com/soxoj/maigret,采用 MIT 许可证,主要语言是 Python,占代码量的 82.8%。

递归搜索是它比单轮查询多出来的一层。第一轮抓到的资料里如果出现其他平台账号链接或可用 ID,Maigret 会顺着这些线索继续查,把一个人的多个 handle 串起来。这个能力依赖目标自己在主页上留了跳转链接,留得少,能串起来的就少。

资料提取交给 socid_extractor。它从个人主页和站点 API 里抽取账号所有者的公开信息,抽取结果里常常包含指向其他账号的链接。

报告输出支持多种格式。HTML、PDF、CSV、XMind 都能生成,web 界面里可以按关系图看命中情况,并从同一个页面下载全部格式。

反封锁和验证码处理是内置的,README 的说法是能检测并部分绕过封锁、审查和验证码。属于「部分绕过」,不保证每次都成功。

站点数据库会自动更新。每次运行都会去 GitHub 拉一次最新的站点库,刷新间隔是 24 小时;断网时回落到仓库里内置的那一份,所以离线环境也能跑,只是用的是较旧的站点清单。

Tor 和 I2P 站点在支持范围内,域名也可以检查。这类站点通常要先配好代理,没配代理时相关站点的状态会显式标成 SKIPPED。

AI 分析是可选开关 --ai,把原始命中结果交给 OpenAI 兼容的 API,生成一段简短的调查摘要。不打开这个开关,搜索过程不会调用外部 AI 服务。

它还能作为库嵌进 Python 项目,用 import maigret 的编程接口跑搜索,适合把用户名排查接进批量流程。

安装方式除 pip install maigret,仓库里还有 Dockerfile、Snap 配置、Windows 用的 Installer.bat,以及 PyInstaller 打包目录。截至 2026 年 10 月 1 日,仓库有 38177 个 star、3007 个 fork,开放 Issue 77 个。

怎么接进现有流程

输入侧就是一个或一批用户名。名单一般来自工单、举报记录、日志里的可疑 handle,整理成一行一个的文本最省事。

输出侧是本地报告文件。HTML 和 PDF 适合发给非技术同事,CSV 适合导入表格做批量分析,XMind 适合梳理账号之间的关系,web 界面适合边看边讲。

要定时跑,站点数据库本身已经按 24 小时一次的节奏自动更新,把 maigret 挂进定时任务没有额外配置门槛。请求频率和代理策略要自己把控,别把目标站点打到拉黑。

批量场景更适合走 Python 接口。把 import maigret 接进已有脚本,逐个用户名处理,报告生成逻辑也能一并复用。

它替代不了的部分

用户名一致不等于同一个人。同一个 handle 在两个平台上完全可能属于不同的人,Maigret 给出的是「这个用户名在这些站点上存在」的线索,不是身份确认结论。

目标如果换了 handle,跨平台就串不起来。递归搜索只在目标自己留下跳转链接或可复用 ID 时才起作用。

公开页面之外的信息它拿不到。邮箱、手机号、真实姓名这类不在资料页上公开的内容,不在工具的能力范围内。

站点改版会直接影响准确率。GitHub Issue 里有 TikTok 被误报为不存在的记录,也有不存在的用户名被判为有效的结果,这些报告都已标记为解决,但站点结构再改,同类问题还会再出现。

中文平台的覆盖是当前明确的短板。有一条请求支持 Bilibili、抖音、快手的 Issue 到现在仍处于待解决状态,评论 9 条、reactions 5 个。还有用户遇到过 DNS 服务器无法联系导致连接失败、扫描卡在最后两个站点不动的情况,这两条已经解决。

同类工具放在一起看

项目适合谁部署方式主要限制什么情况下选它更合适项目地址
soxoj/maigret需要在大量站点上做一轮用户名排查、并把结果整理成报告的安全研究员Python 3.10+,pip install maigret,另有 Docker、Snap 与 Windows 安装脚本中文站点覆盖不足,Bilibili、抖音、快手尚未支持;站点改版会带来误报和漏报目标站点分散,需要 PDF 或 HTML 报告交付,或要把搜索嵌进 Python 脚本soxoj/maigret
sherlock-project/sherlock只想在社交平台范围内快速拿到一份用户名注册清单的使用者未逐一核实未逐一核实,它在社交平台用户名检索这件事上与本项目重合,覆盖规模与输出形态本站未做实测只需要社交平台的用户名检索结果,不要求多格式报告和递归搜索sherlock-project/sherlock
smicallef/spiderfoot要做域名、IP、邮箱等多维度资产测绘的安全团队未逐一核实定位是自动化 OSINT 扫描与攻击面测绘,不是单一用户名检索工具调查对象是资产而不是用户名时更合适smicallef/spiderfoot

如果要处理的是抖音、B 站这类中文平台,Maigret 现在的支持还不完整,需求以国内平台为主的话,它不如换一个覆盖这些站点的方案。sherlock 在社交平台用户名检索这件事上和它重合,本站没有实测过两者的覆盖率差距。spiderfoot 面向的是资产测绘,和用户名检索不是同一件事,放在这里只作为同类选型的参照。

值不值得换

三个条件成立就值得换。第一,调查起点只有一个用户名,没有邮箱或手机号可用;第二,需要一份可以直接交付的报告,而不是只看终端输出;第三,要把搜索结果接进 Python 脚本或内部系统。

有一条不成立就不该换:目标平台以抖音、B 站、快手为主,Maigret 对这些站点的支持目前仍是待解决的 Issue。

用途上要守住边界。Maigret 采集的是公开信息,但用户名检索最终会落到具体的人身上,只可以对自己拥有或已获得明确授权的目标使用。未经授权扫描他人账号、把结果用于骚扰或人肉,在法律和平台规则上都站不住,风险由使用者承担。企业场景里,建议把使用范围和留存期限写进内部规范。

焚评:这个项目的量化评分

本项目的选题来自 焚.com(一个按公开公式给 GitHub 项目打分的站)。焚评当前总分 9.9 分(满分 10)。下表是各维度的得分:

评分维度得分
热度动量(权重 25%)10.0 / 10
开发活跃(权重 25%)10.0 / 10
社区响应(权重 15%)10.0 / 10
文档质量(权重 15%)9.8 / 10
发布节奏(权重 10%)9.0 / 10
风险控制(权重 10%)10.0 / 10

评分口径、权重与计算方式见焚.com 的评分方法页;数据随 GitHub 指标刷新,具体数值以焚.com 当前页面为准。本文正文为诀.com 独立撰写,评分数据由焚.com 授权引用。

内容核验说明

工具型选题里少见的把默认值、代价和做不到的地方写清楚了:默认只扫 500 站,-a 全量的时间与反爬成本、递归搜索依赖目标自己留了跳转链接、中文平台支持仍是待解决 Issue。适合做安全研究、反欺诈或自媒体核查,且需要可交付报告的人用来判断要不要换工具。star 数与焚评分数来自原作者和焚.com 披露,诀.com 未独立验证;

站点数、默认覆盖范围、仓库指标、MIT 许可证等来自作者与仓库公开披露,诀.com 未独立验证;与 sherlock 的覆盖率差距、报告实际效果本站未做实测;各家评分为焚.com 按其公开公式计算,数值以该站当前页面为准。

项目来源与说明

开源项目:soxoj(soxoj)

本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。

查看项目仓库