ClaudeとHave I Been Pwnedを連携して自社ドメインの漏えいを確かめる
Have I Been Pwnedコネクタで自社ドメインのメールアドレスが漏えい済みか調べ、パスワード変更を求める対象を絞る情シス向けの手順です。ドメイン所有の確認、判定の目安、つまずきも扱います。
Have I Been Pwned(HIBP)コネクタをClaudeにつなぐと、自社ドメインのどのメールアドレスが過去の漏えいに含まれていたかを、会話で調べられます。結果をその場で表にして、パスワード変更を求める対象まで絞り込めます。ただし、ドメイン単位の検索はHIBP側でドメインの所有を確認してからでないと動きません。接続する前に、この条件を押さえておく必要があります。
このコネクタで何ができるか
コネクタの紹介ページでは、HIBPが提供する「Anthropic verified」のコネクタで、メールアドレスとドメインを漏えいデータと照合するものと説明されています。カテゴリはData & analytics、接続先は https://haveibeenpwned.com/mcp で、サインインが必要です。
用意されているツールは17個です。名前から用途ごとにまとめると、次のようになります。
| 用途 | ツール名 |
|---|---|
| 漏えい事件の情報 | ツール名hibp_list_breaches / hibp_get_breach / hibp_get_latest_breach / hibp_list_data_classes |
| メールアドレスの照合 | ツール名hibp_get_breached_account / hibp_get_breached_account_range / hibp_get_paste_account |
| ドメインの照合 | ツール名hibp_get_breached_domain / hibp_list_subscribed_domains / hibp_get_subscription_status |
| 情報窃取マルウェアのログ | ツール名hibp_get_stealer_logs_by_email / hibp_get_stealer_logs_by_website_domain / hibp_get_stealer_logs_by_email_domain |
| ドメインの所有確認 | ツール名hibp_generate_domain_verification_dns_token / hibp_verify_domain_verification_dns_token / hibp_send_domain_verification_email |
| パスワードの照合 | ツール名hibp_get_pwned_passwords_range |
分類はツール名に基づく整理です。各ツールの引数と戻り値はコネクタのページに載っていないため、挙動はHIBPのAPIドキュメントで同名のエンドポイントを確かめてください。
Claudeにコネクタを追加する
個人のプランなら、自分で追加できます。TeamとEnterpriseでは、先にオーナーが組織で有効にします。
コネクタの追加手順
- 1
組織で有効にする(Team・Enterpriseのみ)
オーナーまたはプライマリオーナーが、Organization settingsのConnectorsを開きます。下部の「Browse connectors」からHave I Been Pwnedを選び、「Add to your team」を押します。
- 2
ディレクトリから選ぶ
チャットの左下の「+」から「Connectors」にカーソルを合わせ、「Manage connectors」を選びます。設定のCustomize > Connectorsからも同じ画面に入れます。「+」を押してHave I Been Pwnedを探します。
- 3
接続してサインインする
「Connect」または「Install」を押し、表示される認証画面に従ってHIBP側にサインインします。許可した範囲で、ClaudeがHIBPのデータを読めるようになります。
追加後は、Customize > Connectorsで各ツールを「Always allow」「Needs approval」「Blocked」から選べます。ドメイン検索は読み取りだけなので、確認画面を挟みたいツールがあればここで調整します。
サインインで必要になるもの
コネクタの紹介ページに書かれているのは「サインイン必須」までで、方式は載っていません。HIBPのAPIドキュメントは、MCPサーバーのOAuthの詳細を別のMCP Serverドキュメントに分けています。
HIBPのダッシュボードにサインインするときは、メールで届くリンクか、登録済みのパスキーを使います。ドメインの追加と検索、APIキーや購読の購入と管理は、このダッシュボードでの作業です。ドメイン検索を使うなら、まず同じメールアドレスでダッシュボードに入り、ドメインの所有確認と購読を済ませておくと、コネクタ側の認証で迷いません。
先に決めておく条件
Claudeに頼む前に、HIBP側で3つが揃っている必要があります。
ドメイン検索の前提
ドメインの所有確認
HIBPは、プライバシー保護のため、ドメインを自分のダッシュボードに追加して管理権限を示した組織にだけ、そのドメインの検索を許しています。未確認のドメインを検索すると、HTTP 403が返ります。
APIキーと購読プラン
ドメイン検索のAPIは、HIBPのAPIキーが必要な認証付きのAPIです。情報窃取マルウェアのログを引くAPIは、Pro以上の購読が条件です。ドメインの大きさにかかわらず同じです。
Claude側の権限
TeamとEnterpriseのプランでは、オーナーまたはプライマリオーナーが組織にコネクタを有効にしないと、メンバーは使えません。有効にしても全員が自動で使えるわけではなく、各メンバーが自分でサインインします。手順は次の節にあります。
料金は変わりうるため、購読プランの金額はHIBPの料金ページで確認してください。
ドメインの所有を確認する
確認の方法は2系統あります。ダッシュボードのブラウザ操作では、DNSレコードの追加、定められた宛先へのメール、サイトへのファイル設置、トップページへのメタタグの追加から選べます。ドメインが多いなら、Pro以上でAPI経由のDNS確認かメール確認も使えます。
DNS確認の流れは3段階です。コネクタには、この3段階に対応する名前のツールがあります。
DNSで所有を確認する流れ
- 1
トークンを発行する
ドメイン固有のトークンを発行します。
hibp-verify=dweb_で始まるTXTレコードの値が返ります。 - 2
TXTレコードを設定する
DNSの管理画面で、発行された値をドメインのTXTレコードに登録します。Claudeはここを代行できません。DNSプロバイダー側の作業です。
- 3
確認を実行する
HIBPがレコードを見つけると確認が完了します。伝播に時間がかかるときは、待ってから再実行します。
レコードが引けるかは、手元で先に見られます。
dig +short TXT example.com確認が済めば、TXTレコードは消して構いません。保持し続ける必要はありません。メール確認を選ぶなら、宛先として使えるのは admin hostmaster info security webmaster の5つです。リンクをクリックして承認します。
自社ドメインの漏えいを調べる
所有確認ができたら、Claudeに次のように頼みます。例として組んだ指示の形で、出力はそのまま再現されるとは限りません。
HIBPで example.co.jp の漏えい状況を調べてください。
1. まず登録済みドメインと購読の状態を確認する
2. ドメイン検索で、漏えいに含まれるアドレスと事件名を取得する
3. 事件ごとに、公開日・漏えいした情報の種類・検証済みかを調べる
4. アドレス×事件の表にして、結果だけを返すドメイン検索が返すのは、アドレスの @ より前の部分(エイリアス)と、そのアドレスが含まれる事件の名前の一覧です。たとえば example.com で alias2 がAdobe・Gawker・Stratforに含まれていれば、alias2@example.com が3件の事件に含まれることを意味します。事件名だけが返るので、公開日や漏えいした情報の種類は、事件の詳細を引いて補います。手順3がその部分です。
漏えいが1件もないドメインは、HTTP 404が返ります。エラーではなく、該当なしの応答です。
事件の詳細で読む項目
事件の情報には、判断に使える項目が用意されています。
| 項目 | 意味 |
|---|---|
| BreachDate | 意味漏えいが起きた日 |
| DataClasses | 意味漏えいした情報の種類(パスワード、メールアドレスなど) |
| IsVerified | 意味falseなら未検証で、示された元サイトから流出したとは限らない |
| IsFabricated | 意味偽造の疑い。実在するアドレスは含むが、示された侵害は捏造の可能性が高い |
| IsSpamList | 意味スパム用リスト。セキュリティ侵害由来ではない |
| IsMalware | 意味マルウェアの収集由来 |
| IsStealerLog | 意味情報窃取マルウェアのログ由来 |
結果から変更対象を決める
ここからが情シスの判断です。HIBPは「含まれていた」事実を返すだけで、変更が必要かは返しません。目安としては、次のように振り分けられます。
| 状況 | 扱いの例 |
|---|---|
| DataClassesにパスワードを含み、IsVerifiedが真、BreachDateが新しい | 扱いの例強制変更の第一候補 |
| 同上だが、事件が古い | 扱いの例同じパスワードの使い回しがないかを本人に確認 |
| 未検証、または偽造の疑い | 扱いの例事実確認を挟み、即時の強制変更には進まない |
| スパム用リストのみ | 扱いの例セキュリティ侵害ではないため、優先度は低い |
| 情報窃取マルウェアのログ由来 | 扱いの例端末の感染を疑い、端末調査とあわせて対応 |
振り分けはHIBPの判定項目をもとにした目安で、HIBPが示す基準ではありません。社内の方針に合わせて調整できます。
判断の材料を揃えた後の絞り込みは、Claudeに任せられます。
上の表から、次の条件に当てはまるアドレスを抽出してください。
- DataClassesにパスワードを含む
- IsVerified が true
- IsSpamList が false
抽出結果を、事件名ごとにまとめたリストにしてください。社員への通知文の下書きも頼めます。通知文には事件名を書き、パスワードそのものは書かないでください。
情報窃取マルウェアのログも見る
Pro以上なら、ドメイン内のアドレスが情報窃取マルウェアのログにあるかも調べられます。検索は3通りです。メールアドレスから、そのアドレスで認証されたサイトのドメインが分かります。メールのドメインから、組織内の該当者とサイトの一覧が分かります。サイトのドメインから、そのサイトで認証していたアドレスが分かります。
これらも、所有確認済みのドメインに限られます。パスワードを返すAPIは存在しません。ログに載ったサイトを手掛かりに、該当者のそのサービスのパスワードを変えさせる使い方になります。
つまずきやすい点
403が返る
ドメインの所有確認が済んでいない可能性が高いです。未確認のドメインを検索すると403になります。所有確認の状態は、登録済みドメインの一覧を引いて確かめます。
件数が多くて、同じ事件が並ぶ
ドメイン検索はアドレスごとに事件名を返すため、大きなドメインでは長くなります。事件名ごとに集計を頼み、詳細は上位の事件だけ引くと、会話が膨らみません。
繰り返し検索すると429が返る
ドメイン検索には正式なレート制限はありませんが、必要以上に繰り返すと429になる可能性があると説明されています。新しい事件が追加されたときだけ引き直すのが、想定された使い方です。最新の事件を引くAPIは認証なしで、頻繁な問い合わせを前提にした作りです。
パスワードを会話に貼らない
パスワード照合のツールは、パスワードそのものではなく、SHA-1ハッシュの先頭5文字だけを送るk-匿名性(k-anonymity)方式の検索に対応しています。実際のパスワードを会話に入力すれば、その仕組みの意味がなくなります。確かめたいときは、ハッシュの先頭5文字を渡す使い方にとどめてください。
機微な事件は含まれる
公開のAPIは、機微な事件ではアドレスを返しません。一方、ドメイン検索は所有の確認後にしか呼べないため、機微な事件も含めて返します。出力を社内の誰に共有するかは、事前に決めておきます。
SSOや他の連携との組み合わせ
漏えいが見つかったアカウントの切り替えは、IdP側の作業です。SSO配下のアカウントなら、ClaudeのSSO設定手順の対象と合わせて、パスワード変更を強制するかIdPで判断します。
組織のデータ流出を別の面から見るなら、ClaudeのDLPにCyberhavenを使う手順が、Claudeに入力される情報の側を扱っています。コネクタ連携で、サービス側の契約や認証を先に確かめる流れはClaudeとCommon Roomの連携にもあります。
まとめ
HIBPコネクタは、「どの社員アドレスが、いつの、どの種類の漏えいに含まれていたか」を速く揃える道具です。変更を求めるかどうかの線引きは、事件の検証状況と漏えいした情報の種類を見て、情シスが決めます。まず所有確認とプランの条件を確かめ、次に事件ごとの集計から始めてください。