title: “Sherlock — Find accounts for a username across 400+ platforms” sidebar_label: “Sherlock” description: “Find accounts for a username across 400+ platforms”
{/* 本页面由 website/scripts/generate-skill-docs.py 根据技能对应的 SKILL.md 文件自动生成。请直接编辑源文件 SKILL.md,而非此页面。 */}
Sherlock
在 400 多个平台上根据用户名查找对应账号。
技能元数据
| 来源 | 可选 —— 使用 hermes skills install official/security/sherlock 安装 |
| 路径 | optional-skills/security\sherlock |
| 版本 | 1.0.0 |
| 创建者 | unmodeled-tyler |
| 许可证 | MIT |
| 支持平台 | linux、macos、windows |
| 标签 | osint、security、username、social-media、reconnaissance |
参考:完整的 SKILL.md 文件
Sherlock OSINT 用户名搜索
利用 Sherlock Project 在 400 多个社交网络中根据用户名查找对应的社交媒体账号。
适用场景
- 用户要求查找与某个用户名关联的账号
- 用户希望查看该用户名在各个平台上的可用性
- 用户正在进行 OSINT 或侦察研究
- 用户询问“该用户名注册在何处?”或类似问题
前提条件
- 已安装 Sherlock CLI:
pipx install sherlock-project或pip install sherlock-project - 或者:具备 Docker 使用能力(
docker run -it --rm sherlock/sherlock) - 能够访问相关社交平台以发起查询
操作步骤
1. 检查是否已安装 Sherlock
在执行其他任何操作之前,请先确认 Sherlock 是否可用:
sherlock --version
如果命令执行失败:
- 建议安装:
pipx install sherlock-project(推荐)或pip install sherlock-project - 切勿尝试多种安装方式——请选择其中一种并继续操作
- 如果安装失败,需告知用户并停止执行
2. 提取用户名
如果用户在消息中明确说明了用户名,则直接从中提取。
以下情况无需使用“澄清”功能:
- “查找 nasa 的账户” → 用户名为
nasa - “搜索 johndoe123” → 用户名为
johndoe123 - “查看 alice 是否存在于社交媒体上” → 用户名为
alice - “在社交网络中查找用户 bob” → 用户名为
bob
仅在以下情况下才使用“澄清”功能:
- 提到了多个可能的用户名(如“搜索 alice 或 bob”)
- 表述含糊不清(如仅说“搜索我的用户名”但未明确具体名称)
- 完全未提及用户名(如“进行一次开源情报搜索”)
提取时需使用用户所给出的确切用户名——保留其大小写、数字、下划线等格式。
3. 构建命令
默认命令(除非用户有特殊要求,否则使用此命令):
sherlock --print-found --no-color "<username>" --timeout 90
可选参数(仅在用户明确要求时添加):
--nsfw— 包含不适宜公开的内容网站(仅应用户请求时使用)--tor— 通过 Tor 网络传输(仅当用户需要匿名时使用)
切勿通过“澄清”功能询问这些选项——直接执行默认搜索即可。如有需要,用户可自行提出特定要求。
4. 执行搜索
通过 terminal 工具来运行搜索。根据网络状况及网站数量的不同,该操作通常需要 30 至 120 秒的时间。
终端命令示例:
{
"command": "sherlock --print-found --no-color \"target_username\"",
"timeout": 180
}
5. 解析并展示结果
Sherlock会以简洁的格式输出找到的账户信息。请对输出内容进行解析,并按以下格式展示:
- 摘要行:显示“用户名‘Y’找到了X个账户”
- 分类链接:如有必要,可按平台类型(社交平台、职业平台、论坛等)对账户进行分组
- 输出文件位置:Sherlock默认会将结果保存为<用户名>.txt格式的文件
示例输出解析:
[+] Instagram: https://instagram.com/username
[+] Twitter: https://twitter.com/username
[+] GitHub: https://github.com/username
尽可能以可点击链接的形式呈现查询结果。
常见问题
未找到结果
如果 Sherlock 未检测到任何账户,这通常说明该用户名并未在所检查的平台上注册。建议采取以下措施:
- 检查拼写或变体形式
- 使用
?通配符尝试相似的用户名:sherlock "user?name" - 该用户可能设置了隐私设置或已删除账户
超时问题
部分网站响应缓慢或会阻止自动化请求。可使用 --timeout 120 增加等待时间,或通过 --site 限定搜索范围。
Tor 配置
使用 --tor 功能需先运行 Tor 守护进程。如果用户希望保持匿名性但无法使用 Tor,建议:
- 安装 Tor 服务
- 使用
--proxy指定其他代理服务器
错误检测
由于某些网站的响应结构原因,可能会始终显示“已找到”结果。应对这些异常结果进行人工核实。
速率限制
频繁的搜索可能会触发速率限制。对于批量用户名查询,可在多次调用之间添加延迟,或使用 --local 功能并利用缓存数据。
安装
pipx(推荐方式)
pipx install sherlock-project
pip
pip install sherlock-project
Docker
docker pull sherlock/sherlock
docker run -it --rm sherlock/sherlock <username>
Linux软件包
该工具可在Debian 13+、Ubuntu 22.10+、Homebrew、Kali及BlackArch系统中使用。
合规使用指南
本工具仅限用于合法的OSINT收集与研究目的。请提醒用户遵守以下规定:
- 仅搜索自己拥有权限或经许可可调查的用户名;
- 遵守相关平台的服务条款;
- 禁止将此工具用于骚扰、跟踪或任何非法活动;
- 在分享查询结果前,务必考虑其对隐私可能造成的影响。
结果验证
运行sherlock工具后,请进行以下验证:
- 查看输出内容,确认其中列出了包含网址的网站;
- 若选择文件输出模式,应能生成
<username>.txt格式的文件(为默认输出形式); - 若使用了
--print-found参数,输出结果中应仅显示表示匹配项的[+]行。
使用示例
用户提问:“能否帮我查看用户名‘johndoe123’在社交媒体上是否存在?”
智能体操作流程:
- 先执行
sherlock --version命令,确认工具已正确安装; - 由于已提供用户名,可直接开始查询;
- 运行命令:
sherlock --print-found --no-color "johndoe123" --timeout 90; - 解析输出结果并展示对应的链接。
回复格式:
已找到12个名为‘johndoe123’的账号:
• https://twitter.com/johndoe123 • https://github.com/johndoe123 • https://instagram.com/johndoe123 • [… 其他链接]
查询结果已保存至:johndoe123.txt
用户提问:“帮我搜索用户名‘alice’,同时包括不适宜公开的内容相关的网站。”
智能体操作流程:
- 确认sherlock工具已安装;
- 用户已同时提供用户名及需要搜索不适宜内容网站的标志;
- 运行命令:
sherlock --print-found --no-color --nsfw "alice" --timeout 90; - 展示查询结果。