視覚障害者ではないという理由で hCaptcha アクセシビリティアカウントから追放された事件(2023)
(michaels.world)- ある視覚障害のあるユーザーが、Brave で hCaptcha のアクセシビリティアカウントのクッキーが設定されない問題を問い合わせたところ、サポートチームはアクセシビリティ用途での利用はサポート対象外だとして、アカウント削除と再登録のブロックを通告した
- 当時の hCaptcha は音声 CAPTCHAの代わりに、クッキーによって CAPTCHA チャレンジを回避する特別なアカウントを提供しており、その後の更新でテキスト CAPTCHA オプションが追加されたという訂正が付記された
- Firefox と Chromium ではアカウントは動作したが、Brave では約 1 年間クッキーが設定されず、JavaScript コンソールでは set cookie エンドポイントが401 Unauthorizedを返していた
- サポートチームは、ユーザーが視覚障害者ではないと判断してアクセシビリティアカウントの利用を止め、ユーザーが実際に視覚障害者だとして解除を求めた後もブロックを維持した
- アクセシビリティを別個の迂回策に委ねたシステムでは、その迂回策が恣意的に止められた瞬間に、実際のユーザーをサービス利用から排除してしまう可能性がある
hCaptcha のアクセシビリティ回避方式
- hCaptcha は、ユーザーがチェックボックスを押した後に家のような特定の画像を選ばせるCAPTCHA サービスである
- 当時の hCaptcha は、視覚障害者向けの音声 CAPTCHAを提供しておらず、ボットが通過しやすくなることを理由に挙げていた
- その代わりに、視覚障害者に特別なアカウントを提供し、クッキーを設定して CAPTCHA チャレンジを経由しないようにする方式があった
- その後、hCaptcha にテキスト CAPTCHA オプションが追加されたという更新が追記されたが、本文の問題提起は依然として有効だと述べている
Brave でのみクッキーが設定されない
- ユーザーはメインブラウザとしてBraveを使用しており、約 1 年間 hCaptcha のアクセシビリティアカウントが Brave でクッキーを設定できなかった
- 同じアカウントはFirefox、Chromium など他のブラウザでは正常に動作した
- 案内に従ってサードパーティークッキーの許可など基本的な対処を確認したが、Brave では問題が続き、エラーメッセージは問題が続く場合はサポートチームにメールを送るよう案内していた
サポート問い合わせが疑念につながる
- ユーザーは最終的に hCaptcha のサポートチームにメールを送り、サポートチームは基本的なトラブルシューティング手順を案内した
- 問題を絞り込むために JavaScript コンソールを確認した結果、Brave で hCaptcha のset cookie エンドポイント呼び出しが
401 unauthorizedを返しているようだと伝えた - ユーザーは技術サポートを助けるためにこの情報を提供したが、この内容がサポートチームの疑念を招いた可能性があると見ている
アクセシビリティアカウント削除と再登録ブロック
- サポート担当者とやり取りしている最中、別の担当者が次の趣旨の返信を送った
- その使用方法はサポートされていない
- アクセシビリティパスに対するクレジットを受け取っていない
- このような方法で使われるすべてのアカウントは hCaptcha から削除される
- ユーザーがアクセシビリティアカウントに再登録しようとした場合はブロックされる
- ユーザーは、許可されていないことをしたのではなく、Brave で動作させようとしただけだとして困惑した
- その後サポートチームは、ユーザーが視覚障害者ではないためアクセシビリティアカウントを使うべきではないと説明した
実際に視覚障害者であると訴えた後
- ユーザーは、自分が実際に視覚障害者であると明かしてブロック解除を求めたが、サポートチームはアカウントのブロックを維持するという定型的な返信を送った
- アカウントは実際にブロックされた状態で、ユーザーは hCaptcha を通過するには利用規約に違反して自動解答プログラムを使わなければならない状況になったと述べている
- 意図的にアクセス不能な製品を提供する企業が、別個のアクセシビリティ迂回策を安定して維持してくれると信頼すべきではないという警告につながる
- Web サイト運営者が hCaptcha を使うのであればこの経験を考慮すべきだと促し、Cloudflare はすでに独自システムを使っているようだと付け加えている
1件のコメント
Hacker News の意見
私も視覚障害者ですが、hCaptcha は最悪です
間抜けな Cookie が期限切れになるので、hCaptcha に遭遇するたびに、ほぼ毎回メールを受け取って Cookie を設定する手順を踏まなければなりません
複数のデバイスやブラウザを使っていると特にひどいユーザー体験で、他の人ならそのまま諦めてしまうと思います
ボットは視覚障害者より簡単に解けるか、第三世界の労働者にほぼタダ同然で外注することもできます。例: Anticaptcha [0]:
互いにほとんど区別できない極小の画像を見せてきますが、reCaptcha よりはるかに悪くすることに成功しているのは、むしろすごいことです
Google の CAPTCHA は、たいてい3分以上正しく解いても終わりのないループに送り込み、いつも失敗する一方で、hCaptcha は1〜3個だけ正しく解けば通してくれます
セッション Cookie は使いますが、彼らの間抜けな CAPTCHA を回避するために、どこかの会社が私のシステムに Cookie を仕込むことを許可しなければならない理由はありません
言い換えれば、彼らに何も開示する必要はないはずです。彼らから見て私が AI でも構わないはずです
タイトルだけを見ると、実際よりずっと深刻でない問題のように見えます
記事によると、hCaptcha は筆者が実際に視覚障害者であるにもかかわらず、根拠もなく嘘をついていると無礼に何度も決めつけていました
擁護ではなく説明ですが、同時に「視覚障害者には CAPTCHA 回避手段を与えないが、『本物の』視覚障害者にだけ例外を与えて ADA を通そう」という発想が、なぜ完全に不可能でスケールしないのかも示しています
Google、Facebook、Amazon ほどの規模であっても、誰が「本物の」視覚障害者なのかを判定するシステムの負荷を引き受けるのは難しいでしょう。そもそも「視覚障害」を正確に何と定義するのか、といった問いを無視しても同じです
こういうものは、リリース後に問題になるようなものではなく、提案会議で5分検討しただけで、設計段階に進むことすら阻止すべき発想でした
敵対的攻撃が極めて激しい環境で「誰が視覚障害者か」といった属性を完全に判定するシステムがあるなら、それは CAPTCHA システム自体よりはるかに価値のあるものです
この発想は、CAPTCHA が解決しようとしている問題より強力な解をすでに持っていなければ成立しないため、論理的に根本から成り立っていません
一部の CAPTCHA はますます差別的になっています。誰もが西洋圏に住んでいて、CAPTCHA が求める物体を認識できるわけではありません
最近は、画面上の円錐面体(conoids)の数と同じ数字の図形を選べというものも見ましたが、街行く人に conoid とは何かと聞けば、かなり多くの人がぽかんとするでしょう
それでも、今ではああいう表示を crosswalk と呼ぶ人もいるのだと知りました
言いたかったのは「誰もが米国に住んでいるわけではない」ということだったのでしょう
消火栓、黄色いタクシー、黄色いバスもまったくピンときません
もちろん CAPTCHA のようなものを通じた米国文化帝国主義のおかげで、米国の文化的基準を世界中が知っていなければならないので、実際には知っていますが
今でも物体のどこまでを選べばいいのかわかりませんし、信号機が何を指すのかも曖昧です。柱も含むのかどうか分かりません
オートバイもかなり難しく、一度は階段だらけの写真が出てきて、15マスくらい選んだ気がします
Google 辞書は「おおよそ円錐形の」という動物学用語だと言い、Wikipedia のパネルは幾何学で特定の条件を満たす直線面だと言っていますが、図もまったく直感的ではありません
Merriam-Webster の検索結果は「円錐形の構造、とくに生物の前端にある切頭円錐形の中空の細胞小器官」だとしています
まったく関係がありそうに見えないので画像タブを押したら、円錐とはあまり似ていない複雑な Mathematica 風のグラフばかり出てきました
HN コメントの他の人たちも同じように知らないようです
画面に何が表示されていたのか説明してもらえますか?CAPTCHA は何を conoid だと思っていたのでしょう?交通コーンみたいなものですか?
Google と競争するときの第一の教訓は、「ユーザーを Google よりさらに軽んじてはいけない」であるべきです。そうでなければ、人々はただ Google を使います
事業のやり方があれでは、少数の「絶対に Google を使わない人たち」の善意に頼るのは成功への道ではありません
hCaptcha が自分の評判を台無しにしている間、世の中の残りは reCaptcha を使い続け、hCaptcha の存在には関心も持たないでしょう
付け加えると、綴りは “intensional” ではなく intentional です。“intent” + “-tion” + “-al” と考えるべきで、“in-” + “tension” + “-al” ではありません
筆者は本質的に、視覚障害者にしては賢すぎたということですね
視覚障害者がどうやって JavaScript コンソールを「見る」んだ?と思ったのでしょう
もちろん「スクリーンリーダーに JavaScript コンソールの内容を読み上げさせた」という表現は少し長いですが
私もこういうことにあまりにも頻繁に遭遇します。私がいるはずの「ない」場所にいたり、しているはずの「ない」ことをしていたりするので、視覚障害者ではないというわけです
CAPTCHA実験は、そろそろ終わりにしてほしい。うまく機能しなかった
電話番号認証も良いものではないが、少なくともスパムのコストをある程度は上げる。CAPTCHAはそうではない。ほぼすべてのターンキー型CAPTCHAサービスは、数セントで突破される
スパムや悪性トラフィックの問題を解くのは難しく、結局は3つの可能性に絞られてしまうのではないかと心配している
第一に、ユーザーが匿名性を放棄すること。現実の身元を十分に検証すれば、悪意ある個人を永久に遮断し、ボットをかなり効果的にふるい落とせるが、オンラインの匿名性は失われる。私の考えでは、文字どおり受け入れ不可能だ
第二に、プラットフォームの閉鎖。Web Environment IntegrityやPrivate Access Tokensのようなアプローチは、ウェブプラットフォームを閉ざす道を切り開く。ウェブ利用者の大半はSecure Bootのある端末でGoogle ChromeやSafariを使っているため、ブートチェーン全体を証明できる。時間がたつほど、これを実行できるユーザー数は増えていくだろう
そのような未来では、ウェブが意味のある形で開かれたまま残ることはない。代替手段はどんどん有用性を失っていくだろうし、たとえば機械学習が汎用人工知能に到達しなくても、目の前のあらゆるCAPTCHAを圧倒するはずなので、この方式なしではウェブサイトに入るのが難しくなる可能性が高い
第三に、ネットワーク運用者の責任強化。好むと好まざるとにかかわらず、インターネットは監督や透明性の弱いグレーゾーンの運用者に大きく支えられている。しかし悪性トラフィックをなくすもう一つの方法は、ネットワーク運用者により多くの責任を負わせ、協力しない事業者をインターネットから切り離すことだ。これもあまり良い結果にはならない可能性が高く、権限の乱用を助長するだろう
それでも難しい。ほかに何ができるだろうか。悪性トラフィックの誘因を減らそうとしても、サービスが提供する価値を下げずには難しいし、難読化で悪性トラフィックを困難にすることはできても、意志の強い相手を止めるのは難しい
いずれにせよ、開かれたウェブの時代は事実上終わったように感じる。開かれたウェブは存在し続けるかもしれないが、新しく、はるかに閉じたウェブに覆い隠される可能性が高い
私たちのウェブサイトでは、CAPTCHAがないとボットが1日に何十件ものフォームを埋める。CAPTCHAを入れると0件になる
CAPTCHAを破るコストは安いとはいえ、私たちのサイトでは、その小さな障壁を越えようとする人はいないようだ
CAPTCHAは、解くのにコストがかかる場合にだけ有用だ。このリクエストが実在の人間、あるいは少なくとも実在の人間の10億分の1よりは大きい存在であるというコストシグナルになる。完全自動のスパムシステムではない、という意味だ
郵便サービスにもコストがある。郵便で何かを送るには誰もが切手を買わなければならない。輸送費はトラフィックを調整し、スパムを防ぐ「自然な」方法だ
ネットワーク構造と暗号通貨の組み合わせを使えば、送信試行やログイン試行ごとに輸送費を課すことができる。スパムメールやログイン推測1回に1セントかかるだけでも、大半の完全自動スパムにとっては禁止的なコストになる
暗号通貨の要素は、切手のような現金性のある取引を可能にしつつ、個人ウォレットへのアクセスの匿名性を保つためのものだ
ソーシャルメディアがUSENETを殺し、メールはフィルタリングによってスパム問題を管理してきた
懸賞に当たるチャンスのためなら何でもクリックし、その過程で自分の身元をスパムに使うことを承認してしまうユーザーも多すぎる
Web Environment IntegrityやPrivate Access Tokensのようなものは、決してまともに機能しない。スパマーは人気のある端末1モデルだけを破ればよいからだ
こうしたものを提案する側は詐欺師か、これをロックイン効果に使おうとするプラットフォーム企業だ。スパマーはシステムを破るためにリソースを使うが、一般ユーザーは不便を我慢しないので、結局は競合相手と相互運用性を遮断することになる
ネットワーク運用者の責任は、すでにかなりの部分で起きている。評判の悪いIP帯域はブロックされる。しかし複数のISPに分散したユーザーのボットネットができると、一部のISPは対応する意欲が違い、対応しても即座には処理できず、気にしない一部は制御できない管轄区域にあるが、遮断するには大きすぎる
最善の解決策は、おそらくアカウント作成時に、お金、暗号通貨、Proof of Workのいずれかを少し支払わせる方式だろう。一般ユーザーは長く維持するアカウントを数個だけ必要とするが、スパマーはほぼ即座に遮断される大量のアカウントを必要とするため、機能するシステムに必要な非対称なコスト構造が生まれる
その当時も、認識ソフトウェアに追いつかれないように課題をどんどん難しくし続ける必要があった
今では、機械のほうが人間より解きやすい領域に移ってしまったため、本来の目的には役に立たなくなった
残念ながら、ほとんどのアクセシビリティオプションは、実際に使ってもらうために作られているわけではないように思う
政府や大企業なら、アクセシビリティは基本要件に入る。「はい、私たちはアクセシブルです」と言える必要があり、そうでなければ世論が騒がしくなる
そのため、ベンダー一覧からアクセシビリティを提供していると言わないところを外してしまう。ベンダー側もそれを知っていて、必ず提供していると言う
しかし、きちんと作るのが難しい機能であり、ユーザー層のごく一部にしか関係しない。障害の種類ごとに必要な支援も異なる。開発チームの誰も実際の要件をきちんと理解していない
アクセシビリティを必要とする人たちは別の場所へ行くか、不満を言いながら何とか耐える。どちらも指標ダッシュボードには現れない
この組み合わせはシェルフウェアを助長する。買ってどこかの棚に置いておくが、実際には使わないものになるのだ
私の理解が正しければ、hCaptchaが作ったアクセシビリティ問題が、この視覚障害者の複数のウェブサイトへのアクセスを妨げているということなのか?
hCaptchaの多くの顧客に、ADAの観点で問題が生じるのではないか?
著者が訴訟を進めたいなら、これはほぼ明白な勝訴案件のように思う
利用規約がADA上の責任まで防いでくれるわけではない
なぜいまだにCAPTCHAが存在するのか分からない
誰かが何かをスクレイピングしたり自動化を作りたかったりするなら、そのままやらせておけばいいのでは? どうせログインするシステムは尊重しなければならない
訪問者を、数十以上のデータサブプロセッサが付いたCAPTCHAサービスにさらさないというプライバシー保護上の利点もある
ボットが他人のメールアドレスで偽アカウントを何千件も作成し、こちらが送ったメール確認メールは、受信者が登録した覚えがないためスパムとして報告された
結局、スパム報告が多いという理由でメールプロバイダーに私たちのアカウントを停止された
私は置いたことがあり、数日もしないうちにボットがそのフォームからスパムを送り始めた
ハードコードされた「2+3=」のような些細なCAPTCHAを入れたが、規模がもっと大きければ対応しきれなかっただろう
個人メッセージのスパムや、無料枠の悪用を目的にした自動アカウント作成も考える必要がある
自動化やスクレイピングはそれを迂回してしまう
ログインフォームからCAPTCHAを外してみれば、何の理由もなく「メールアドレスを確認してください」メールを送らなければならないユーザーを毎日何百人も捕まえることになると分かる
「彼らもログインするシステムを尊重すべきだ」という信念は立派だが、インターネットで何かを運営してみれば、意図的であれそうでなかれ、人々はシステムが倒れるまで叩き続けるのだと分かる
こうしたボットはCSSをサポートしていないので、隠しフォームフィールドと組み合わせるとさらにうまく機能する
ただし標的型攻撃なら、正規ユーザーだけに苦労をかけつつ、ボットのブロック率を95%から99%に上げる程度にとどまる