85,681· 10,015 forks· Python· MIT开发工具

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 配置,擴充套件支援的平臺列表

安裝

推薦三種方式:

  1. pipx(隔離環境):pipx install sherlock-project,適合日常使用
  2. Docker:docker run -it --rm sherlock/sherlock <使用者名稱>,無需本地 Python 環境
  3. 系統包管理器: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 介面更友好

已知坑

  1. 誤報問題:部分平臺反爬機制會導致假陽性(顯示賬號存在但實際不存在),需人工複核關鍵結果
  2. 中國平臺缺失:預設站點庫以歐美平臺為主,微博/知乎/B站等需自行新增 JSON 配置
  3. 法律風險:部分國家將未經授權的批次資訊收集定性為非法,使用前需瞭解當地《網路安全法》等法規
  4. 依賴網路環境:牆內使用者查詢 Twitter/Instagram 等需配置代理(--proxy socks5://127.0.0.1:1080)
  5. 維護滯後:299 個未解決 issues 顯示部分站點 API 變更後未及時更新,可能導致查詢失敗
  6. 無 GUI:純命令列工具,非技術使用者上手門檻高(社群有第三方 Web 前端但非官方)

安装方式:pipx/pip/docker