Sherlock - 跨社交網路使用者名稱追蹤工具
sherlock-project/sherlock
通過使用者名稱在 400+ 社交平臺批次搜尋賬號的 OSINT 工具,支援 CSV/Excel 匯出,適用於資訊收集與品牌保護
成熟度:維護活躍,最近提交 1 天前,8.5萬+ stars 但有 299 個未解決 issues
项目体检
部署 · Docker 单容器运行(sherlock/sherlock 镜像),无需配置文件,命令行参数传递用户名即可;默认无端口暴露(CLI 工具)
成本 · 开箱即用,无需外部 API Key;可选代理参数(--proxy)支持 SOCKS5 翻墙;依赖公开网站 HTTP 响应判断账号存在性
技术 · Python 3.9+ 编写,使用 Poetry 管理依赖,核心逻辑基于 HTTP 请求库(certifi 证书验证)
许可 · MIT 协议,允许商用且无需开源衍生代码,适合集成到商业安全产品
活跃 · 最新版本 v0.16.0 发布于 2025-09,313 名贡献者参与,1 天前仍有代码提交,长期活跃
解決什麼
Sherlock 解決跨平臺使用者名稱追蹤的效率問題。傳統人工逐個網站搜尋使用者名稱耗時費力,該工具通過自動化批次查詢 400+ 社交網路(包括 GitHub、Twitter、Instagram、Reddit 等),快速定位目標使用者在不同平臺的賬號分佈。核心應用場景包括:網路安全滲透測試中的資訊收集(OSINT)、品牌方檢查商標被搶注情況、個人使用者預防身份冒用、招聘方背景調查等。
為何火
該專案在 HN 獲得 172 點討論熱度,GitHub 累積 8.5 萬+ stars,火爆原因有三:一是剛需痛點明確——使用者名稱碰撞是網際網路常態,無論品牌保護還是安全審計都需要此類工具;二是技術門檻低,Python CLI 工具開箱即用,支援 Docker/pip 多種安裝方式;三是資料覆蓋廣,維護團隊持續更新站點列表(通過 JSON 配置動態擴充套件),且開源協議友好(MIT)允許商業整合。社群爭議主要集中在倫理層面——工具可被用於人肉搜尋(doxxing),但支持者認為使用者名稱本就是公開識別符號,合法用途包括品牌搶注防禦和安全漏洞私下通報。
核心功能
- 批次查詢:單次命令可檢索多個使用者名稱(如
sherlock user1 user2),結果自動儲存為獨立文本檔案 - 多格式匯出:支援 TXT/CSV/XLSX 三種格式,便於後續資料分析或報告生成
- 定向搜尋:通過
--site引數限定特定平臺(如僅查 GitHub 和 Twitter),節省時間 - 代理支援:內建
--proxy引數支援 SOCKS5 代理,繞過地區限制或隱藏真實 IP - 模糊匹配:使用者名稱中的
{?}佔位符可自動替換為_/-/.進行變體查詢 - 瀏覽器聯動:
--browse引數可自動在預設瀏覽器開啟所有匹配結果頁面 - 自定義站點庫:通過
--json引數載入自定義或線上 JSON 配置,擴充套件支援的平臺列表
安裝
推薦三種方式:
- pipx(隔離環境):
pipx install sherlock-project,適合日常使用 - Docker:
docker run -it --rm sherlock/sherlock <使用者名稱>,無需本地 Python 環境 - 系統包管理器:Fedora 用
dnf install sherlock-project,Debian 13+/Ubuntu 22.10+ 有社群維護包(但 Ubuntu 24.04 包已知損壞,需回退到 pip 方案)
注意 Kali/BlackArch/Homebrew 的包由社群維護,非官方支援。
適合誰
- 安全研究員:滲透測試前期資訊收集,快速繪製目標數字足跡
- 品牌運營者:新品牌上線前檢查各平臺使用者名稱佔用情況,或監控仿冒賬號
- 開發者:為開源專案選擇無衝突的專案名,或聯絡 GitHub 使用者(通過找到其他平臺聯絡方式)
- 個人使用者:檢查自己常用暱稱在哪些平臺被註冊,提前佔坑防止身份盜用
不適合無技術背景的普通使用者(需命令列操作),也不適合大規模商業化爬取(可能違反平臺 ToS)。
社群評價
HN 討論呈現明顯兩極分化:正面觀點認為工具有合法用途——招聘時篩查候選人社交媒體言論、品牌方預防搶注(類比商標註冊的主動防禦)、開發者私下聯絡 GitHub 使用者報告安全漏洞(GitHub 無私信功能);負面質疑集中在倫理風險,有評論直言"除了人肉搜尋還有什麼用",另有人擔憂助長使用者名稱搶注(namesquatting)。爭議焦點在於"先發制人"的正當性——支持者認為"別人可能先搶注並勒索你"是合理防禦,反對者則質疑這種邏輯是否滑向倫理灰色地帶。技術層面,有使用者反饋 ParrotOS 和 Ubuntu 24.04 的打包版本已損壞,需改用 Docker 或 pip 安裝。
選型對比
- vs 商業 OSINT 平臺(如 Maltego):Sherlock 免費開源且專注使用者名稱查詢,但缺少關係圖譜視覺化和深度資料探勘;商業工具適合企業級調查,Sherlock 適合輕量級單點突破
- vs 手動搜尋:自動化節省 90% 時間,但可能產生誤報(平臺反爬或使用者名稱規則變化導致);手動驗證更準確但不可規模化
- vs 其他開源工具(如 Namechk):Sherlock 的站點覆蓋更廣(400+ vs 100+),且支援自定義 JSON 擴充套件;但 Namechk 有 Web 介面更友好
已知坑
- 誤報問題:部分平臺反爬機制會導致假陽性(顯示賬號存在但實際不存在),需人工複核關鍵結果
- 中國平臺缺失:預設站點庫以歐美平臺為主,微博/知乎/B站等需自行新增 JSON 配置
- 法律風險:部分國家將未經授權的批次資訊收集定性為非法,使用前需瞭解當地《網路安全法》等法規
- 依賴網路環境:牆內使用者查詢 Twitter/Instagram 等需配置代理(
--proxy socks5://127.0.0.1:1080) - 維護滯後:299 個未解決 issues 顯示部分站點 API 變更後未及時更新,可能導致查詢失敗
- 無 GUI:純命令列工具,非技術使用者上手門檻高(社群有第三方 Web 前端但非官方)
安装方式:pipx/pip/docker