SPECIMEN 67 · FUJIKAWA LAB

Sherlock ユーザー名検索

Sherlock ユーザー名検索とは、指定したユーザー名(アカウントID)が世界中のSNSや開発者向けサービスで使われているかを一括で調べる公開情報調査(OSINT)の仕組みです。オープンソースの調査ツール「Sherlock」の判定データをもとに、日本の主要サービス(Qiita・Zenn・note・はてな・connpass)を含む主要36サイトの高速検索と、全460超サイトの詳細検索をブラウザ上で切り替えて実行できます。

入力サンプル: ※英数字・ハイフン・アンダースコア・ドット対応
調査範囲:
記号展開モード:{?} を検出しました。_(アンダースコア)、-(ハイフン)、.(ドット)の3通りの候補を自動的に順次調査します。
0 / 0
調査済み
0
登録あり(発見)
0
未登録(空き)
0
直接確認(SNS等)

Sherlock ユーザー名検索の仕組み

オープンソースの調査ツール「Sherlock」は、指定されたユーザー名が対象のWebサービスに登録されているかどうかを判定するために、主に次の3つの判定方式を組み合わせて使用しています。

1. ステータスコード判定 HTTP 200 → 登録あり HTTP 404 → 未登録(空き) 2. エラー文言判定 文言なし → 登録あり 「見つかりません」等 → 空き 3. リダイレクト判定 転送なし(200) → 登録あり 301/302転送 → 空き
判定方式(errorType) 判定の仕組み 代表的な採用サイト 特徴と考慮点
status_code サーバーが返す HTTP ステータスコードを直接確認。200 なら存在、404 なら空きと判断。 GitHub, Qiita, Zenn, note, connpass, npm, Docker Hub 最も高速かつ確実。REST 原則に従った技術系サービスに多い。
message ページ自体は HTTP 200 で返すが、本文中に「ユーザーが存在しません」等の指定文言が含まれるかを検索。 Reddit, Wikipedia, Medium, Hacker News SPA(単一ページアプリ)や独自エラー画面を返すサイトに対応可能。
response_url 存在しないユーザー名にアクセスした際にログイン画面やトップページへリダイレクトされる挙動を検知。 BOOTH, WordPress, Packagist 等 301/302 転送または転送先 URL(Location)で判別。

ウェブ版の使い方

このウェブツールは、手元の端末に環境を構築することなく、ブラウザ上から安全に Sherlock の調査ロジックを試すことができる標本ツールです。

  • 高速モード(主要約36サイト):GitHub、Qiita、Zenn、note、YouTube、Reddit など、国内外で最も利用者の多い主要サービスに絞って数秒で一括調査します。日頃のアカウント開設前の空き確認に最適です。
  • 詳細モード(全460超サイト):公式データベースと日本の主要サイトを合わせた全460超のサイトを15件ずつのバッチに分割して順次調査します。
  • {?} 記号展開機能:入力欄に taro{?}yamada のように {?} を含めると、記号の揺らぎ(taro_yamada、taro-yamada、taro.yamada)の3パターンを主要36サイト(計108件)に対してまとめて自動調査します。
  • 結果の活用:「URLコピー」で発見されたプロフィールのリンクを一括取得できるほか、「CSV保存」で各サイトの判定結果・HTTPステータス・応答時間を手元に記録できます。

クラウド環境からの自動判定の限界と注意点

Web 上で動く本ツールと、手元のパソコン(CLI)で動かす Sherlock には、ネットワーク環境の違いによるいくつかの差異が存在します。

  • 主要 SNS(X / Instagram / TikTok 等)のボット遮断:大手 SNS はクラウドサーバー(AWS、GCP、Vercel 等)の IP アドレスからのアクセスに対して Cloudflare などの高度な WAF(Web Application Firewall)を導入しており、自動判定リクエストを即座にブロックします。そのため本ツールでは、それらのサイトを「直接確認(manual)」ステータスとして扱い、外部通信を行わずにプロフィール確認リンクを案内する安全設計を採用しています。
  • 同名の別人アカウントの可能性:ユーザー名が存在したとしても、それが同一人物のアカウントであるとは限りません。一般的な単語や短い英数字の場合、まったく別の第三者が取得している可能性が高いため、必ずリンク先の内容を確認してください。
  • 悪用防止とレート制限:外部サーバーへの過度な連続リクエストを防ぐため、本ツールでは 1 回のバッチを最大 15 件に制限し、IP あたり 1 分間に最大 60 リクエストのレート制限を適用しています。

手元の Mac / PC(コマンドライン版 Sherlock)で動かす手順

すべてのサイトを自分の端末の固定回線から制限なく調査したい場合は、公式の Python コマンドラインツール「Sherlock」をローカル環境で動かすのが最も強力です。高速パッケージマネージャ uv を使うと、数行で安全に環境構築できます。

# 1. 作業用ディレクトリを作って仮想環境を作成
mkdir sherlock-search && cd sherlock-search
uv venv .venv
source .venv/bin/activate

# 2. Sherlock をインストール
uv pip install sherlock-project

# 3. ユーザー名を指定して検索を実行
sherlock TadFuji

# 4. 主要サイトのみを高速に調べる場合(タイムアウト指定)
sherlock --timeout 5 --print-found TadFuji

よくある質問(FAQ)

Q. 検索したユーザー名が外部に公開されたり記録されたりしますか?
A. 本ツールのサーバー側では、悪意ある DoS 攻撃防止のための直近 1 分間のリクエスト件数(IP アドレス)のみをインメモリで一時保持し、検索されたユーザー名の保存やログへの書き出しは一切行っていません。
Q. 日本独自のサイト(Qiita や Zenn)も調査できますか?
A. はい。本ツールでは、公式 Sherlock のデータベース(海外中心の約462件)に加え、日本の技術・クリエイターコミュニティで必須となる Qiita・Zenn・はてな・connpass を独自に追加しています。
Q. 関連する教材やツールはありますか?
A. サーバー側の安全な外部通信設計については Cloudflare & Workers 入門ガイド を、外部サービスと連携するための鍵の仕組みについては APIキーとは何か を、UI の設計については マークダウンデザインツール をご覧ください。

著者: 藤川忠彦(ふじかわ ただひろ) — 企業向けAI導入アドバイザー、神奈川県茅ヶ崎市。

左の入力枠から伸びた線が、中央の赤い虫眼鏡とグリッドを通って右の複数のサイト枠へつながる図で、ひとつのユーザー名から多数のWebサービス上の登録有無を横断検索するしくみを表した表紙画像
FUJIKAWA LAB SPECIMEN 67 / 67