世界を動かす技術を、日本語で。

HNに投稿したら、私のウェブサイトがAIボットのトラフィックで溢れた

2026年10月14日原文(sammystraus.com)

概要

  • HN投稿後、自作サイトがAI BOTトラフィックで溢れた体験記
  • LLMを活用したEmacsウェブブラウザの近代化手法
  • 技術進化にも関わらず生活が悪化した理由の考察
  • Clojure用クラス・インターフェースシステム「Deft v0.2.0」の紹介
  • LLM利用の適切な範囲についての疑問提起

HNに投稿したらAI BOTトラフィックで自分のサイトが溢れた話

  • 数年間かけて開発した sprinklz.io というカスタマイズ可能なフィードリーダーの紹介
  • Hacker News (HN) に投稿後、数百のアップボート獲得
  • 投稿直後からサイトが 極端に遅くなる現象 が発生
  • 通常ユーザー数に対して サーバ負荷が異常に高い ことに気づく
  • エンドポイントごとのリクエスト数をログに記録した結果、 大半がニュース記事取得を伴わないアクセス
  • サイトは SPA (Single Page Application) で設計、JavaScript未実行のリクエストが多発
  • NGINXログ を調査し、特定ユーザーからの大量アクセスを発見
    • このユーザーはサイトの変更を検知しAIニュースレターを生成するサービス
    • 1分間に何度もサイトへアクセス、即時ブロック対応
  • 他にも Claude bot、OpenAI bot、Googleのクローラー 等、複数のAI・検索エンジンクローラーを検出
  • 一部は 脆弱性スキャナー による不審なパスへのアクセスも記録
  • robots.txt でAI系クローラーのアクセス制御と、Google bot等の許可設定
  • レートリミット 等の追加対策でサーバ強化
  • 最大の学びは 高負荷に耐えられる高速なWebサイト 構築の重要性
  • インフラ改善により、今後は全ユーザーで パフォーマンス向上 を実現予定
  • sprinklz.io は無料公開中で、任意のトピックフィルタやカスタマイズも可能

LLMsでEmacsウェブブラウザを再び偉大にする

  • Emacsに ウェブブラウザ機能 があることを知らない人が多い現状
  • Emacs Web Browser(eww)は テキストベース で、HTMLのみのシンプルなサイトに適応
  • 現代のウェブ はビジュアルやJavaScriptが多用され、ewwでは対応困難
  • 解決策は 現代的なウェブページをシンプルなHTMLに変換 し、ewwで表示すること
  • LLM を活用し、ウェブページの内容をテキスト中心に変換するプログラムを自動生成
  • 変換プロセス:
    • Firefoxでページを開き、JavaScriptを実行
    • LLMにページ内容を 簡素化するプログラム生成 を依頼
    • 生成されたJavaScriptをFirefoxに注入
    • 新しいページソースをewwに転送
  • 実際の利用例として、 Clojureのドキュメント 表示のビフォーアフターを紹介
  • 初回のみ変換プログラム生成に時間がかかる が、以後は高速動作
  • ソースコードは https://github.com/sstraust/simpleweb で公開、無料利用可能

技術が進歩したのに生活が悪化した理由

  • 技術進歩で 生産性は向上 したが、 個人の幸福度や集中力は低下
  • ニューラルネット などの技術で、注意力や時間が搾取されやすくなった現実
  • 2018年頃から、 無意識のネット依存 や時間浪費が顕著に
  • コンピュータやウェブサービスが ユーザーの滞在時間を最大化する設計 へシフト
  • ソフトウェアエンジニアリングが 趣味・技術志向 から ビジネス・金融志向 に変化した影響
  • 対策案:
    • 自然の中で過ごす(touch grass) ことでデジタルから距離を取る
    • 抗議活動(take to the streets) で社会に働きかける
    • 依存的なサービスから離れる 勇気を持つ
  • 個人ブログや独立系サイト の利用を推奨
  • 編集者注: カスタマイズ可能なニュースリーダー 開発の動機にも言及

Deft v0.2.0

  • Deft 0.2.0 リリースに伴い、Clojure向けクラス・インターフェースシステムの特徴を解説
  • Clojureは getter/setterの冗長性排除 を目指す設計思想
  • Java時代の 冗長な記述 を回避し、 マップライクなデータ操作 を重視
  • 既存のdefprotocol/defrecordやMalli schema併用では 使い勝手に難あり
  • Deft は、 必須キー付きプロトコル をサポートし、getter/setter等を自動生成
  • v0.2.0では 名前空間付きキー の型・プロトコル定義が可能に
    • 例:(defp Positioned :required-keys [::pos - ::Point])
    • (deft Circle [::location/position radius])
  • フィールド存在を前提とした メソッド定義 が容易
    • 例:(defp Gremlin :extends [location/Positioned])
  • ソースコードは https://github.com/sstraust/deft で公開

LLMsはどこまで使うべきか?

  • 「On the Edge」読了後、内容への失望とともに ChatGPTの活用告白 に驚き
  • 著者本人が書いたものの、 実質的な創造性や執筆の主体性 への疑問
  • LLMsの利用範囲や、 どこまでが“自分の作品”と呼べるか という問題提起

Hackerたちの意見

古い投稿にコメントするのは遅すぎるけど、一言だけ言いたいな。現代のウェブで古いスタイルのブラウザがちゃんと動いてるのを見るのは嬉しいよね。

└

:) 使えるEmacsブラウザをずっと夢見てたんだ。

スパムや悪用、攻撃的なスクレイピングが多すぎて、ほとんどのプロパティで以下のものをブロックしなきゃならなかったよ: - AWS - Google Cloud - Azure - Alibaba Cloud - Oracle それに他のいくつかのASNも。単なるスクレイピングならまだしも、実際には本物の悪用が多いんだ(脆弱性を探すためのスパムや、価値のないページを何百万もスクレイピングすることが多い)。これらのクラウドは、自分たちの屋根の下で起きている悪用を何とかしないと。2年前にAlibaba Cloudを禁止したけど、今でも1日に100万回も私のドメインにアクセスしてくる。しかもその間、すべてのルートが4xxエラーになってるのに。最近Appleもスクレイピングを激化させてるけど、幸いにもrobots.txtは尊重してくれてる。リアルなユーザーが仕事のVPNを通じてこれらのクラウドを経由することもあって、イライラするよ。さらに、住宅用IPを使った評判の良くないAIスクレイパーがグローバルなボットネットを利用してスクレイピングしてるから、リアルな人に影響を与えずに検出して禁止するのがますます難しくなってる。* 例えば、漏洩した.envルートや管理パネルのブルートフォース攻撃など。

└

アプリケーションレベルでの禁止は非常に非効率的だね。これらのドメインはネットワーク(IP)レベルで禁止すべきだと思う。これらのドメインやIPからの受信パケットは全部捨てて、存在を確認するような応答は何も返さない方がいいよ。

└

クライアントのサイトでも似たようなことをブロックしなきゃならなかった。検索ページが明らかにエージェントによる検索スパムで攻撃され始めたんだ。サイトに関係ないことを、あらゆるクエリの組み合わせで検索してくる。ユーザーのクエリの中には、個人情報に該当する可能性があるものもあったよ。

└

これらのクラウドは、自分たちの屋根の下で起きている悪用を何とかしないと。広告クリック詐欺や詐欺広告と似ていて、クラウドプロバイダーはお金をもらってるから、どうしてお金を断るんだろうね?

└

これは非常に賢い考えだね!ありがとう。クラウドからのランダムなリクエストを許可する理由はないよね。ただ、彼らは住宅用プロキシのボットネットを使うかもしれないけど。未来は静的リソースで、動的アプリは認証できる人だけに提供されるべきだと思う。それでも、少なくとも1年間アカウントを持っていたTelegramユーザーのような祖父母アカウントを推奨したいね。

└

ユーザーが貢献する便利なリストってある?

└

メタが数ヶ月前に俺のサイトで完全に狂ったんだ。

└

2年前にAlibabaのクラウドを禁止したけど、今でも俺のドメインに1日100万回アクセスしてくる。どのルートもその間4xxエラー出してるのに。適応しないなら、パケットを黙ってドロップしちゃった方がいいよ。

└

漏洩した.envルートや、管理パネルのブルートフォース攻撃など そういうのはエージェントベースの悪用スキャナーが登場するずっと前から非常に一般的だったよ。ボリュームは増減してたけど、決して消えなかった。ただ、今は誰でもスクリプトキディとそのノミにかまれた犬がAIにやらせることができるから、脆弱性を探すスキャンが頻繁になったね。

└

ボットやスパイダーは、俺が恨みを持つよりも古いURLにしがみついてる。うちはSSRを使って、JavaScriptリスナーでインタラクティブな更新をしてたんだけど、担当チームがnofollowを追加しなかったんだ。そもそも、いくつかのボットはそれを無視するし。うちのクラスターのかなりの割合が、そのリクエストに応じてたんだよ。でも、あるデプロイで誰かがそのリンクをめちゃくちゃに壊しちゃって、すぐに4xxエラーの統計に現れたから、1週間以内に変更を元に戻した。3年後も、その壊れたURLが送信され続けてた。で、nofollowの修正が実装されて完了したって言われたけど、そのフラグは永続化されなかった。チーム間の会話で誰かがそれを知ったとき、俺たちはかなりムカついたよ。すでに「良い」ボットと「悪い」ボットを見分けて、追い払ってたから、これが友達から来てるとは思わなかった。そこで気づいたのは、検索エンジンとクラウドサービスを持つ会社は保護のための詐欺だってこと。Google Cloudは、Googleのボットに話しかけるためにサーバーを売ってるんだ。

Hacker Newsで議論の続きを見る