PaPoo
cover
technews
Author
technews
世界の技術ニュースをリアルタイムでキャッチし、日本語でわかりやすく発信。AI・半導体・スタートアップから規制動向まで、グローバルテックシーンの「今」をお届けします。

Linuxの公開基盤がAIクローラーで消耗している話

Linuxの開発基盤を運営する Konstantin Ryabitsev が、AIクローラーによる負荷の実態をかなり具体的に語っています。単なる愚痴ではなく、どれだけCPUを食われているのか、どんな対策をして、なぜそれでも追いつかないのかが数字付きで示されているのが重いところです。しかも問題は「アクセスが多い」では済まず、公開されているはずの技術情報が、学習用データを集める側の都合で無駄に消費されている点にあります。今この話を読む意味は、AI時代の“便利な公開”がそのまま“採取し放題”になっている現実が、かなりはっきり見えるからです。

git.kernel.org を食い尽くすクローラーの正体

元記事でまず示されるのは、git.kernel.org に来る “AI crawlers” の負荷が、もはや軽い迷惑ではなく、継続的なシステム負荷になっているという事実です。著者によれば、今は「スクレイパーのために commit を HTML にレンダリングする CPU サイクル」のほうが、git clone を含む他の正当なアクセスより多く使われています。5つの地理的に分散したノード全体では、常時14コアが commit の HTML 化だけに張り付いているそうです。

なぜそこまで狙われるのか。Linux 開発の履歴は公開されていて、git リポジトリもアーカイブも誰でも clone できます。つまり、LLM の学習データとしてはかなり都合がいい。しかも、著者はここで、AI を名乗るものにとっては「AI 以前に作られた、きれいなデータ」が価値を持つと皮肉を込めて書いています。学習済みモデルが自分の出力を再学習するのは、デジタルなプリオン病みたいなものだとも述べています。

問題は、クローラーがもっとも効率的な方法を選ばず、HTML を1件ずつたどって解析するという、最も非効率なやり方をしていることです。linux.git は執筆時点で約148万 commit、さらに git.kernel.org には約922個の fork があり、見かけ上は何十億もの URL が作れます。同じ commit が大量に重複しているのに、スクレイパーはそれを片っ端から取りに来る。patch や plain render、任意の commit 間の diff まで辿れるため、URL の総数はさらに膨れ上がります。

最初は IP ごとに遮断し、次に ASN ごとに止めようとしたそうです。しかし相手はすぐに適応し、今度は住宅回線やモバイル回線に分散した多数の IP から来るようになりました。1つの IP は4〜5リクエストだけ送って二度と現れない。バンしても意味が薄いので、むしろ firewall のルールだけが膨らむ。著者の表現では、イナゴの群れのように押し寄せ、落ち着いた頃にまた戻ってくる、という状況です。

そこで導入されたのが Anubis です。これはアクセス前に計算問題を解かせ、無駄に CPU を使わせる仕組みで、最初はかなり効きました。難易度4の課題をクローラーは嫌がって諦め、しばらく平穏が戻った。ところが数か月後には難易度4を突破され、難易度5に上げると今度は正規ユーザーのスマホが熱くなるほどになった。さらに時間がたつと、その難易度5すら解かれるようになったといいます。

現在の git.kernel.org には、1日約600万件の「ランダムな commit を見せろ」というリクエストが来ていて、そのうち66%は Anubis で弾けているものの、33%は課題を解いて本体まで到達しているそうです。著者は、正規の利用は全体のわずか2%程度ではないかと見積もっています。しかも、実際にサイトを落とすのはスクレイパーより、雑な CI が stable.git を複数ノードから shallow clone するようなアクセスだとも書いています。ただし、それでも 90コア中14〜16コアが常時クローラー向けの commit 描画で塞がれており、全体容量の約20%が消えている。今後は匿名アクセスで使える機能を絞り、crawl されやすい URL を減らす方向に進む予定だとしています。利用者には不便が増えるが、仕方がない、というのが著者の立場です。

「公開しているのに奪われる」構図が、もう戻れないところまで来ている

この文章で一番刺さるのは、技術的な愚痴よりも、公開文化そのものが不利な局面に入っているという感触です。Linux のようなオープンなプロジェクトは、もともと「誰でも見られる」「誰でも clone できる」ことを価値としてきました。ところが、その“開放”が学習データ収集の側にはほとんど無条件の採取許可になってしまっている。著者の言葉を借りれば、Internet が人間向けでも robots.txt を守るクローラー向けでもなくなったので、公開の前提が崩れたわけです。私はここがかなり深刻だと思います。

しかも、相手は律儀にミラーを作るでもなく、最小コストでリポジトリを丸ごと取りに来る。著者が何度も強調しているのは、その非効率さです。Git は本来、履歴を丸ごと clone する仕組みを持っているのだから、まともな収集ならそれで済むはずなのに、HTML をレンダリングしてパースする道を選ぶ。これは単なる技術選択の話ではなく、提供側の計算資源を“無料の下請け”として使う態度に見えます。ここに対して著者が怒っているのは当然だと思います。

一方で、Anubis のような対策が正規ユーザーにも跳ね返るのも重い。計算課題は bots に効くが、人間、特にスマホ利用者には地味に辛い。つまり、守るための仕組みがそのまま利便性の低下になる。公開基盤は「誰でも使える」ことに価値があるのに、攻撃が増えるほど入口が狭くなる。この構図は、GitHub のような大規模サービスだけの話ではなく、独自に archive や search を提供しているあらゆる公開インフラに広がりうると感じます。

住宅回線とモバイル回線に逃げたクローラーが示すもの

著者が面白い、というより厄介だと示しているのは、クローラーがデータセンター系の IP を捨て、住宅回線やモバイル回線へ散った点です。これで従来の IP 単位、ASN 単位の遮断が効きにくくなった。しかも1つの IP が数回アクセスして消えるので、典型的な bot のように“長く居座る”挙動をしない。これは防御側から見ると最悪で、見つけた時にはもう通り過ぎている。私は、ここが今の AI 系トラフィックの本質だと思います。正面突破ではなく、使い捨ての観測点を大量に並べて、検知と遮断を無意味にするやり方です。

ここで著者が「your TV is probably doing it」と書いているのは、家庭内のあらゆる機器がプロキシ SDK によって外部アクセスの踏み台になりうる、という皮肉です。要するに、クローラーはもはや単一の主体ではなく、見た目はバラバラの端末群として現れる。守る側からすると、どれを止めても別の顔で戻ってくる。これは技術的ないたちごっこであると同時に、インターネットの信頼モデルが壊れている話でもあります。

さらに厄介なのは、著者が最後に触れるように、解決策が単純には存在しないことです。AI モデルを売る会社は日々増え、アプリ開発者は収益化のために何でもつないでくる。だから、スクレイピングを減らす努力をしても、需要側の圧力が消えない限り再発する。私はここで、技術的防御だけではなく、公開データの再利用に対する社会的な合意が必要になっているのではないかと思いました。

「全部は開くが、何でも見せるわけではない」への後退

著者は最後に、データは今後もダウンロード提供を続けるが、匿名利用では機能を減らし、アクセスのハードルを上げると明言しています。これは後退に見える一方で、運営を続けるための現実的な判断でもあります。私は、ここを「閉じる話」とだけ読むべきではないと思います。むしろ、開放を維持するにはコストがかかり、そのコストを誰が払うのかが曖昧なままでは、結局いちばん便利な入口から先に壊れていく、という警告に見えます。

この話は Linux コミュニティだけの問題ではありません。公開検索、ドキュメント、アーカイブ、API、ファイル配布、どれも AI 学習の採取対象になりうる。しかも、相手が正面から名乗らず、住宅回線に紛れてくるなら、従来のアクセス制御はどんどん苦しくなる。運営側は「公開しているから」という善意だけでは持たず、見せ方を絞り、コストの高い操作を囲う方向に寄っていくでしょう。私はそれを、インターネットが少しずつ“読み取り専用ではいられない”時代に入った証拠だと見ています。著者の悲鳴は大げさではなく、かなり先を行く現場報告です。


参考: Creepy crawlies

同じ著者の記事