Maigret 深度拆解:用一个用户名,挖出整个数字身份
来源:GitHub 仓库 soxoj/maigret、官方文档、OSINT 社区评测 作者:小凯 日期:2026-05-14 仓库:https://github.com/soxoj/maigret 文档:https://maigret.readthedocs.io
一句话总结
Maigret 是开源 OSINT(开源情报)工具,输入一个用户名,自动在 3,100+ 网站 上搜索关联账户,提取个人资料信息,递归追踪关联身份,最终生成可交付的调查报告。23K+ GitHub stars,被执法部门、网络安全研究员和记者广泛使用。它不是一个"黑客工具",而是一个数字身份侦查的基础设施。
一、项目定位:从 Sherlock 分支到 OSINT 旗舰
1.1 历史渊源
Maigret 最初是 Sherlock 的一个分支。Sherlock 是 OSINT 社区最经典的用户名搜索工具(479 个站点、成熟稳定),但 Maigret 在分支后迅速超越了原版:
- 站点覆盖:从 479 扩展到 3,100+(6.5 倍)
- 功能深度:从简单的"存在/不存在"检查,进化到递归身份映射
- 报告能力:从 CSV/文本导出,升级到 HTML/PDF/XMind/JSON/CSV/TXT/Graph 全格式
- AI 分析:新增
--ai模式,用 OpenAI API 生成调查摘要
1.2 核心假设
数字时代,一个人的用户名是最稳定的身份指纹:
- 很多人在不同平台复用同一个用户名
- 即使用户名不同,平台间的交叉链接(profile 里的 "Find me on Twitter")也会暴露关联
- 一个用户名 + 递归追踪 = 一个人的数字身份网络
Maigret 的出发点:自动化地、大规模地、递归地做这个追踪工作。
1.3 关键数据
| 指标 | 数值 |
|---|---|
| GitHub Stars | 23,000+ |
| 覆盖站点 | 3,100+(默认检查 top 500) |
| 开源协议 | MIT |
| 技术栈 | Python 3.10+,异步(aiohttp) |
| 站点数据库 | 自动从 GitHub 更新(24h 周期) |
| 最新版本 | v0.5.0(2025-08) |
| 维护者 | soxoj |
二、核心功能:数字身份的全链路侦查
2.1 用户名枚举(Username Enumeration)
输入一个用户名,Maigret 同时向数千个站点发送 HTTP 请求:
- 检查用户名是否被注册
- 返回 profile URL、HTTP 状态码、站点排名
- 默认只查 top 500 高流量站点(快速),
-a查全部(深度)
2.2 资料解析(Profile Parsing)
不只是"存在",还要"挖出内容":
- 通过 socid_extractor 从公开 profile 页面提取结构化信息
- 提取字段:全名、头像、简介、位置、链接到其他账户的 URL
- 支持部分绕过封锁、审查和 CAPTCHA
2.3 递归搜索(Recursive Search)
这是 Maigret 区别于其他工具的核心能力:
- 在平台 A 找到一个账户
- 从该账户提取链接到其他平台的 URL("Follow me on Instagram")
- 自动在这些新平台搜索关联用户名
- 构建身份网络图,而非扁平列表
2.4 报告生成
maigret user --html # HTML 报告
maigret user --pdf # PDF 报告
maigret user --xmind # XMind 思维导图
maigret user --json # JSON/NDJSON
maigret user --csv # CSV
maigret user --txt # 纯文本
maigret user --graph # 交互式 D3 网络图
2.5 Web UI
maigret --web 5000 # 启动本地 Web 服务
# 或
docker run -p 5000:5000 soxoj/maigret:web
打开浏览器输入用户名,查看结果图谱和下载报告。
2.6 变体生成(Permutation)
maigret "john doe" --permute
# 生成:johndoe, john_doe, j.doe, doejohn, ...
用于 typo-squat(恶意抢注相似用户名)和别名狩猎。
2.7 AI 分析模式
maigret user --ai # 需要 OPENAI_API_KEY
将原始发现转化为调查摘要,自动分析关联关系和风险信号。
三、技术架构
3.1 核心流程
输入用户名
↓
加载站点数据库(内置 + GitHub 实时更新)
↓
异步并发检查(aiohttp,数千请求并行)
↓
解析发现的 profile(socid_extractor)
↓
提取关联用户名/ID
↓
递归搜索(可选)
↓
生成报告(HTML/PDF/Graph/...)
3.2 站点数据库
{
"name": "GitHub",
"urlMain": "https://github.com",
"url": "https://github.com/{username}",
"urlProbe": "https://api.github.com/users/{username}",
"usernameClaimed": "torvalds",
"usernameUnclaimed": "noonewouldeverusethis7",
"tags": ["coding", "us"],
"alexaRank": 78,
"checkType": "status_code",
"headers": {"User-Agent": "..."}
}
- 3,100+ 条记录,按 Alexa 排名排序
- 每条记录定义:URL 模板、验证方式(status_code/content/redirect)、声称/未声称测试用户名
- 自检查机制:
--self-check验证 claimed/unclaimed 测试对是否仍然有效 - 支持按标签过滤:
--tags photo,dating(摄影/约会类平台)或--tags us(美国平台)
3.3 反检测机制
| 机制 | 说明 |
|---|---|
| 代理支持 | HTTP/SOCKS/Tor/I2P |
| 请求头 | 站点自定义 User-Agent 和 headers |
| 并发控制 | 可配置请求速率和超时 |
| 封锁检测 | 识别并部分绕过 CAPTCHA 和审查 |
| TLS 指纹 | 部分工具使用 curl_cffi 模拟浏览器 TLS |
四、竞品全景对比
4.1 用户名搜索工具矩阵
| 工具 | 覆盖站点 | 递归搜索 | 资料解析 | AI 分析 | 报告格式 | 协议 |
|---|---|---|---|---|---|---|
| Maigret | 3,100+ | ✅ | ✅ 深度 | ✅ --ai |
HTML/PDF/XMind/JSON/CSV/TXT/Graph | MIT |
| Sherlock | 479 | ❌ | 基础 | ❌ | CSV/JSON/XLSX | MIT |
| Enola | 407 | ❌ | 基础 | ❌ | CSV/JSON | MIT |
| Snoop | 350(免费)/ 5,300+(付费) | ❌ | 基础 | ❌ | CSV/HTML/地图 | 部分付费 |
| Aliens Eye | 841 | ❌ | 基础 | ✅ 置信度评分 | JSON | 开源 |
| Blackbird | 600+ | ❌ | ✅ | ✅ 免费 | PDF/CSV/JSON | 开源 |
| WhatsMyName | 732(数据集) | ❌ | ❌ | ❌ | 依赖下游工具 | 开源 |
| Naminter | 730+ | ❌ | 基础 | ❌ | PDF/CSV/JSON/HTML | 开源 |
| FootprintIQ | 商用 | ✅ | ✅ 深度 | ✅ | 专业报告 | 商用 |
4.2 核心差异分析
Maigret vs Sherlock:
- Sherlock 是"快速查询工具"——输入用户名,2 分钟出结果
- Maigret 是"调查笔记本"——递归追踪、关系映射、证据级报告
Maigret vs Snoop:
- Snoop 付费版覆盖 5,300+ 站点(数量优势)
- Maigret 递归搜索和报告生成(深度优势)
- Snoop 有 geolocation 插件和 Android/Termux 支持(移动场景)
Maigret vs Blackbird:
- Blackbird 支持 email 搜索(Maigret 不支持)
- Maigret 递归搜索更强
- Blackbird 默认包含 NSFW 站点(需注意合规)
开源 vs 商用(FootprintIQ):
- FootprintIQ 提供图像情报、监控、自动移除等高级功能
- Maigret 免费、可定制、可嵌入工作流
五、部署方式
5.1 快速安装
pip install maigret # Python 3.10+
maigret YOUR_USERNAME
5.2 Docker
docker run soxoj/maigret:latest maigret user
docker run -p 5000:5000 soxoj/maigret:web # Web UI
5.3 Python 库嵌入
import maigret
# 异步 API 直接调用
results = await maigret.search(username, sites, ...)
# 集成到更大的 OSINT 工作流
5.4 MCP Server 集成
{
"mcpServers": {
"maigret": {
"command": "docker",
"args": ["run", "-i", "--rm", "soxoj/maigret:mcp"],
"env": {
"MAIGRET_REPORTS_DIR": "/reports"
}
}
}
}
支持 Claude Desktop、Cursor、VS Code 等 MCP 客户端,自然语言触发:
"用 maigret 搜索用户名 'test_user123' 并生成 HTML 报告"
5.5 无安装方案
- Telegram Bot:社区维护的机器人(无需安装)
- Cloud Shell:直接在云环境运行
- Apify Actor:https://apify.com/ntriqpro/maigret-actor(按量计费,$0.02-0.25/次)
六、AI 私家侦探:工具背后的能力边界
6.1 它能做什么
- ✅ 找到一个用户名在 3,100+ 平台上的存在性
- ✅ 从公开 profile 提取姓名、头像、简介、位置
- ✅ 递归追踪交叉链接的身份
- ✅ 生成可用于法律/调查的报告
- ✅ 通过 AI 模式自动分析关联关系
- ✅ 在 CI/CD 或自动化工作流中嵌入
6.2 它不能做什么(关键限制)
| 限制 | 说明 |
|---|---|
| ❌ 无法访问私有账户 | 只能检查公开可见的信息 |
| ❌ 无法确认身份归属 | 同名用户名可能是不同的人 |
| ❌ 无法获取已删除账户 | 历史数据不可见 |
| ❌ 无法绕过付费墙 | 封闭网络数据 inaccessible |
| ❌ 有假阳性 | 共享用户名、机器人、同形异义字可能误导 |
| ❌ 不是法律证据 | 需要人工验证每一个结果 |
6.3 误报来源
- 共享用户名:"admin"、"test" 等常见名出现在多个平台但不属于同一人
- 机器人账户:平台自动生成同名占位账户
- 同形异义字(Homoglyphs):西里尔字母 "о" 和拉丁字母 "o" 视觉上相同但编码不同
- API 变动:平台改版后检测逻辑失效,导致 false positive/negative
七、反炒作审计
7.1 "AI 私家侦探" vs 现实
营销修辞:"AI 私家侦探"——听起来像 ChatGPT 去调查你的前任 真实情况:
- Maigret 本身是规则驱动的异步 HTTP 检查器,不是 AI
--ai模式只是在最后一步用 LLM 总结已收集的数据- 核心能力来自站点数据库的广度和维护质量,不是"AI 推理"
结论:Maigret 是工程工具,不是智能代理。它的"侦探能力"来自站点覆盖量(3,100+)和递归逻辑,不是 GPT-4 式的推理。
7.2 技术债务
- 站点数据库维护:平台改版频繁,3,100 条记录需要持续更新
- 维护者提供
--self-check自动审计 - 开源社区通过 PR 贡献新站点和修复
- 维护者提供
- CAPTCHA 和反爬:越来越多的平台部署 Cloudflare、CAPTCHA
- Maigret 的部分绕过能力有限
- 竞品 Naminter 使用 curl_cffi 模拟浏览器 TLS 指纹,在这方面更先进
- 法律合规:GDPR、CCPA 等法规限制
- README 明确声明"仅用于教育和合法目的"
- 用户需自行承担合规责任
7.3 商业化风险
维护者 soxoj 提供商业版本:
- 私有站点数据库(5,000+ 站点,每日更新)
- Username Check API(集成到产品)
- 联系:maigret@soxoj.com
这意味着:
- 开源版本可能滞后于商业版本的数据库更新
- 但核心功能(递归搜索、报告生成)仍完全免费
八、适用场景判断
8.1 最适合
- 网络安全调查:蓝队/红队评估数字足迹暴露
- 记者调查:追踪网络身份的关联关系
- 执法部门:警方 OSINT 调查(Police1 文章推荐)
- 招聘背景调查:验证候选人提供的社交媒体信息
- 个人数字足迹审计:查看自己在互联网上暴露了哪些信息
- 品牌保护:查找恶意抢注和品牌冒充
8.2 不适合
- 隐私侵犯/骚扰:工具本身合法,但用途可能非法
- 期待"一键出真相":需要人工验证每个结果
- 非技术用户:虽然有 Web UI,但 CLI 仍是主要界面
- 深度内容分析:只能检查公开 profile 元数据,不能读取帖子/私信
九、核心洞察
9.1 开源情报(OSINT)的民主化
Maigret 代表了 OSINT 工具的开源化和民主化:
- 过去:只有执法部门和大型安全公司才有能力做这种跨平台调查
- 现在:任何人
pip install maigret就能启动调查 - 双刃剑:能力下放意味着滥用风险也下放
9.2 递归身份映射的价值
Maigret 的真正差异化不是"3,100+ 站点"(Snoop 付费版更多),而是递归搜索:
- 从用户名 A → 找到平台 X 的账户 → 提取链接 → 发现用户名 B → 在更多平台搜索 B
- 这种网络效应意味着初始输入(一个用户名)的产出随递归深度指数增长
9.3 AI 只是锦上添花
--ai 模式是典型的AI 包装(AI Wrapping):
- 核心逻辑仍是 2020 年就成熟的异步 HTTP 检查
- AI 只是在最后把 JSON 结果翻译成自然语言摘要
- 这不是"AI 私家侦探",而是"私家侦探 + AI 写报告助手"
9.4 数据质量 > 算法
在 OSINT 领域,站点数据库的质量和新鲜度比算法更重要:
- 3,100 个站点中如果有 30% 检测逻辑失效,结果可信度暴跌
- Maigret 的
--self-check和社区贡献机制是保持数据质量的关键 - 商业版本的价值恰恰在于"每日更新的私有数据库"
十、生态集成与扩展
10.1 MCP Server
Maigret MCP Server 把 OSINT 能力注入 AI 工作流:
- 229,409+ 次浏览(mcp.directory)
- 支持 Cursor、Claude Desktop、VS Code
- Docker 化执行,内置安全保护
10.2 集成工作流示例
用户输入可疑用户名
↓
Maigret 枚举所有平台存在性
↓
socid_extractor 解析 profile 信息
↓
递归搜索关联用户名
↓
生成网络图(D3 graph)
↓
AI 模式总结关键发现
↓
输出结构化报告(HTML/PDF)
10.3 Telegram Bot
社区维护的无安装方案:直接发送用户名给机器人,返回结果。
参考来源
- Maigret GitHub 仓库:https://github.com/soxoj/maigret
- 官方文档:https://maigret.readthedocs.io
- PyPI:https://pypi.org/project/maigret
- ExplainX 深度解析:https://explainx.ai/blog/maigret-osint-username-soxoj-open-source-2026
- WhatsMyName App 对比:https://whatsmynameapp.us/tools/osint
- Maigret vs Sherlock 对比:https://footprintiq.app/compare/maigret-vs-sherlock
- OSINT 工具全景:https://github.com/soxoj/osint-namecheckers-list
- Maigret MCP Server:https://mcp.directory/servers/maigret-osint
- Police1 执法应用:https://www.police1.com/investigations/3-osint-tools-every-officer-should-master-now
- Apify Actor:https://apify.com/ntriqpro/maigret-actor
#AI工具 #OSINT #网络安全 #开源情报 #数字身份 #社工 #小凯
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。