CAPTCHAに苦しむ日々から解放されよう
よくある場面です。データ解析スクリプトを書いているときや、Webサイトの定期チェックを自動化しようとしているとき、突然CAPTCHAが表示されます。最初は小さな不便にしか思えないかもしれませんが、10回も繰り返すと、信号機や消防艇が夢に出てくるようになります、もちろん、「ライブ」ソルバーと接続するという手もなくはないですが、,速度が遅く、費用もかさみ、必ずしも信頼性が高いわけではありません。
最近、nopecha-extensionリポジトリを見つけました。ニューラルネットワークで問題に取り組もう決めた人々が始めたプロジェクトです。ブラウザ拡張機能とAPIを構築し、CAPTCHAを自動的に解除し、人間の行動を模倣します。GitHubで10,000スター以上を獲得しており、定期的なアップデートが続いている堅実なプロジェクトです。
NopeCHAできること
端的に言えば、マルチモーダルAIで動作する自動ソルバーです。画像を送ってテキスト認識させる古い手法とは異なり、ここではシステムがインターフェースとやり取りすることを学習します。
このプロジェクトは、オンラインで遭遇するほぼすべてのタイプをサポートしています:
- 標準的なreCAPTCHAとhCaptcha。
- 厄介なCloudflare Turnstile。
- FunCAPTCHAとAWS WAF。
- テキストCAPTCHA(数式を含む)。
- hCaptchaのビデオチャレンジさえも。
興味深い詳細として、開発者は強化学習(RL)を使用しています。彼らのエージェントは実際のCAPTCHAと絶えずやり取りし、フィードバックを収集し、モデルを更新します。そのため、新しい検証タイプが出現すると、ニューラルネットワークがほぼリアルタイムでバイパス方法を「学習」し始めます。
実際の動作
試す最も簡単な方法は、ChromeまたはFirefoxに拡張機能をインストールすることです。箱から出してすぐに動作します:ページ上のCAPTCHAを検出し、自分で正しいボタンをクリックします。自動化開発者にとって、これは命を救う存在です,因為拡張機能はSelenium、Puppeteer、またはPlaywrightに簡単に挿入できるからです。

最近のアップデート(バージョン0.6.0)では、設定可能なマウス移動速度とクリックの視覚化が追加されました。これは、アンチフラウドシステムがスクリプトの動作を「ロボット的」と見なすのを防ぐために必要な機能です。カーソルが曲線に沿って移動できるようになり、実際のユーザーの手の震えや迷いを再現できるようになりました。
技術的な側面とAPI
拡張機能のオプションが合わない場合(例えば、PythonやGoでサーバーサイドスクリプトを書いている場合など)、プロジェクトにはAPIがあります。
深い統合を必要とする人のために、一般的な言語向けのライブラリが用意されています。リポジトリにはPyPIとNPMのパッケージへのリンクがあります。無料枠はIPごとに1日100リクエストです。ペットプロジェクトや小規模な「個人使用」スクリプトには十分すぎる量です。もっと必要なら、APIキーを取得する必要があります。
ちなみに、2023年にプロジェクトはクローズドソース開発に移行しました。リポジトリには完成された拡張機能のビルドとドキュメントが含まれていますが、ニューラルネットワークモデルと最新バージョンのソースコードは非公開となっています。開発者はこれを乱用防止とアンチフラウドシステムへの優位性維持として説明しています。古いv0.3.xブランチのみが一般公開されており、拡張機能の動作原理を理解するために参照できます。
誰が役立つのか
NopeCHAが本当に時間を節約できるシナリオがいくつかあります:
- QAテスター。フロントエンドの回帰テストを実行する必要があるが、登録フォームがCAPTCHAで保護されている場合。開発者にステージング環境の保護を無効化するように頼む代わりに、拡張機能を挿入できます。
- データエンジニア。自動化を好まないプラットフォームからパブリックデータを収集する必要がある場合。
- ツール開発者。公式APIなしでサードパーティサービスとやり取りする必要があるソフトウェアを構築している場合。

試す価値はあるか
このプロジェクトは汎用性で魅力を感じます。Cloudflare TurnstileとAWS WAFのサポートは現在の「ゴールドスタンダード」です,因為一般的なOCRライブラリでは対応できないからです。
欠点としては、クローズドソースへの移行は、プロジェクトの依存関係に対して完全な管理を望む人にとっては敬遠される可能性があります。また、CAPTCHAバイパス自動化はすべていたちごっこであることを忘れないでください。今日完璧に動作しても、明日Googleがアップデートを公開すれば、NopeCHA作者からのパッチを待つ必要があります。リリース履歴を見る限り、パッチは迅速に公開されていますが、「不安定な」テストのリスクは常に残っています。
OpenCVで独自の回避策を書くことなく、チェックをバイパスする迅速な解決策が必要な場合、NopeCHAは現在利用可能な最も実用的なオプションの1つです。無料枠から始めて、ワークロードに応じてスケールできます。
関連プロジェクト