
2026/08/30 2:49
おどろおどろしい虫たち
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Linux カーネルの公式サイトは、AI モデルの学習に使用する自動スクレーパーから多大な負荷をかけています。これらのボットはプロキシ SDK を利用し、数百万件の住宅 IP やモバイル IP を悪用しています。これらのボットは日間のトラフィックのおよそ 33% を消費し、利用可能な CPU コアを約半数(5 つの地理的に分散されたノードを通じて 90 のコアのうち 14〜16 コア)に占有しており、主にレポジトリをクローンするのではなく git コミットを HTML としてレンダリングすることによってこれを行っています。この手法はプロジェクトの著者が「スクレーパーがデータを使用する最も愚かな方法」と呼んでいます。Anubis がアクセス前に SHA256 パズルを要求しているにもかかわらず、ボットが低い難易度を解いた後に難易度がレベル 4 から 5 に引き上げられましたが、これはモバイルユーザーにとってデバイスを温めるという点で依然として不満を生み出しており、人間の行動を模倣する高度な戦術を完全に阻止していません。推定される正当な人間によるトラフィックはわずか約 2% です。スクレーパーは Linux カーネルの履歴が LLM の学習データの豊富な源泉であるためこれを標的としています。また、浅いクローンを使用している脆弱な CI システムは、さらなる即時的過負荷リスクをもたらします。緩和策としては特定の機能を無効化し、匿名ユーザーのアクションをゲートリングするなどの措置が講じられていますが、すべてのデータは引き続きダウンロード可能です。簡単な解決策はありません:新しい AI モデル企業は引き続き無料の学習データを求めており、アプリ開発者は家庭用デバイスを攻撃ベクトルに変え続けており、その結果、サイトはスクレーパーによる負荷から「背景放射線」のような状態に常時置かれています。
本文
公開ソースコードへの過剰な AI クローリング問題:現状と対策
背景:AI クローラーの影響拡大
これまで繰り返し報告してきた「AI クローラー」の影響力は、もはや定説から事実へと変わりました。その影響は以下の点で深刻です。
- システム負荷への負担
- システムに対して一定の「背景放射線」としての負荷を生み出しています。
- リソースの永続的占有
- 学習モデル用のデータ供給以外の用途(単一目的ではない)として、一部のリソースを常時消費し続けています。
CPU リソースの使用状況:非効率なレンダリング
スクレイパー向けのコミットレンダリングに消費する CPU サイクル数は、正当なアクセス形式(git クローンなど)の総量に比べて極めて少ないにもかかわらず、以下のような構造的な問題があります。
- CPU コアの浪費
- 地理的に分散した 5 つのノードにおいて、HTML としてコミットをレンダリングするだけで機能する CPU コアが14 コア存在しています。
- 比較対象の非対称性
- スクレイパー向けのコスト vs 正当なアクセス(git clone など)の総コストで比較すると、後者がはるかに多い状況です。
なぜ git.kernel.org
はスクレイパーに「魅力的」か
git.kernel.orgLinux カーネル開発の公開リポジトリは、大規模言語モデル(LLM)にとって理想的な学習データ源となっています。
- 高品質なデータの宝庫
- 即座に入手可能でフィルタリングが容易。
- AI 汚染されていない純粋なコンテンツを提供できる(LLM が生成したデータを再学習させる「デジタルプリオン病」を回避)。
- 完全な履歴の価値
- LKML など、すべての git リポジトリおよびそのフォークはクローン可能です。
- 「リポジトリをクローンしてください」という提案自体が、アーカイブとしての価値を示しています。
スクレイパーの非効率なアプローチ:最も愚かな行動
スクレイパーは、データ利用の最適解である「クローン」ではなく、以下のような非効率的かつ過剰なアプローチを取っています。
- 処理手順の無駄
- リポジトリをクローンする(完了)。
- すべてのコミットを一つずつHTML としてレンダリング。
- レンダリングされた HTML をパースしてデータ抽出を行う。
- 膨大な URL の生成
- linux.git の単一フォークだけで、生成される有効な URL は12 億を超えます。
- 922 つのフォークに対して、約 148 万の同一コミットのデータを数十億回重複して取得しています。
- 技術的な経緯
- cgit が提供するパッチや差分などの情報は、かつては有効でしたが、現在はスケーラビリティの問題を抱えています。
防御策の変遷:なぜブロックが困難なのか
初期段階から現在までの対策とその限界について解説します。
1. ログ精査と IP 封鎖(失敗)
- 当初の試み:ボット特有の User-Agent を検知し、
で封鎖。fail2ban - 劣化プロセス:
- ボットがランダムなブラウザ装飾を始める。
- IP アドレスによる封鎖へ移行(Windows/Chrome ユーザー装束)。
- サブネット全体の封鎖へ拡大(Google Compute/IP 等の装束)。
- 限界:
- 最終的にボットは住宅用またはモバイル IP から、最新のブラウザを装着して攻撃。
- リクエスト数 4〜5 回でログから消え、意味のあるブロックルールを作成できず、ファイアウォールを肥大化させるだけでした。
2. CAPTCHA の導入と進化(Anubis)
- 実装:IP アドレスと秘密鍵を組み合わせた SHA256 サム計算などのタスクを実行させるよう要求(Anubis)。
- 条件例:先行ゼロ 4 つを持つ SHA256文字列の生成。
- 効果と変化:
- Difficulty 4でボットが諦め、容易なターゲットへ移動。
- Difficulty 5へ上げると、正当なユーザー(モバイル機器)でも数秒かかり端末が熱くなるなどの不満が生まれたが、数ヶ月間の和平をもたらす。
- ボットが再び Difficulty 5 を突破したことで、状況は悪化。
現状分析:トラフィックと負荷
現在の
git.kernel.org の稼働状態は以下の通りです。
- トラフィック量
- 約600 万件の Daily リクエストを受け入れ中。
- フィルタリング効率
- 66%:Anubis チャレンジで即座に弾かれる(ボット)。
- 33%:計算問題(数学課題)を解いてサイトへ到達する(一部は正当なユーザー、一部はボット)。
- 古さのフォーク内の古いコミットを要求する場合のみが、開発者の本業である可能性が高いですが、全体的には2% 程度しか正当なリクエストではないとの楽観的見積もりです。
- 資源使用率のグラフ
- スクレイパー向けレンダリングに常時費やすコア:14〜16 コア。
- 総容量(90 コア)の約**20%**を常に消費。
- ボット攻撃は波のように襲来するため、平準化されたグラフではなく急激なスパイクが発生します。
今後の対策と見通し:不透明な状況
単純な解決策はなく、以下の要因が重なります。
- AI バブルの崩壊か進化か
- 訓練データを渇望する新規「AI」モデル会社が每日登場。
- アプリ開発者による攻撃ベクトル(家庭用家電など)の変化も続いています。
- 現在の制限措置
- クローラビルの URL 数を削減し、高コストなアクションへのアクセスを制限中。
- 匿名でのリソース利用時に追加機能的な制限を導入予定。
- データ提供の継続性
- データは引き続きダウンロード可能と保証されますが、それを得るためのハードルが上がる可能性があります。
ごめんね。(義務的なカナダ風の発言です。)