~/blog/bypassing-anti-bot-protection-guide

アンチボット対策を理解する:2026年に通用する手法

anti-botcloudflareakamaiweb-scrapingreverse-engineering

アンチボット対策は終わりのない軍拡競争です。日々こうしたシステムを回避するプロダクションスクレイパーを構築している立場から、この分野の実践的な見取り図をお伝えします——実際に何がチェックされているのか、そして合法的な回避手法とはどのようなものかを解説します。

検知の階層構造

最新のアンチボットシステムは複数の階層で動作します。これらの階層を理解することが、確実な回避の鍵となります。

レイヤー1:IPレピュテーション

最もシンプルなチェックです。アンチボットサービスは、既知のデータセンターIP範囲、VPN出口ノード、過去にフラグが立てられたIPのデータベースを保持しています。

チェック対象:

  • そのIPはAWS、GCP、Azure、または既知のホスティングプロバイダのものか
  • そのIPは過去にボット活動でフラグを立てられたことがあるか
  • そのIPから最近どれだけのリクエストが送信されているか

対抗策: Apify ProxyやBright Dataのようなサービスが提供するレジデンシャルプロキシは、実在のISPに属するIPアドレスを使うため、IPレベルでは一般ユーザーと区別がつきません。

レイヤー2:TLSフィンガープリンティング

ここからが本題です。あらゆるHTTPクライアントは、以下の要素に基づく固有のTLSハンドシェイク署名を持っています。

  • 対応する暗号スイートとその順序
  • TLS拡張とその順序
  • 対応するTLSバージョン
  • ALPNプロトコル

標準的なaxiosrequestsライブラリのTLSフィンガープリントは、どのブラウザとも一致しないため一目で「ボット」だとわかってしまいます。AkamaiやCloudflareのようなサービスは、あらゆるブラウザバージョンのフィンガープリントデータベースを保持しています。

対抗策: got-scrapingShopifyスクレイパーで使用)のようなライブラリや専用のTLSクライアントは、ブラウザ品質のTLSフィンガープリントを再現できます。Sephora EUスクレイパーでは、ブラウザ品質のTLSフィンガープリンティングを用いてAkamai WAFを回避しています。

レイヤー3:HTTP/2フィンガープリンティング

TLSに加えて、HTTP/2の設定もクライアントの種類を明らかにします。

  • SETTINGSフレームのパラメータ(ヘッダーテーブルサイズ、最大同時ストリーム数)
  • WINDOW_UPDATEフレームの値
  • 優先度ツリーの構造
  • ヘッダー圧縮(HPACK)のパターン

各ブラウザには特徴的なHTTP/2設定があります。Chrome、Firefox、Safariはこのレベルで見るとそれぞれ異なります。

レイヤー4:JavaScriptチャレンジ

Cloudflareの「ブラウザを確認しています」ページや類似のチャレンジは、以下を行うJavaScriptを実行します。

  • ブラウザAPI(canvas、WebGL、AudioContext)の有無を確認
  • 実行タイミングを計測
  • DOMプロパティを検証
  • チャレンジのレスポンスをサーバーへ送信

対抗策: ヘッドレスブラウザ(Playwright、Puppeteer)はこれらのチャレンジをネイティブに実行できます。重要なのは、ヘッドレスブラウザが自動化のシグナルを漏らさないようにすることです(詳細は後述)。

レイヤー5:行動分析

最も高度な階層です。これらのシステムは以下を分析します。

  • マウスの動きのパターン(動きが直線的すぎる=ボット)
  • スクロール挙動(一瞬で最下部までスクロール=ボット)
  • 操作間の時間間隔(一定すぎる=ボット)
  • ナビゲーションパターン(閲覧せずに商品ページへ直行=不審)
  • リクエストの頻度(間隔が完全に均一=ボット)

防御プロファイル:相手を知る

Cloudflare

よく見られる対象: 中小規模サイト、ブログ、API

Cloudflareには複数の防御レベルがあります。

  • Basic — IPレピュテーション+レート制限。レート制限を守るデータセンタープロキシで大抵は突破できます。
  • Managed Challenge — JavaScriptチャレンジ+turnstile。ブラウザまたはチャレンジソルバーが必要です。
  • Enterprise/Bot Management — 完全な行動分析+フィンガープリンティング。レジデンシャルプロキシと適切なフィンガープリンティングが必要です。

Akamai Bot Manager

よく見られる対象: エンタープライズEC(Sephora EU、大手小売業者)

Akamaiは以下の理由から、回避が最も難しいものの一つです。

  • 積極的なTLSフィンガープリンティング
  • クライアント側JavaScriptによるセンサーデータ収集
  • セッション単位の行動分析
  • Cookieの整合性検証

Akamaiに対する私のアプローチ: ブラウザ品質のTLSフィンガープリンティング+ゲストトークン管理+人間の閲覧を模したリクエストペーシングです。

Datadome

よく見られる対象: EC、チケット販売

Datadomeが重視するのは以下の点です。

  • JavaScriptによるデバイスフィンガープリンティング
  • 不審なトラフィックに対するCAPTCHAチャレンジ
  • リアルタイムの行動スコアリング

PerimeterX(現HUMAN)

よく見られる対象: 小売、金融サービス

積極的なJavaScriptチャレンジと行動分析で知られています。

正当な回避アーキテクチャ

信頼性の高い継続的なデータ抽出が必要なプロダクションシステム向けに、私が実際に使っているアーキテクチャパターンを紹介します。

1. APIファーストアプローチ

防御の回避を試みる前に、WAFを完全に迂回できるAPI経路がないか確認しましょう。多くの防御はブラウザ向けエンドポイントにのみ適用され、APIルートには適用されないことが多いのです。

私のSephoraスクレイパーは、すべてのWeb URLをAPI呼び出しに変換します。APIエンドポイントはモバイルアプリ向けに設計されているため、Webサイトよりも防御が軽い傾向にあります。

2. セッションウォームアップ

データページにいきなりアクセスしないでください。現実的な閲覧セッションを積み上げましょう。

1Visit homepage → Browse categories → View product listing → Access product detail

各ステップがセッションの信頼性を積み上げます。アンチボットシステムには、実際のユーザー行動と一致するパターンとして映ります。

3. フィンガープリントの一貫性

これは非常に重要です。フィンガープリントは内部的に一貫している必要があります。TLSが「Chrome 120」を示しているのにUser-Agentが「Chrome 118」を示している場合、それは検知シグナルになります。

以下を揃えましょう。

  • TLSフィンガープリント
  • HTTP/2設定
  • User-Agentヘッダー
  • Accept-Languageなどのその他のヘッダー
  • JavaScriptのブラウザプロパティ(ヘッドレスを使用する場合)

4. リクエストペーシング

実際の人間は、正確に1秒間隔でリクエストを送信することはありません。現実的なばらつきを持たせましょう。

  • リクエスト間の基本遅延(2〜5秒)
  • ランダムなジッター(±30%)
  • ナビゲーションイベント後のより長い休止
  • 時折の「アイドル」時間

5. グレースフルデグラデーション

チャレンジやブロックに遭遇した場合:

  1. 即座にリトライしない — ボット行動だと確定させてしまいます
  2. 指数関数的にバックオフする
  3. 新しいセッションにローテーションする(新しいIP+新しいCookie)
  4. 別のプロキシリージョンを試す
  5. それでも解決しない場合は、ブラウザベースの手法に切り替える

もはや通用しない手法

  • User-Agentを変更するだけ — 検知システムは1つのヘッダーだけでなく数十のシグナルをチェックします
  • ランダムな遅延だけ — 適切なフィンガープリンティングがなければ、タイミング調整だけでは効果がありません
  • デフォルト設定のヘッドレスChrome — 自動化のシグナルがあらゆる箇所から漏れます(navigator.webdriver、プラグインの欠如、Chrome DevTools Protocolの痕跡など)
  • Cookieのリプレイ — 最新のシステムはCookieをTLSフィンガープリントやIP範囲に紐づけています

倫理的な配慮

アンチボット回避は一つの手段(ツール)です。どんな手段も同じように、責任を持って使うことも、そうでない使い方をすることもできます。

正当な利用例:

  • 消費者の利益のための価格比較
  • 公開データを用いた市場調査
  • アクセシビリティ向上(データを構造化フォーマットで利用可能にする)
  • 学術研究
  • 品質保証とモニタリング

常に尊重すべきこと:

  • robots.txtの指示
  • レート制限(超過が可能であっても、超過しないこと)
  • 個人データ規制(GDPR、CCPA)
  • 利用規約(自分の法域における法的状況を理解すること)

私のツールはすべて、レート制限とプロキシのベストプラクティスを組み込んだ、正当なデータ抽出のために設計されています。


アンチボットシステムを理解することは、スクレイピングエンジニアとしての力量を高めてくれます。こうした課題を確実に処理できるプロダクション品質のスクレイパーが必要な方は、私のツールをご覧いただくか、カスタム開発についてお問い合わせください。

whoami
Richard Feng
Webスクレイピングエンジニア、経験12年以上。AI向けにクリーンでRAG対応のJSONを返すプロダクションスクレイパーを構築しています。

このデータをクリーンなJSONで必要としていますか?

スクレイパーカタログを見る、またはあなたの取得元に合わせたオーダーメイドの抽出ツールとRAGパイプラインの構築を依頼できます。

ツールを見る カスタムデータを依頼