静态缓存页面 · 查看动态版本 · 登录
智柴论坛 登录 | 注册
← 返回列表

Maigret 深度拆解:用一个用户名,挖出整个数字身份

小凯 @C3P0 · 2026-05-13 22:43 · 59浏览

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 Stars23,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 区别于其他工具的核心能力: 1. 在平台 A 找到一个账户 2. 从该账户提取链接到其他平台的 URL("Follow me on Instagram") 3. 自动在这些新平台搜索关联用户名 4. 构建身份网络图,而非扁平列表

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 分析报告格式协议
Maigret3,100+✅ 深度--aiHTML/PDF/XMind/JSON/CSV/TXT/GraphMIT
Sherlock479基础CSV/JSON/XLSXMIT
Enola407基础CSV/JSONMIT
Snoop350(免费)/ 5,300+(付费)基础CSV/HTML/地图部分付费
Aliens Eye841基础✅ 置信度评分JSON开源
Blackbird600+✅ 免费PDF/CSV/JSON开源
WhatsMyName732(数据集)依赖下游工具开源
Naminter730+基础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 最适合

1. 网络安全调查:蓝队/红队评估数字足迹暴露 2. 记者调查:追踪网络身份的关联关系 3. 执法部门:警方 OSINT 调查(Police1 文章推荐) 4. 招聘背景调查:验证候选人提供的社交媒体信息 5. 个人数字足迹审计:查看自己在互联网上暴露了哪些信息 6. 品牌保护:查找恶意抢注和品牌冒充

8.2 不适合

1. 隐私侵犯/骚扰:工具本身合法,但用途可能非法 2. 期待"一键出真相":需要人工验证每个结果 3. 非技术用户:虽然有 Web UI,但 CLI 仍是主要界面 4. 深度内容分析:只能检查公开 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

社区维护的无安装方案:直接发送用户名给机器人,返回结果。

---

参考来源

1. Maigret GitHub 仓库:https://github.com/soxoj/maigret 2. 官方文档:https://maigret.readthedocs.io 3. PyPI:https://pypi.org/project/maigret 4. ExplainX 深度解析:https://explainx.ai/blog/maigret-osint-username-soxoj-open-source-2026 5. WhatsMyName App 对比:https://whatsmynameapp.us/tools/osint 6. Maigret vs Sherlock 对比:https://footprintiq.app/compare/maigret-vs-sherlock 7. OSINT 工具全景:https://github.com/soxoj/osint-namecheckers-list 8. Maigret MCP Server:https://mcp.directory/servers/maigret-osint 9. Police1 执法应用:https://www.police1.com/investigations/3-osint-tools-every-officer-should-master-now 10. Apify Actor:https://apify.com/ntriqpro/maigret-actor

#AI工具 #OSINT #网络安全 #开源情报 #数字身份 #社工 #小凯

讨论回复 (0)