Linuxカーネルにアクセスできない!アニメ猫耳娘がブロックする謎の認証システムにユーザー困惑
引用元:https://news.ycombinator.com/item?id=44962529
Anubisのシステムに対して、みんなが本当に理解してないのか、ただAnubisを軽視したいだけなのか疑問だね。AIスクレイパーは結局突破するだろうけど、しばらくは効果あったんだからさ。新しい方法が出ればまた別の対抗策も出てくるし、それでサイトが1、2ヶ月安全になるだけでもすごく助かるだろ?7+2みたいな簡単な質問と同じで、ボットは計算できるけど、どう計算するかを教えるのが大変なんだよ。
このいたちごっこはいつか終わるだろうね。ボットは最終的に人間と区別できなくなるよ。もうすでにそうなってるのもあるし。
ボットが人間と区別できなくなるって?政府発行のIDがなければ無理でしょ!今後10年で政府IDに基づいたオンライン認証が当たり前になって、それがアンチボット対策にも使われるようになるはず。Sam AltmanのWorldcoinみたいな会社が何を言おうと、何世紀も本人確認をやってきて信頼を築いてきた政府登録が、結局は身元証明の信頼の錨になるんだよ。
最近、多くの人がCloudflareの認証を見ているのに、ごく一部のサイトで使われているAnubisに対してこんなに騒ぐのは、ちょっとどうなんだろうね。
変なVPNを使ってる時以外はCloudflareにつまずくことなんてないし、いつもチャレンジの後はスムーズに進むよ。でもAnubisはよく引っかかるし、動かないことも多いんだよね。
もしそうなったら、みんな自分のネット利用をすごく意識するようになって、インターネットは機能停止するだろうね。例えば、Pornhubがアクセスデータを売っちゃって、次の日に先生の職をクビになるなんて状況も想像できなくはない。
そんなことないさ。非対称暗号のおかげで、政府は理論上、以下のことをせずとも人間だと証明できる方法を提供できるんだよ。
1. 政府が誰に認証してるかを知る必要がない
2. 受信側があなたが人間だという事実以外何も知る必要がない
3. 再度認証しても、受信側が前回のセッションとあなたを結びつけられない
EUがオンライン年齢認証でこんなスキームを作ろうとしてるんだ(3番目の点までカバーしてるかは知らないけど、多分ね?)。
でも、どうやって機能するんだろうね?ただIDの写真を送っても簡単に偽装できちゃうし。キーボードの前にいるあなたとIDの人物が同じだってことを検証しないといけない。イギリスはこれが信頼性高くやるのがすごく難しいって気づき始めてるよ。ビデオも画像も偽装されやすいし、人間を確実に識別するのは人間にとっても難しいから驚きじゃないよね。もしネットワークレベルでやるなら、政府発行のネットワーク接続を個人に割り当てる感じになるけど、IPアドレスはそういう設計じゃないし、IP偽装が身元窃盗になっちゃう。ボットにもアクセスは必要だから、何らかの方法で許可しないといけないしね。これにはインターネットを根本から再構築する必要があると思うよ。現状から出発してそこまで行くのは無理じゃないかな。
悪いけど、見当違いなのはあなただと思うな。Anubisを使うなって言ってるわけじゃないよ。Tavis Ormandyは、その機能の仕組みについてコンピュータ科学的な批判をしてるんだ。この件でコンピュータ科学に関心を持つ必要はないけど、だからってコンピュータ科学だからって言ってそれを却下することはできないでしょ?
例えば、bcryptやArgon2みたいな適応型パスワードハッシュは、敵(パスワードを知らない攻撃者)に非対称なコストをかけるためにワーク関数を使うよね。ユーザーと攻撃者の両方がワーク関数を適用しないといけないけど、ユーザーはほぼ一定のコストで済む(パスワードを知ってるから、概ね1回で済む)。攻撃者は関数を繰り返し実行しないといけないし、無限に繰り返しても報われないかもしれない。
ブロックチェーンの仮想通貨は、主に同期メカニズムとしてワーク関数を使う。ワーク関数自体には意味のある別の敵がいないんだ。みんな同じ価値を得るし、その価値のほとんどはごく一部の集中化された資本力のあるスペシャリストに行く。
プルーフ・オブ・ワークベースのアンチアビューズシステムは、パスワードハッシュのように機能したいと願ってる。敵を定義して、非対称なコストをかける方法を見つけたいんだ。それで、敵が正当なユーザーに比べて最小限の価値しか得られないようにしたい。
実際、プルーフ・オブ・ワークベースのスパム対策システムはそうやって機能してる。スパムメッセージを1通送る価値が非常に低いから、ワーク関数を適用する期待値がマイナスになるんだ。
でもここで話してるのは、正当なユーザー(人間ブラウザ)とスクレイパーが、ワーク関数の適用ごとに同じ価値を得るシステムだよ。コストと価値の比率は変わらない。すべてがみんなにとって高価になるだけだ。ユーザーにもコストがかかるし、大規模で集中化された資本力のあるクライアントが有利になる、最悪の状況だね。
自動化されたユーザーに非対称なコストをかけるアンチアビューズシステムは既にあるよ。YouTubeにもあった(まだある?)。リクエストごとに一定の追加コストを課すんじゃなくて、VM(JavaScript経由で)をブラウザに送って、そのVM用のプログラムを送ってたんだ。VMとプログラムは意図的にリバースが難しくされてて、頻繁に変わってた。その目的の一部は、多数の面倒なサイドチャネルを通じて、それが実際に本物のブラウザで動いているかを確認することだったんだ。YouTubeがVMを変更するたびに、ボットは追いつくために大量の新しいリバース作業をしないといけなかったけど、普通のユーザーはそうじゃなかった。Blu-RayのBD+システムもこんな感じだったよ。
これらのシステムの専門用語は「コンテンツ保護」で、Anubisが本当は目指したいもの(まだそうなってないけど?)だと思うね。
「スクレイパーがまだこのPoWに手を出してないから良い」っていう問題点は、そんな価値を得るのに迷惑なPoWなんて必要ないってことだよ!ちょっと複雑なJavaScript関数を書くか、自動CAPTCHAを使えばいいんだから。
AIスクレイパー対策はPoWじゃなくて、Anubisのサイト読み込み方が特殊だからって言ってるんだね。それならPoWは邪魔なだけだし、合法的な人間ユーザーのために電力と時間を無駄にさせるだけだから、なくしちゃえばいいのに。
Cloudflareは本当に厄介だよな。一度ブロックされると、もうどうしようもない。以前、悪いユーザーエージェントでネットの半分が見れなくなった時はゾッとしたね。ドキュメントもメールもアクセスできなくて、解決策もなかったんだ。Anubisではまだ問題ないけど、もし自動チェックで失敗しても人間だってことを証明する方法があるといいな。
このシステムは最初からバカげてるって。スクレイパーはフルブラウザでページが安定するのを待つだけだし、AIがページを読み込むには5秒×1600Wみたいな計算が必要で、スマホだと非効率だし、すごく熱くなるって。
Cloudflareのクソみたいなブロックに引っかかるのと同じくらい、Anubisにも引っかかるんだよな。ただ、Cloudflareの方が使ってるサイトが多いから、Anubisの方が誤検知の頻度で見るともっとタチが悪いってことだろ。
「クライアントが不快にならないようにロゴを変えてくれ」ってメッセージは、MITライセンスみたいなもんだよね。
これってプライバシーに結構やばい影響があるんだよな。だから代替案は欲しいんだけど、どんなのがいいかは、ちょっと自信ないんだ。
それってどういう意味?プライバシーを守ったやり方でやるのは絶対に無理って言いたいわけ?
ボットファームに自分の身分を貸し出すのを、どうやって防ぐつもりなんだ?
どっちも最悪だけど、片方は上司に説明しなくていいからな。
Anubisは当初バカげたシステムだと思われたけど、実際にはクロウラーをブロックしてほぼ100%成功してるじゃん。金銭的に見合わないから迂回策も作られないし、これだけうまくいってるなら、本当にバカだったのかね?
犯罪に加担するのと同じで、実社会の身分を売らないのと同じ理由で、オンラインIDも売らないだろ。もし売ったとしても、偽物や失効したIDが多すぎて「レモン市場」になっちゃう。価値が数ペンス程度になっちゃうし、犯罪に結びつくリスクに見合わないよ。
匿名でテストをパスできるなら、スパムやスクレイピングを防げる理屈がわかんないな。年齢認証なら、子供がポルノにアクセスするためのトークンを手に入れるのは難しいってのはわかるけど。スクレイパーがIDを使ってトークンを得るのをどう防ぐの?匿名ならリスクないじゃん。
プルーフ・オブ・ワークはマジでいらない。特にSHA-256を使うのは最悪だよ。一般ユーザーと攻撃者のハードウェア性能には数万倍の差があるし、攻撃者がBitcoinのマイニングリグを使ったら数千万倍だぜ。こんな非対称性じゃ防衛にならない。攻撃者が本気を出してないだけ。もしPoWが防御だと言うなら、せめてArgon2dみたいなのを使えよ。
セキュリティを「あいまいさ」に頼るなら、非主流ブラウザのユーザーをブロックしないやり方だってたくさんあるだろ。DRMソリューションを売りつけようとするキモいアートを表示するのもやめろ。オープンソースのエコシステムには全くそぐわないよ。
僕の古いシステムだと、CloudflareもAnubisもサイトから完全にブロックしてくるんだ。実際にユーザーをブロックし始めたら、もう行き過ぎだろ。せめて別のログイン方法とか提供しろよ。AIを訓練するためのCaptchaも、5~10分かかるし、ボットの方が得意って聞いたぞ。結局、ウェブはもう人間じゃなくて、ボットのために作られてるんだな。
アニメの女の子がそんなに嫌がられるのってなんでだろうね?子供っぽいから?それとも混乱させるから?論理的に考えたら、もっと「真面目な」バナーを置いたって機能的には変わらないのに。なんでそんなに嫌われるんだろうな?
将来はさ、こんなシステムに加えて、作業中に広告が表示されて、ウェブサイトが二重で儲けるようになるんだろな。
ああ、これはまるでストーカーがさ、僕らのことよく知ってるからって、丁寧に店のドアを開けてくれるようなもんだよ。
逆だよ。わざとバカげててプロっぽくない見た目にすることで、大真面目な大企業が数千ドル払ってホワイトラベル化してくれるんだ。これって、ソフトウェアの自由を守りつつ、頑張ってる開発者のためのお金を稼ぐ、最高の解決策じゃん。
ボット対策システムがボットにとって計算が大変だっていうのは大胆な思い込みだね。AI企業は金持ちだから、電気代やCPUなんて屁でもないんだ。Anubisみたいなシステムは一度証明しちゃえば、サイト全体をスクレイピングし放題。買い物カートの25セント玉と一緒で、金持ちは痛くも痒くもないけど、一般ユーザーは困るって話さ。
運転免許証でウェブブラウザにログインする日が待ち遠しいね。皮肉だけどさ。
もっとコメントを表示(1)
この記事や他のコメントはAnubisの肝を理解してないよ。Anubisの目的は、クローラーが大量にIDをバラ撒いて並行でアクセスするのを防ぐことなんだ。JavaScriptとCookieがあればサーバーはレート制限できるし、CookieがなくてもJavaScriptがあれば各アクセスは高コストになる。JavaScriptなしじゃアクセス不可。要はサーバーを過負荷にしないためさ。
うん、そうだね。この対策システムが“難攻不落の壁”だと思ってるコメントが多いけど、それは違う。Webサイトがクローラーを完全にシャットアウトしたいなんて誰も言ってないんだ。クローラーはWebに不可欠だし。なんで全部止めようって話になるんだろ?“難攻不落の壁”なんて悪い設計だよ。
俺もそう思うけど、広告の仕方が問題だよ。“あなたはボットじゃないですか?”なんて言うから、AIスクレイパーを完璧にブロックする“難攻不落の壁”だって期待しちゃうんだ。訓練データから排除できるって信じてる人もいるからね。だから“AnubisをAIスクレイパーが突破した!”なんて文句が出るんだよ。これじゃ勝てっこない。もし“サーバーが混雑してるから5秒待って!”って言えば、みんなの期待ももっと現実的になるはずさ。
そうだね、クローラーを邪魔するものが全てのクローラーを止めるもの、って考えるのは自然なことだよ。俺はこういうソフトウェアがめちゃくちゃ敵対的だと思うね。ウェブサイトが俺を歓迎してないって言ってるみたいだ。Anubisで唯一いいのは、他のシステムみたいに“ゲームをプレイ”させないことだね。ロボットとしては、そのぶっきらぼうさが逆にありがたいよ。(関係ない話でごめん、疲れてるんだ)
JavaScriptは必ずしも必要じゃないよ。Anubisが使われてるか検知して、チャレンジをクリアできる何かがあればいいんだ。
そうだね、でもそれは何も変わらないよ。結局は大量のハッシュ計算にエネルギーを使う必要があるからね。
でもそのチャレンジ自体をレート制限できるだろう?AnubisのPoW Cookieを並列で生成するシステムを、クローリングとは別に作れば動くかもしれないけど、JavaScriptでブラウザを動かすのに比べたら、かなりの重労働だよ。
クローラーは好きなだけ並行して動かせるけど、それぞれ開始するのにコストがかかるし、レート制限以下に抑える必要がある、って説明はいいね。Anubisの開発者たちが説明してたのより、サイトがボットに荒らされるのをどう防ぐのかがずっと分かりやすいよ。
レート制限がちゃんと効くなら、それはいい指摘だね。
まあそうかもしれないけど、1サイトで同時に何回クロールするの?100回くらいかな?それでも週に数時間あれば、全部のサイトに使うキーを十分に集められちゃうよ。
僕はスクレイパー開発者なんだけど、Anubisは昔なら通用したかもね。今じゃほとんどのスクレイパーはヘッドレスブラウザで動いてて、コストもかからない。LLMボットもそうだと思うよ。
カスタムのアンチボット、例えば“マウスを3回クリック”みたいなのが、大規模スクレイパーには一番効果的だね。筆者はすぐ解決したけど、Perplexityみたいな会社だと、個別のカスタム対応はすごく大変で、割に合わないんだ。Cloudflareみたいな一般的なのは回避できるけど、カスタムな中国サイトとかは難しい。低価値なターゲットになるのが一番の対策だよ。
大規模クローラーに対抗する最善策は、カスタムのアンチボットだって指摘はすごく正しいよね。Microsoftのスライドパズルとか、一番近いものを選ぶみたいなシステムもそうじゃない?
あと、モバイルなら、スマホを平らに置いて1秒間振る、みたいなのも面白いかも。データセンターのボットがスマホのフリをするのは大変だろうからね。
Cloudflareってどうやって回避するの?個人的にちょっとスクレイピングしてるんだけど、全然うまくいかないんだ。複数のVPN使ってIPをランダムにするのかな?
いつもは、スマホで“I am not a robot box”ってポチポチしてるだけだよ。
オープンソースでCloudflareを回避するのは結構大変だよ。バレない自動化ブラウザ、ブラウザのフィンガープリント偽装(Linuxは不利)、レジデンシャルやモバイルプロキシ、隠れたデプロイ環境、リアルなスクレイピングパターンとかが必要だね。
大規模は無理だけど、小規模ならnodriverやFlaresolverとかでいける。でも、月15ドルくらい払ってウェブスクレイピングAPI使うのが楽だよ。予算がなければ、無料の1,000クレジットくれるサービスを複数使うのも手だね。どれもだいたい同じように機能するから。
月に1回、1000未満のURLを自宅PCと回線で取得してるんだ。Puppeteer(ヘッドレスChromium)を使ってたけど、内蔵じゃなくて自分の普通のブラウザインスタンスを使ってみるよ。アドバイスありがとう!
普通はレジデンシャルIPとかプロキシを使って回避するんだと思うんだけど、どう?
自宅のネットで動かしてるのに、まだトリガーされちゃうんだ。ページロード間に2秒遅延を入れてもダメだよ。
もしそれが本当なら…ごめん、言いたくないんだけど、君はやっぱりロボットみたいだね。
ブラウザにはCamoufox、CAPTCHA解決には“playwright-captcha”を使ってるよ。完全に信頼できるわけじゃないけど、ちゃんと動くんだ。
Flaresolverrを使えば突破できるみたいだよ。
皮肉なことに、Cloudflare Warpを動かせばいいんだって。
でもこれ、価値が低いサイト(ほとんどそうだけどね)でしか通用しない方法なんだよね。
要は、複雑にしてボットをブロックしてるってことだね。
結局、ユーザーに手間をかけさせずにボットを止めるのが目標なんだよね。アカウントとかモデレーションはボットには効くけど、人間にとっては面倒になっちゃうし。
他の選択肢はProof of Workだね。JavaScriptを使って、クライアント側に重い計算をさせるんだ。個々のユーザーには大したことないけど、大規模になるとボットにはきつい。完璧じゃないけど、使えるかも。
ボット開発者にモグラたたきをさせるのは面白いアイデアだね。でも、カスタムパズル一つ一つを検証しなきゃいけないのが大変そう。
筆者はすぐ解決できたけど、PerplexityみたいなAIだと、カスタム実装ごとに何時間もエンジニアリングとメンテナンスに費やすのは割に合わないって話だよね。でも実際は、シンプルなモデルのAIエージェントでも、これくらいは簡単に解けちゃうんだよ。
LLMを使えば、カスタムの解決策を大量に作れるんだ。だから、ユーザーごとに違うCAPTCHAを出せるようになるよ。
スクレイパーをブロックするのにかける費用は、ブロックせずに通すよりも高くなりそうだな。
これだとCloudflareやTollbitみたいなボットブロックSaaSが魅力的に見えるかもな。コストを多くのクライアントで分担できるし。
もっとコメントを表示(2)
認証システムはボット対策にならないし、簡単に自動化できるんだ。アクセスが面倒になるだけ。User Agentから”Mozilla”を消すだけでAnubisのチャレンジは出ないから、俺はブラウザ拡張機能でUAヘッダを上書きしてるよ。JSやCookieを無効にしてるサイトもあるし、電力消費も嫌だしな。
User Agentヘッダをいじると、すぐに個人が特定されやすくなるのが残念だな。ブラウザフィンガープリンティングはユニークなヘッダを持つ人に効果的だ。iPhoneでSafariをそのまま使う人は何百万人もいるけど、UAヘッダをいじると、そのフィンガープリントは世界で唯一になる可能性が高いよ。
「AnubisはAI擁護者からのひどい解決策だ」って意見もあるけど、プロジェクトの説明では「AIクローラーを止めるプロジェクト」って書いてあるぞ?「入ってくるHTTPリクエストの魂を計量してAIクローラーを止める」ってな。
AIクローラーを止めたい会社が、なんでAIカンファレンスでLLMやDiffusion Modelsについて話したりするんだ?GitHubユーザーに偽善だと指摘されるまで、最初のAnubisマスコットにAIアートを使ったり、ブログ記事にStable Diffusionアートを使ったりしてたのはどうしてだよ?
User Agentヘッダの”Mozilla”を消すんじゃなくて、別のよく知られたUA文字列を選ぶのが意図じゃないかな。
ヘッダが毎回新しければ、誰が誰だか特定するのはかなり難しいぞ。
AIアートには賛否あるが、Anubisの背景を話そう。彼らはAmazonのAI部門からのスクレイピング対策としてAnubisを開発したんだ。Proof of Workのアイデアで、AI研究者だからAI画像を使ったんだろうが、今は変更されている。無料プロジェクトに文句言うなよ。AIスクレイパーを批判しつつ、無料で対策を提供されたら文句言うのはおかしい。考え方が合わないならフォークすればいい。彼ら自身も偽善を感じつつ、AI業界から抜け出すには寄付が必要なのかもな。
誰かがインターネットでの行動を特定しようとしてるなら、User-Agent文字列なんて一番小さな問題だぜ。
”User-Agentから“Mozilla”を消せばAnubisにチャレンジされないぞ”って言ってたけど、それって他の多くのものを壊さない?みんなのUser-Agent文字列は今じゃ標準的な偽情報でいっぱいだと思ってたんだけど。
俺のエクステンションで使ってる文字列は“anubis is crap”だぜ。これ、/g/スレッドでAnubisについて話してた別のFFエクステンションからパクったんだ。他人のエクステンションは危ないから使わないけど、User-Agentの統計目的で同じ文字列を使ってみたのさ。
”できるだけエクステンションは使わない”って言ってるのに、4chanの板からのアドバイスは信じるんだね。ちょっと皮肉だな。
他のみんなが設定するなら、俺も自分のを“null”にするぜ…
なんでだよ?彼はいい点を指摘してるのに、今じゃ二つのレスが偽善に対処する代わりに感情的な訴えをしようとしてるぜ。2025年だけど、このコミュニティにはもうちょっと期待してたんだが。
何が言いたいのかよくわからんけど、まさにこれがウェブの99%で今起きてることだぜ。提供は:広告
”AI擁護者からのひどい解決策、たぶんバイブコードだろ”ってのが感情的な訴えじゃないって言ってるのか?それとも、感情的な訴えに感情的な批判で返すのはフェアじゃないって思ってるのか?
2025年には、ほとんどのウェブがUser-Agent文字列のチェックから移行してると思うぜ。銀行はまだやってるかもしれないけど、Anubisは使ってないだろうな。
君の拡張機能に興味があるんだ。ページのテキストエンコーディングを日本語に強制するようなこともできるのかな?
文字列の“null”って、まさか本当にnullのこと? 最近UAなしのbotトラフィックがめちゃくちゃ多くて、とにかくブロックしてるよ。ほとんどが(Microsoft Cloudの)Azureスクリプト攻撃なんだ。
そんなことはないと思うよ。サーバーはUser Agentによって表示内容を変えるから、ほとんどのブラウザはみんなMozilla/5.0…で始まるんだ。
>無料のプロジェクトや労働に文句を言うな、だって?
それは違うんだよ。問題はこのツールが目的と合ってないし、採用したプロジェクトには不適切だってことなんだ。プルーフ・オブ・ワークなんてバカげてる。記事にもある通り、悪意のある連中は簡単にトークンを稼いで突破できるのに、真面目なユーザーの時間は無駄にするだけだ。作者は阻止したいことと逆のことを、わざとそう見えるように作ったんじゃないかとすら思えるよ。
(なぜ僕がそうするかって? ほとんどのサイトでJSを有効にしないからチャレンジは通らないんだ。JSを有効にするようなセルフホストのGitLabインスタンスでは、Moneroとかを採掘されるのと同じくらい、電気を使われることに同意しないんだよ。)
もしサイトが“スティッキー”なら、バックグラウンドでMoneroとかを採掘できるのかな?
ブラウザに「このサイトはバックグラウンドであなたのPCをめっちゃ使ってるよ。止めたい?」って警告が必要だね。
ブラウザに警告が必要だって?
Safariって、なんかもう「このタブはかなりの電力を使ってるよ」みたいなメッセージを出してなかったっけ?あのメッセージは見たことあるんだけど、どうやったら再現できるのかよく分からないんだ。
ああいう異常を特定するためのモデルをトレーニングするのは、すごく簡単だよ。
うん、これは確かに公平な批判だね。さっき他のコメントでも言ったんだけど、Anubisが本当に言ってるような役に立ってるのか、もっと議論する必要がある。君の意見は良い点をついてるよ。AIスクレイパーによるDDos攻撃を効果的に防ぐっていう同じ結果を得るために、Anubisが今やってることの代わりに、何をすべきだと思う?
>AIアートに関する僕の考えは奥が深くて、また別の日に議論する価値がある
アンチAIクローラーにAIが使われてるっていう議論なら、それを無視するのは良くないと思うね。それに3C’sに従ってない限り、“編集済み”のアートを商用製品で使うのは、フェアユースの場合を除いて無理なんだよ。
>無料のプロジェクトや労働に文句を言うな、だって?
うん、こういう主張は、きっとすごく微妙で奥深い考えを持った人から来てるんだろうね。”無料”って言葉は、企業が参入に必要なのはそれだけだって気づいたときから、あっという間にインターネットをダメにしたんだ。彼らは舞台裏で、あるいは市場を独占してから収益化できるからね。
curl、wget、lynx、それにelinksは全部、デフォルトではそうしないよ(確認済みだ)。主要なウェブブラウザはきっと全部そうするだろうし、これからもずっとそうだろうね。